Cobbler介绍
Cobbler是一款自动化操作系统安装的实现,与PXE安装系统的区别就是可以同时部署多个版本的系统,而PXE只能选择一种系统。而如今的架构动辄就是上千台的服务器。而存在一些操作系统不统一的现象,例如最初的架构采用的是CentOS5系列的系统,而新出现了一些技术后,需要新的操作系统的支持,一方面是需要批量部署装机,而另一方面还需要考虑到如果老版本的服务器出现故障后还需要重新去部署。并且提供Web配置页面,可以只需要一些点击就可以完成一些操作。
Cobbler的实现和PXE的方法大同小异,例如都需要安装tftp,dhcp,http等,但是使用yum安装Cobbler的时候,会自动把需要的全部安装上,而不需要去手动一个个的安装。
Cobbler 子命令介绍
cobbler check #检查cobbler配置
cobbler sync #步配置到dhcp pxe和数据目录
cobbler list #列出所有的cobbler元素
cobbler import #导入安装的系统光盘镜像
cobbler report #列出各元素的详细信息
cobbler distro #查看导入的发行版系统信息
cobbler profile #查看配置信息
cobbler system #查看添加的系统信息
cobbler reposync #同步yum仓库到本地
以下将实现Centos6 和Centos7的安装
(1)Cobbler的安装
yum -y install cobbler cobbler-web pykickstart debmirrorhttpd syslinux dhcp tftp-server
(2)更改settings配置文件
vi /etc/cobbler/settings next_server: dhcp服务器地址,本机地址 server: cobbler服务器地址,本机地址 manage_dhcp: 1 #0自己管理,1 Cobbler管理,自己选择,不同的选择要对dhcp做不同的配置,下面会讲解 manage_rsync: 1 manage_tftpd:1
(3)启用dhcp、tftp、rsync、httpd
httpd
service httpd start
rsync、tftp
vim /etc/xinetd.d/tftp
修改disable yes => disable no
vim /etc/xinetd.d/rsync
修改disable yes => disable no
service xined start
dhcp
dhcp的使用有两种方法,一是自行管理,自己编写配置文件,网段要和现有的一致
vim /etc/dhcp/dhcpd.conf subnet 192.168.61.0 netmask 255.255.255.0 { option routers 192.168.61.2; option domain-name-servers 192.168.61.2; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.61.221 192.168.61.225; #dhcp分配的网络地址 filename "/pxelinux.0"; #启动文件 default-lease-time 21600; max-lease-time 43200; next-server 192.168.61.160; #tftp服务器地址,本机 }
二是由cobbler来管理,它会使用/etc/cobbler/dhcp.template来配置dhcp,所以直接修改这个文件即可
vim /etc/cobbler/dhcp.template subnet 192.168.61.0 netmask 255.255.255.0 { option routers 192.168.61.2; option domain-name-servers 192.168.61.2; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.61.100 192.168.61.254; default-lease-time 21600; max-lease-time 43200; next-server $next_server; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) ="PXEClient"; if option pxe-system-type = 00:02 { filename"ia64/elilo.efi"; } else if option pxe-system-type = 00:06 { filename"grub/grub-x86.efi"; } else if option pxe-system-type = 00:07 { filename"grub/grub-x86_64.efi"; } else { filename"pxelinux.0"; } } }
(4)编辑/etc/debmirror.conf文件,把 dists 和 arches 两行注释掉
(5)如有需要可以修改/etc/cobbler/settings 默认的密码(安装好的系统root密码)
把新密码填到里面default_password_crypted:"xxxxxxxxxxxx"
这样生成新密码 openssl passwd -1 -salt '随机码' '新密码'
openssl passwd -1 -salt `openssl rand -hex4` '123456'
(6)确保iptables是关闭或开放80/443 和25151
(7)启动并检查配置
service cobbler start cobbler check
以上完成后 cobbler sync 同步一下
(8)导入安装镜像文件
#先挂载镜像到某个目录 mount /dev/cdrom /mnt #导入 cobbler import --name=centos6 --path=/mnt cobbler import --name=centos7 --path=/mnt --path=xxx 导入的路径 --name=xxx 导入后的名字 service httpd restart cobbler sync
(导入完成后,会自动在/var/www 下生成一个cobbler目录,下面的ks_mirror目录下会有刚才--name指定名字的目录,光盘的文件都导入这里了,而且自动生成一个yum源。如果打开/etc/httpd/conf.d目录,会发现有一个cobbler.conf,定义了alias /cobbler /var/www/cobbler,可以通过cobbler访问到/var/www/cobbler上。
导入资源后一般都要重启httpd和cobbler sync才能生效)
(9)导入后的检查
cobbler profile list
会发现自动添加了一个以--name命名的profile
cobbler distro list
会发现自动添加了一个以--name命名的distro
cobbler repo list
没有显示,原因不明
(10)添加自定义的profile
cobbler profile add --help
只需关注:
--distro=DISTRO NAME
--kickstart=KICKSTART
--name=NAME 当前对应的profile名字,即要起的profile名字
repo不用指,会自动映射合适的
注意:kickstart文件应该放在/var/lib/cobbler/kickstarts 下,可以手动拷贝合适的文件过去用
例:添加centos6-web profile
cobblerprofile add --name="centos6-web" --distro=centos6-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos6-web-x86_64.cfg
cobbler sync
(当编辑或增加了一个profile同步后会在/var/lib/tftpboot/pxelinux.cfg/default 文件上新添加一个LABEL
例:
LABEL centos6-web-x86_64
kernel /images/centos6.6-x86_64/vmlinux
MENU LABEL centos6-web-x86_64
append initrd=/images/ centos6-web-x86_64/initrd.imgksdevice=bootif text ks=xxxxxxx
)
至此,配置已经全部完成,只要启动要安装系统的电脑,用PXE启动即可看到安装选择界面
使用cobbler_web进行管理
(1)编辑/etc/cobbler/modules.conf 设置认证的方式
[authentication]
module = authn_configfile
看上面的注释,默认authn_configfile 使用的是/etc/cobbler/users.digest文件来认证
users.digest文件的生成:
htdigest /etc/cobbler/users.digest"cobbler title message" cobbler
cobbler title message 是认证提示信息,clbbler为用户名,再输入密码即可
最后cobbler sync
http://192.168.61.160/cobbler_web就可以正常登陆使用了
(2)使用authn_pam的认证方法登陆
a、编辑/etc/cobbler/modules.conf,更改验证方式
[authentication]
module = authn_pam
b、添加用户
useradd cobblerweb
c、修改用户配置文件,把用户添加到cobbler管理组
vim /etc/cobbler/user.conf
[admins]
admin = " cobblerweb "
cobbler = ""
最后重启http、cobbler服务,一定要重启cobbler服务才可以哦
service httpd restart
service cobblerd restart
http://192.168.61.160/cobbler_web就可以正常登陆使用了,图形界面的使用非常方便和简单就不一一介绍了