一、参数说明相关配置参数: 二、总结 一般来说,在RHT/Centos系列版本下,使用Cobbler不会遇到大问题。Cobbler的主要功能是将DHCP和Kickstart的修改集成在一个平台下进行管理。Cobbler的本质是启用了Kickstart配置模板,可以嵌入python代码。 这部分技术,Cobbler称之为:snippets 在RHT/Centos系列中,官方已经提供了很多这样的代码,基本上随便调用,但是在Ubuntu下很蛋疼,必须自己开发。 以下为相关配置路径(默认安装):Cobbler配置主要位置:/var/lib/cobbler/(实际运行配置目录)snippets代码位置:/var/lib/cobbler/snippets/Kickstart模板location:/var/lib/cobbler/kickstarts/安装源镜像位置:/var/www/cobbler/ks_mirror/(链接到apache的release目录,方便安装时通过http下载安装镜像文件kickstartworks)#p# 3.具体使用过程 1)导入安装源 a)准备好安装光盘(ISO) ,暂放在:/www/os/CentOS-6.3-x86_64-bin-DVD1.iso b)挂载ISO mount-oloop/www/os/CentOS-6.3-x86_64-bin-DVD1.iso/mnt/centos63-1 c)将安装源导入Cobbler pass在此链接中,Cobbler会将安装好的镜像ISO复制到源安装镜像目录:/var/www/cobbler/ks_mirror/ 运行命令如下: 科布lerimport--path=/mnt/centos63-1--name=centos6.3--arch=x86_64 参数说明: --name定义安装源的名称 --arch指定安装源是32位还是64位,ia64,目前支持的选项有:x86│x86_64│ia64 注:本安装源的***标志是根据这两个来定义的parameters 本例导入成功后,安装源的***标记为:centos6.3-x86_64。如果重复,系统会提示导入失败如果需要更多的参数自定义,可以使用另外一个命令:cobblerdistro。 相关管理命令: //查看导入源库列表 cobblerdistrolist //查看导入安装源详情 cobblerdistroreport--namecentos6.3-x86_64 2)定义Profile Profile的概念,我理解为配置分组,让一组服务器指定他们都需要安装的服务和配置。 例如:指定磁盘的分区策略、指定要安装的服务、键盘布局、默认语言等,这些操作实际上是通过在Profile中分配不同的kickstart配置文件来实现的。第一次导入时,系统会为安装源指定一个默认的Profile,其中定义了一个KS文件:/var/lib/cobbler/kickstarts/sample.ks,为了满足自定义服务的需要,我们需要定义我们自己的配置文件,并指定您自己的KS文件。当然你也可以自定义多个KS文件。 按照上面的例子,我导入了一个安装源:centos6.3-x86_64,所以我需要定义一个Profile ,操作命令如下: cobblerprofileadd--name=centos6。3-x86_64--distro=centos6.3-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks 如果这个profile已经存在,需要修改: cobblerprofileedit--name=centos6.3-x86_64--distro=centos6.3-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks 参数说明: --nameProfile的名称(也不能重复),本例中我们新定义的Profile叫做:centos6.3-x86_64 --distroProfile关联的安装源ID(可以通过查看cobblerdistrolistTo) --kickstartprofile关联的kickstartprofile(这个文件必须提前准备好)#p# 相关管理命令: //查看profile详情 cobblerprofilereport--namecentos6.3-x86_64 //通过profile找到对应的KS文件 ksfile=$(cobblerprofilereport--namecentos6.3-x86_64|grep-E'^Kickstart'|head-n1|cut-d':'-f2);cat$ksfile; 3)准备自定义kickstart配置文件(ForCentos/RHEL) 注意:这是关键步骤之一 由于需要安装的操作系统发行厂商不同,所以编写要求KS文件也不同。 本文只讨论CentOs/RHEL系列的KS配置 另外:不同的操作系统版本,KS有一定差异,比如CentOS5,和CentOS6是不一样的,切记! 官网文档在这里: CentOS5(网上大多是这个系列):http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-options。html CentOS6(可以看到几个配置案例):https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html 其他KS文件我自己测试也是上传的。可供大家下载: centos6.364-bitKS centos5.864-bitKS 另外Cobbler对RHEL和CentOS的支持非常好,所以很多需要特殊定义的选项都有对应的snippetscripts 建议在snippets目录下勾选后再使用。也许你已经拥有了。否则,请考虑自己开发片段脚本。KS文件中 的调用方法如下:post_install_network_config') 这一行配置调用网络配置相关操作(里面有模板,支持嵌入python代码) 有一个ks文件中的重要配置参数,用于定义系统安装的源文件下载方式: 比如CentOS6的配置文件有这么一行:url--url=http://192.168.100.1/cobbler/ks_mirror/centos6.3 这个其实就是之前导入的安装源包中的各种安装,现在指定访问方式 4)自定义需要安装系统的服务器 注意:服务器网卡必须支持PXE功能 至少有几个自定义:networkconfiguration,Hostname这些 注意:如果不自定义,网卡PXE启动后,会出现一个菜单用于人们选择使用哪种配置(实际上是eProfile的名字) ,每个安装源都有自己默认的KS文件,超过时间后会指定默认的KS文件进行安装 本文主要讨论自动化一键部署,所以必须自定义 这部分操作主要通过cobbler系统实现 操作命令如下: cobbler系统添加--name=WebCache-3.167--mac=00:24:E8:64:24:59--ip-address=192.168.3.167--subnet=255.255.255.0--gateway=192.168.3.1--interface=eth0--static=1--profile=centos6.3-x86_64--dns-name=ywtest-3-167.test.com--hostname=ywtest-3-167.test.com--netboot-enabled=true--name-servers="192.168.3.1202.106.196.115" 上面的命令定义了一个服务器如下:因为这个服务器是用来做web服务的,ip地址是192.168.3.167,这种格式方便记忆 b)网络分配的网卡设备:eth0MAC地址:00:24:E8:64:24:59 注意这是必填项,主要是为了区分不同的配置基于它)分配IP:192.168.3.167子网掩码:255.255.255.0默认网关:192.168.3.1设备名称:eth0分配静态IP d)本机使用的DNS服务IP:192.168.3.1202.106.196.115(配置根据实际情况而定) 支持添加多个DNSIP,以空格分隔 e)SpecifyaProfile:centos6.3-x86_64 这个选项可以自动定义本机安装的系统,安装的服务等。 具体配置可以查看配置文件中实际定义的KS文件获取 f)Specifyhostname:ywtest-3-167.test.com cobbler可以根据这个参数修改CentOS系统主机名配置 g)可以设置cobbler,让安装新服务器后,自动跳过第二次PXE启动(避免重复安装) 但是如果需要强制安装,需要使用这个参数:--netboot-enabled=true 相关操作命令: //查看自定义列表 cobbler系统列表 //查看自定义详情 cobbler系统--nameWebCache-3.167 更多定制技巧: a)多网卡定制 一般默认配置eth0。当然,Cobbler也支持自定义多张网卡 。需要注意的是,这个功能在CentOS/RHEL下是没有问题的。Cobbler可以通过snippets脚本使用这些具体的设置来完成对KS的修改 但是在Ubuntu下没有相同配置对应的snippets脚本(理论上可以自己写),所以只能使用其他的方法实现 的操作命令如下: cobblersystemedit--nameWebCache-3.167--interface=eth0.10--static=1--ip=192.168.10.5--subnet=255.255.255.0 cobblersystemedit--nameWebCache-3.167--interface=eth1--static=1--ip=192.168.20.5--subnet=255.255.255.0 通过上面两句,可以添加别名网卡eth0的配置:eth0:10,以及另一块网卡eth1的配置 b)删除网卡的自定义配置 systemedit--name=WebCache-3.167--interface=eth1--delete-interface c)支持网卡绑定配置 cobblersystemedit--name=WebCache-3.167--interface=eth0--mac=AA:BB:CC:DD:EE:00--interface-type=bond_slave--接口-master=bond0 cobbler系统编辑--name=WebCache-3.167--interface=eth1--mac=AA:BB:CC:DD:EE:01--interface-type=bond_slave--interface-master=bond0 cobbler系统编辑--name=WebCache-3.167--interface=bond0--interface-type=bond--bonding-opts="mode=active-backupmiimon=100"--ip=192.168.3.167--subnet=255.255.255.0--gateway=192.168.3.1--static=1 上面的命令配置了一个bonding,其成员是:eth0,eth1 d)配置Bridge类型的网卡 cobblersystemedit--name=WebCache-3.167--interface=eth2--mac=AA:BB:CC:DD:EE:00--interface-type=bridge_slave--interface-master=br0--static=1 cobbler系统编辑--name=WebCache-3.167--interface=br0--mac=AA:BB:CC:DD:EE:00--interface-type="bridge"--static=1 上面的语句是配置一个Bridge:br0,它的成员是eth2 ,因为我不想给这个网桥配置IP地址,所以需要加上参数:--static=1,否则在实际配置的时候会把Cobbler配置成DHCP模式theBridge 更多攻略,请参考官网WIKI。 也可以参考软件自带的MAN:mancobbler 5)同步上面步骤所做的修改 因为上面的步骤需要修改很多组件(根据cobbler配置文件),可能有: a)Cobbler自己的内部配置 以上链接的配置信息会自动记录 b)Dhcp配置(需要在主配置文件中开启Dhcp功能的管理) 需要注意的是,如果是在Centos5下,会有问题;但是Centos6不会有问题 被Cobbler默认修改为/etc/dhcp/dhcpd.conf,但是Centos5下的配置文件在/etc/ 下所以可能需要修改dhcp系统启动脚本/etc/init.d/dhcpd c)Tftp配置(需要在主配置文件中开启对Tftp功能的管理) 因为有自定义配置,Cobbler会在主配置中生成对应的配置tftp的配置文件夹: 假设:ftft的根目录是/tftpboot/ Cobbler生成的配置文件会放在/tftpboot/pxelinux.cfg/ d下)绑定配置(需要开启主配置文件中DNS功能的管理) 这部分是我测试中配置的没有打开,所以没有测试 估计要修改Bind的主配置文件/etc/named.conf 操作命令如下: cobblersync 6)打开电源,BOOT需要的服务器e自动安装 一般通过PXE接上电源完成自动安装。基本上20-30分钟后,一个安装就可以完成。#p# 4.补遗 1)关于Apache和Cobbler 上篇文章(Cobbler-服务安装)已经说了Apache和Cobbler深度集成 主要是Cobbler是写的在蟒蛇。它使用Apache的wsgi模块来实现http接口 使用这个接口可以做几件事: a提供安装源的http下载 bCobbler的web管理平台,提供图形化操作界面(这部分我没有深入测试过,请自行查看相关文档) //Cobblerweb接口访问地址: http://192.168.100.1/cobbler_web/(192.168.100.1为Apache监控IP地址) c提供接口查询相关配置 例如: //查询个人资料详情 http://192.168.100.1/cblr/svc/op/ks/profile/centos6.3-x86_64 //查询自定义配置的KS文件 http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.167 2)关于wsgi 安装方法:yum-yinstallmod_wsgi 相关配置文件: a)wsgi.conf:允许apache启动wsgi模块 其内容是一行配置命令: LoadModulewsgi_modulemodules/mod_wsgi.so b)mod_wsgi.so模块核心,根据apache组件开发 此文件需要放在apache中模块组件目录 c)cobbler.conf 该配置文件是主要的核心配置 假设默认安装了apache和cobbler 该文件将存在于:/etc/httpd/conf.d/cobbler.conf 3)配置检查 //kickstart配置检查 cobblervalidateks //单个kickstart配置文件检查 /usr/bin/ksvalidator"http://192.168.100.1/cblr/svc/op/ks/profile/centos6.3-x86_64" /usr/bin/ksvalidator"http://192.168.100.1/cblr/svc/op/ks/system/WebCache-3.167" 4)设置并同步特定源 a)添加特定源 cobblerrepoadd--mirror=http://mirrors.ustc.edu.cn/epel/6/x86_64/--name=ustc-epel6-x86_64--arch=x86_64--breed=yum cobblerrepo添加--mirror=http://mirrors.ustc.edu.cn/epel/testing/6/x86_64/--name=ustc-epel6-x86_64-testing--arch=x86_64--breed=yum b)给配置文件指定一个特定的源 cobblerprofileedit--name=centos6.3-x86_64--repos="epel6-x86_64epel6-x86_64-testing" c)需要同步的源epeltoLocally,testyournetworkspeed cobblerreposync cobblerreposync--tries=3--no-fail 6)修改内核启动参数,确保安装启动后不会选择国家.语言、键盘布局小技巧 cobblerprofileedit--name=centos6.3-x86_64--distro=centos6.3-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos6.3-x86_64.ks--kopts="locale=en_USnetcfg/choose_interface=autoconsole-setup/ask_detect=falsekeyboard-configuration/layoutcode=us"
