Cobbler实现自动化安装操作系统推荐

一、cobbler简介

cobbler是实现自动化安装操作系统的工具。它解决了PXE安装时的弊端(只能实现单一操作系统的安装)。实际上,cobbler是对PXE二次封装可实现多版本,多环境操作系统安装的高级抽象工具。

工作原理大致如下:

实际上,cobbler是对PXE的二次封装。cobbler可以自动的实现PXE配置中的某些手动过程。PXE的工作原理大致如下:

关于PXE具体配置,可参考http://guoting.blog.51cto.com/8886857/1533029

二、cobbler安装配置

说明:

目标主机:172.16.10.9

操作系统:CentOS 6.5

安装、初步配置cobbler

##1、安装cobbler#说明,cobbler的rpm安装包,是由epel源提供yuminstallcobbler-y2、安装并启动httpdyuminstallhttpd-yservicehttpdstart3、启动cobblerd服务servicecobblerdstart4、配置cobbler##使用cobblerchenck命令,可以检查cobbler配置文件是否配置正确##cobblercheck首次会出现以下提示:Thefollowingarepotentialconfigurationitemsthatyoumaywanttofix:1:The'server'fieldin/etc/cobbler/settingsmustbesettosomethingotherthan\localhost,orkickstartingfeatureswillnotwork.Thisshouldbearesolvable\hostnameorIPforthebootserverasreachablebyallmachinesthatwilluseit.2:ForPXEtobefunctional,the'next_server'fieldin/etc/cobbler/settingsmust\besettosomethingotherthan127.0.0.1,andshouldmatchtheIPoftheboot\serveronthePXEnetwork.3:somenetworkboot-loadersaremissingfrom/var/lib/cobbler/loaders,youmayrun\'cobblerget-loaders'todownloadthem,or,ifyouonlywanttohandlex86/x86_64netbooting,youmayensurethatyouhaveinstalleda*recent*versionofthesyslinuxpackageinstalledandcanignorethismessageentirely.Filesinthisdirectory,shouldyouwanttosupportallarchitectures,shouldincludepxelinux.0,menu.c32,elilo.efi,andyaboot.The'cobblerget-loaders'commandistheeasiestwaytoresolvetheserequirements.4:change'disable'to'no'in/etc/xinetd.d/rsync5:debmirrorpackageisnotinstalled,itwillberequiredtomanagedebiandeploymentsandrepositories6:ksvalidatorwasnotfound,installpykickstart7:Thedefaultpasswordusedbythesampletemplatesfornewlyinstalledmachines(default_password_cryptedin/etc/cobbler/settings)isstillsetto'cobbler'andshouldbechanged,try:"opensslpasswd-1-salt'random-phrase-here''your-password-here'"togeneratenewone8:fencingtoolswerenotfound,andarerequiredtousethe(optional)power\managementfeatures.installcmanorfence-agentstousethemRestartcobblerdandthenrun'cobblersync'toapplychanges.##解决办法:1、修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP\地址或主机名,如172.16.10.9;2、修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的\IP地址,如172.16.10.9;3、如果当前节点可以访问互联网,执行“cobblerget-loaders”命令即可;否则,需要\安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,memu.c32}等文件至\/var/lib/cobbler/loaders/目录中;4、执行“chkconfigrsyncon”命令即可;5、注释/etc/debmirror.conf文件中的“@dists="sid";”一行;6、注释/etc/debmirror.conf文件中的“@arches="i386";”一行;7、执行“opensslpasswd-1-salt$(opensslrand-hex4)”生成密码,并用其替换\/etc/cobbler/settings文件中default_password_crypted参数的值;8、执行“yuminstallcmanfence-agents”命令安装相应的程序包即可;##说明5,6,8步骤不是必需的。接着重启cobblerd,而后执行“cobblersync”同步新的配置至cobbler。

结果如下:

下面需要配置dhcp,tftp服务。说明:cobbler的运行依赖于dhcp、tftp、rsync及dns服务。其中dhcp可由dhcpd(isc)提供,也可由dnsmasq提供;tftp可由tftp-server程序包提供,也可由cobbler自带的tftp功能提供;rsync由rsync程序包提供;dns可由bind提供,也可由dnsmasq提供。

