基於cobbler完成自動批量部署centosnode
一 系統環境
python
node1 :
linux
eth1---10.0.10.1(使用vmnet2網卡)
web
eth0---192.168.3.11
vim
node2:測試節點
centos
網卡設備也使用(使用vmnet2網卡)瀏覽器
yum源:
bash
centos自帶光盤源
服務器
epel源
網絡
二 配置步驟
1.配置dhcp服務
1.在node1節點上配置第二張網卡eth1,並安裝dhcp(若要編譯安裝的話關注:ics.org)
#ifconfig eth1 10.0.10.1/24 up
#yum install dhcp -y
2.配置dhcp配置文件:複製樣例配置文件到/etc/dhcp/dhcpd.conf,並進行配置
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf #vim /etc/dhcp/dhcpd.conf .....除了下述定義的幾項以外的均可以註釋掉............ option domain-name "vega.ict"; #定義搜索域的域名爲mageedu.com option domain-name-servers 192.168.3.1; #定義全局搜索域名的服務器的地址爲192.168.3.1 default-lease-time 43200; #定義默認」租約「期限爲43200s max-lease-time 86400; #定義最大租約期限爲86400s #標記爲其分配地址的網絡爲10.0.10.0網絡 subnet 10.0.10.0 netmask 255.255.255.0 { range 10.0.10.21 10.0.10.50; #指明分配的ip範圍,即地址池 option routers 10.0.10.1 #指明網關地址10.0.10.1 filename "pxelinux.0"; #指明Client基於網絡引導加載的第一個文件,才能引導加載的 }
3.重啓dhcpd服務,確保67號端口處於監聽狀態
#service dhcpd restart # ss -tunl | grep 67 確保iptables規則關閉 #iptables -L -n 查看租約文件的信息 #tail /var/lib/dhcpd/dhcpd.leases
到這裏dhcp服務就配置好了,下面進行第二個步驟:搭建tftp服務器
2.配置安裝好tftp服務器
1.安裝tfp-server 和tftp程序包
# yum install tftp tftp-server -y #rpm -ql tftp-server /etc/xinted.d/tftp #表示tftp是使用超級守護進程xinted.d代爲管理的守護進程 /var/lib/tftpboot #表示tftp服務器爲客戶端提供文件的目錄 ....
2.啓動服務tftp,並查看69號端口是否監聽
#chkconfig tftp on #service xinetd start #ss -tunl | grep 69
3.配置好cobbler
1.安裝cobbler相關包:cobbler cobbler-web pykickstart debmirror httpd syslinux
#yum install cobbler cobbler-web pykickstart debmirror httpd syslinux -y
【注意:手動安裝tftp、dhcp好服務器後,其中dhcp中的配置文件中的filname必需要有,但next server能夠再也不直接啓用了,配置好dhcp服務器(不用配置tftp服務器)】
2. 後啓動httpd,dhcpd,cobblerd服務器
# service httpd start # service cobblerd start
3.更改cobbler的配置文件
#cd /etc/cobbler/ #vim settings ....找到以下一項並更改成: server: 10.0.10.1 #更改成本機提供cobbler服務的地址
4.重啓cobblerd服務
#service cobblerd restart #cobbler check
5.更改cobbler的配置文件
#cd /etc/cobbler #vim settings .....找到next_server 這一項,改成 next_server:10.0.10.1 #vim /etc/xinetd.d/rsync (或#chkconfig rsync on) ...找到disable = yes改成no便可 #service xinetd restart #ss -tnlp | grep xinetd
#vim /etc/debmirror.conf ....註釋掉dists和archs這兩行 #vim settings ....找到default_password_crypted:"#######" (採用#openssl passwd -1 -salt `openssl rand -hex 4`,輸入密碼,並將生成的密碼串替換引號中的#######)
6.完成更改後進行同步
#cobbler sync 發現會生成cobbler文件 #cd /var/lib/tftpboot #ls 列出當前的核心組件 #cobbler list (1.cobbler repo help )
7.掛載好光盤
#umount /dev/sr0 #mount -t iso9660 /dev/sr0 /media
8.導入光盤的文件,指明掛載的路徑,即自動生成了yum源,而後再進行同步,同步完成後重啓cobblerd
獲取導入幫助
#cobbler import --help #cobbler import --path=/media/ --name=centos-6.6_x86_64
若遇到許多bug,如python***什麼之類的
解決方法:# service cobblerd restart ;#cobbler get-loaders
#cd /var/www #ls #cd cobbler/p_w_picpaths/centos-6.6_x86_64 #ls #cd /etc/httpd/conf.d/ #ls ...cobbler.conf cobbler的配置文件 加入成功後必須進行同步 #cobbler sync #cobbler sync #cobbler distro list #cobbler profile list #cobbler repo list #service cobblerd restart
9.添加新的profile(cobbler本身生成的kickstart是在/var/lib/cobbler/kickstarts的sample.ks)
#cobbler profile add --help 準備好特定的kickstart文件:centos6.6-x86_64.cfg,下載好至本地 (我這裏是放在我本身的ftp服務器下面的,而後下載下來便可) #vim centos6.6-x86_64.cfg ...找到以下幾項並修改以下: url --url="http://10.0.10.1/cobbler/ks_mirror/centos6.6-x86_64" #cp centos6.6-x86_64.cfg /var/lib/cobbler/kickstarts/ #cobbler distro list 添加一個新的profile # mv centos6.6-x86_64.cfg centos6.6-x86_64.ks #cobbler profile add --name="centos6.6-x86_64-web" --distro=centos6.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.6-x86_64.ks #cobbler profile list #cobbler sync 每一次同步之後會在/var/lib/tftpboot/pxelinux.cfg/default文件中建立一個LABEL*** 而後新建虛擬機進行網絡安裝便可
10.此時,咱們能夠建立一個虛擬機node2,不安裝操做系統,並將其網卡設備接口改成vmnet2,而後啓動便可完成cobbler的自動化安裝centos系統
11 cobbler-web的使用
#cd /etc/cobbler 使用htdigest爲cobbler用戶生成認證信息 #htdigest /etc/cobbler/users.digest "Cobbler" cobbler 輸入密碼 #cobbler sync #service cobbler restart
在瀏覽器中輸入:10.0.10.1/cobbler-web,登陸便可