cobbler部署centos7

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 rsyncd

  • debian安裝用,暫時可以不管;如果需要安裝,下載地址爲:
    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

發佈了88 篇原創文章 · 獲贊 17 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章