cobbler可自行管理这些服务中的部分甚至是全部,但需要配置/etc/cobbler/settings文件中的“manage_dhcp”、“manage_tftpd”、“manage_rsync”和“manage_dns”分别进行定义。另外,由于每种服务都有着不同的实现方式,如若需要进行自定义,需要通过修改/etc/cobbler/modules.conf配置文件中各服务的模块参数的值来实现。

下面采用了独立管理的方式,即不通过cobbler来管理这些服务。(常用方式)

配置DHCP服务

yuminstalldhcp-y#编辑/etc/dhcp/dhcpd.conf配置文件,内容如下:optiondomain-name"example.com";optiondomain-name-servers172.16.0.1;default-lease-time600;max-lease-time7200;log-facilitylocal7;subnet172.16.0.0netmask255.255.0.0{range172.16.10.14172.16.10.99;optionrouters172.16.0.1;next-server172.16.10.9;filename"pxelinux.0";}####################################servicedhcpdstart

配置rsync和tftp服务

yuminstallrsynctftp-server-ychkconfigrsyncon##当然这一步在前面cobblercheck时,已经完成,非必需的chkconfigrsynconservicexintedstart

配置cobbler

配置cobbler时,需要用到cobbler命令,对cobbler命令简单说明:(常用)cobbler命令的子命令:import:从光盘中导入InstallTree。会自动定义到Repository。reposync:从互联网中同步的InstallTree。buildiso:主要用于安装的机器不支持网卡引导,此时就需要制作ISO镜像完成安装。distro:定义Distributionsync:完成配置文件的同步profile:定义Profilecheck:检查cobbler的配置文件其中每个子命令都有[add|edit|copy|getks*|list|remove|rename|report]等子命令。\具体使用可使用帮助信息。例如:cobblerimportadd--help查看帮助。###################################################################################################使cobbler变得可用的第一步为定义distro,其可以通过为其指定外部的安装引导内核及ramdisk\文件的方式实现。而如果已经有完整的系统安装树(如CentOS6的安装镜像)则推荐使用import直接导入的方式进行。cobbler使用profile来为特定的需求类别提供所需要安装配置,即在distro的基础上通过提供\kickstart文件来生成一个特定的系统安装配置。distro的profile可以出现在PXE的引导菜单中作为安装的选择之一。####################################################################################################当然kickstart文件事先完成。具体可参考http://guoting.blog.51cto.com/8886857/1533029cobblerimport--name=centos-6.5-x86_64--path=/media/cdromcobblerprofileadd--name=centos6.5--distro=centos-6.5-x86_64\--kickstart=/root/centos-6.5-x86_64.cfgcobblersync##详细安装过程可参照官网:http://www.cobblerd.org/manuals/quickstart/

结果示例:

此时,配置就完成了,可以实现自动化安装了。

此时就可以实现自动化了。

注意:kickstart文件中的url位置,–url=http://172.16.10.9/cobbler/ks_mirror/centos-6.5-x86_64/指明Repository的位置,不同的系统对于不同的路径。要实现多系统的安装,可以check import不同的操作系统。系统版本的操作系统,也可使用不同的kickstart文件来定义。cobbler的web配置

上面的操作也可以通过web接口来设置,具体步骤如下:

######配置cobbler_web的认证功能###安装软件yuminstallcobbler_web##cobbler_web支持多种认证方式,如authn_configfile、authn_ldap或authn_pam等,\默认为authn_denyall,即拒绝所有用户登录。###这里使用authn_pam模块认证cobbler_web用户##首先修改/etc/cobbler/modules中[authentication]段的module参数的值为authn_pam。##接着添加系统用户,用户名和密码按需设定即可,例如下面的命令所示。useraddcobblerecho'cblrpass'|passwd--stdincobbler#而后将cblradmin用户添加至cobbler_web的admin组中。修改/etc/cobbler/users.conf文件,将cblradmin用户名添加为admin参数的值即可,如下所示。[admins]admin="cobbler"##最后重启cobblerd服务,通过http://YOUR_COBBLERD_IP/cobbler_web访问即可。

下面是配置界面:

具体配置过程,这里不再演示。

附件:http://down.51cto.com/data/2364926

那些无法讲述的悲伤和苍凉,

Cobbler实现自动化安装操作系统推荐

相关文章:

你感兴趣的文章:

标签云: