自動化運維實踐:Cobbler自動安裝上百臺服務器不是夢
作者:馬幫學員
運維自動化在企業生產環境中越來越重要,當需要批量部署上百臺甚至上千臺服務器時,如果不通過自動化完成,根本不可想象,而Cobbler便可滿足這一需求,批量部署機器。
簡介
Cobbler 是一個免費開源系統安裝部署軟件,用于自動化網絡安裝操作系統;基于Python開發,是對 PXE 的二次封裝,提供了 CLI 和 Web 的管理形式,也提供了API接口,方便二次開發使用。
它不僅可以安裝物理機,同時也支持虛擬化、GuestOS的安裝。另外,Cobbler還能結合 Puppet 等集中化管理軟件,實現自動化管理。
Cobbler各組件關系:
安裝過程:
- 安裝Cobbler:
cobbler由epel源提供,故此需要事先配置指向 epel 的 yum 源;cobbler 會把依賴的服務一并安裝,如 tftp-server、httpd;還需要安裝 dncp、rsync 等。
- [root@node0 ~]# yum install cobbler pykickstart debmirror dhcp rsync cman fence-agents
- [root@node0 ~]# service httpd start
- [root@node0 ~]# chkconfig tftp on
- [root@node0 ~]# chkconfig rsync on
- 配置Cobbler:
- [root@node0 ~]# vim /etc/cobbler/settings
- server: 192.168.1.4
- next_server: 192.168.1.4
- [root@node0 ~]# cobbler get-loaders
- [root@node0 ~]# vim /etc/debmirror.conf
- #@dists="sid";
- #@arches="i386";
- [root@node0 ~]# openssl passwd -1 -salt `openssl rand -hex 4`
- $1$ca6a7d72$KDte4ZK00OCLiK4PLE4tp0
- [root@node0 ~]# vim /etc/cobbler/settings
- default_password_crypted: "$1$ca6a7d72$KDte4ZK00OCLiK4PLE4tp0"
- [root@node0 ~]# service cobblerd start
- [root@node0 ~]# chkconfig cobblerd on
- [root@node0 ~]# cobbler sync
- 配置DHCP:
- [root@node0 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
- [root@node0 ~]# vim /etc/dhcp/dhcpd.conf
- subnet 192.168.1.0 netmask 255.255.255.0 {
- range 192.168.1.1 192.168.1.100;
- option routers 192.168.1.1;
- next-server 192.168.1.4;
- filename "pxelinux.0";
- }
- [root@node0 ~]# service dhcpd start
- [root@node0 ~]# chkconfig dhcpd on
- 添加distro:掛載鏡像,添加到cobbler;
- [root@node0 ~]# mount /mnt/hgfs/lin/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/cdrom/
- [root@node0 ~]# cobbler import --name=CentOS-6.7-x86_64 --path=/mnt/cdrom/ --kickstart=/root/anaconda-ks.cfg
- task started: 2016-03-08_203724_import
- task started (id=Media import, time=Tue Mar 8 20:37:24 2016)
- Found a candidate signature: breed=redhat, version=rhel6
- Found a matching signature: breed=redhat, version=rhel6
- Adding distros from path /var/www/cobbler/ks_mirror/CentOS-6.7-x86_64:
- skipping import, as distro name already exists: CentOS-6.7-x86_64
- No distros imported, bailing out
- !!! TASK FAILED !!!
- 查看當前distro:
root@node0 ~]# cobbler distro list
- CentOS-6.7-x86_64
- 測試安裝:
責任編輯:劉永紅
來源:
馬哥Linux運維