1.基於epel源yum安裝cobbler, 配置epel源可參見
http://blog.csdn.net/celeste7777/article/details/48528161
yum -y install cobbler tftp-server dhcp httpd
2.啓動cobbler並配置,啓動cobbler之前需要啓動httpd,否則會報錯error: [Errno 111] Connection refused
[root@controller ~]# systemctl start httpd
[root@controller ~]# systemctl start cobblerd
3.檢查cobbler配置
按提示解決相關報錯
- vim /etc/cobbler/settings 將server的值要設置爲可以與外部主機通信的值而非localhost
- 啓動PXE功能,vim /etc/cobbler/settings將next_server值設置爲tftp服務器的IP,同上
- 由於cobbler需要面向主機提供各種不同發行版OS的安裝,bootloader各不相同,因此必須爲各個版本提供好bootloader,執行下圖命令
[root@controller ~]# systemctl enable rsyncd
[root@controller ~]# systemctl start rsyncddebian安裝用,暫時可以不管;如果需要安裝,下載地址爲:
http://rpmfind.net/linux/rpm2html/search.php?query=debmirror[root@controller ~]# yum install pykickstart -y
- vim /etc/cobbler/settings將default_password_crypted修改爲下圖隨機生成加密的密碼
- 安裝cam和fance-agents來實現電源管理
[root@controller ~]# yum install cman fence-agents -y
[root@controller ~]# cobbler sync
4.將dhcp和tftp交給cobbler託管,啓動dhcpd和tftp
vim /etc/cobbler/settings將manange_dhcp,manager_tftpd的值設置爲1,本例中manager_rsync,manager_dns的值爲0
[root@controller ~]# cat /etc/dhcp/dhcpd.conf
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.5;
option domain-name-servers 192.168.1.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.100 192.168.1.254;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.1.105;
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";
}
}
group {
}
[root@controller ~]# systemctl start tftp
[root@controller ~]# systemctl start dhcpd
5.定義distro
至此cobbler環境基本配置完成,接下來定義distro,可以通過爲其指定外部的安裝引導內核及ramdisk文件的方式實現,也可以選擇導入安裝樹,本例中將ISO鏡像掛載到當前系統某個目錄,使用import導入,而非使用外部內核和init文件
[root@controller ~]# mount /dev/cdrom /media -r
[root@controller ~]# cobbler import -h
此處使用CentOS-7-x86_64-Minimal-1511.iso,如果鏡像較大,導入會比較耗時
[root@controller ~]# cobbler import --name="centos-7_x86_64" --path=/media
導入完成可查看/var/www/下新增了一個cobbler目錄,通過瀏覽器訪問查看文件輸出
6.製作kickstart文件
每一個profile必須要繼承自Distribution,從而得知如何進行安裝,安裝的版本等。一個profile實現安裝過程需要依賴yum源(在kikstart中配置),由於下載帶寬有限,可以選擇鏡像的方式將其複製在本地。本例中使用root用戶家目錄下的anaconda-ks.cfg(系統安裝過程中自動生成)作爲樣版文件,在此基礎上進行編輯修改
[root@controller ~]# yum install system-config-kickstart
[root@controller ~]# system-config-kickstart
7.定義profile,profile將出現在PXE引導菜單中作爲安裝的選擇之一
[root@controller ~]# cobber profile add -h
[root@controller ~]# cobbler profile add --name=centos7_x86_64_min --distro=centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7_x86.cfg
導入完成後,列出當前系統的profile,其中centos-7-x86_64爲定義distro時自動生成的profile,沒有爲其指定kickstart,因此可以使用以下命令刪除,執行cobbler sync同步所有配置
[root@controller ~]# cobbler profile remove --name=centos-7-x86_64
測試能否引導啓動
參考文章
http://os.51cto.com/art/201405/439670.htm
http://os.51cto.com/art/201008/218652.htm