一 、Cobbler簡介
Cobbler是一個快速網絡安裝linux的服務,而且在經過調整也可以支援網絡安裝windows。該工具使用python開發,小巧輕便(才15k行python代碼),使用簡單的指令即可完成PXE網絡安裝環境的配置,同時還可以管理DHCP、DNS、yum倉庫、構造系統ISO鏡像。
Cobbler支援指令行管理,web界面管理,還提供了API接口,友善二次開發
Cobbler用戶端Koan支援虛拟機安裝和作業系統重新安裝,使重裝系統更便捷。
Cobbler提供的功能
使用Cobbler,您無需進行人工幹預即可安裝機器。Cobbler設定一個PXE引導環境(它還可以使用yaboot支援PowerPC),并控制與安裝相關的所有方面,比如網絡引導服務(DHCP和TFTP)與存儲庫鏡像。當希望安裝一台新機器時,Cobbler可以:
1)使用一個以前定義的模闆來配置DHCP服務(如果啟用了管理DHCP)
2)将一個存儲庫(yum或rsync)建立鏡像或解壓縮一個媒介,以注冊一個新作業系統
3)在DHCP配置檔案中為需要安裝的機器建立一個條目,并使用指定的參數(IP和MAC)
4)在TFTP服務目錄下建立适當的PXE檔案
5)重新啟動DHCP服務以反應更改
6)重新啟動機器以開始安裝(如果電源管理已啟動)
Cobbler支援衆多的發行版:RedHat、Fedora、CentOS、Debian、Ubuntu和SuSE。當添加一個作業系統(通常通過使用ISO檔案)時,Cobbler知道如何解壓縮合适的檔案并調整網絡服務,以正确引導機器。
Cobbler可以使用kickstart模闆。基于Red Hat或Fedora的系統使用kickstart檔案來自動化安裝流程。通過使用模闆,就會擁有基本的kickstart模闆,然後定義如何針對一種配置檔案或機器配置而替換其中的變量。例如,一個模闆可能包含兩個變量$domain和$machine_name.在Cobbler配置中,一個配置檔案指定domain=mydomain.com,并且每台使用該配置檔案的機器在machine_name變量中指定其名稱。該配置檔案的所有機器都使用相同的kickstart安裝且針對domain=mydomain.com進行配置,但每台機器擁有其自己的機器名稱。您仍然可以使用kickstart模闆在不同的域中安裝其他機器并使用不同的機器名稱。
為了協助管理系統,Cobbler可通過fence scripts連接配接到各個電源管理環境。Cobbler支援apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh和wti。要重新安裝一台機器,可運作reboot system foo指令,而且Cobbler會使用必要的 和資訊來為您運作恰當的fence scripts(比如機器插槽數)。
除了這些特性,還可以使用一個配置管理系統(CMS)。你有兩種選擇:該工具内的一個内部系統,或者現成的外部CMS,比如Chef或Puppet。借助内部系統,你可以指定檔案模闆,這些模闆會依據配置參數進行處理(與kickstart模闆的處理方式一樣),然後複制到你指定的位置。如果必須自動将配置檔案部署到特定機器,那麼此功能很有用
使用koan用戶端,Cobbler可從用戶端配置虛拟機并重新安裝系統。
二、Cobbler的設計方式
Cobbler的配置結構基于一組注冊的對象。每個對象表示一個與另一個實體相關聯的實體(該對象指向另一個對象,或者另一個對象指向該對象)。當一個對象指向另一個對象時,它就繼承了被指向對象的資料,并可覆寫或添加更多特定資訊。以下對象類型的定義
基于注冊的對象以及各個對象之間的關聯,Cobbler知道如何更改檔案系統以反應具體配置。因為系統配置的内部是抽象的,是以您可以僅關注想要執行的操作。
三、Cobbler各個元件的關系
通過cobbler管理的或者手動管理的服務
TFTP
rsync
DHCP
DNS
四、安裝配置Cobbler
1、安裝方式
cobbler可以手動編譯安裝,也可以基于yum源的安裝,如果使用yum源安裝,則需要配置epel源epel源可以通過下載下傳官網的epel源的目錄來實作
2、檢查配置檔案,需要在啟動cobblerd和httpd服務的前提下檢查
以上8個問題的解決方法
1.修改/etc/cobbler/settings檔案中的server參數的值為提供cobbler服務的主機對應的ip位址
server: 192.168.13.8
2.修改/etc/cobbler/settings檔案的next_server參數的值為提供PXE服務的主機的ip
next_server: 192.168.13.8
3.如果目前節點可以通路網際網路,執行“cobbler get-loaders”指令下載下傳pxelinux.0,menu.c32,elibo.efi,yaboot檔案,否則則需要安裝syslinux程式包,複制/usr/share/syslinux/中的pxelinux.0,menu.c32等檔案至/var/lib/cobbler/loaders目錄中
4.将/etc/xinetd.d/rsync 中的disable改為no,或者執行 chkconfig rsync on
5.注釋/etc/debmirror.conf檔案中的“@dists="sid";”一行
6.注釋/etc/debmirror.conf檔案中的“@arches="i386";”一行
7.執行“openssl passwd -1 -salt `pensshl rand -hex 4`”生成密碼,并将密碼串替換掉/etc/cobbler/settings中的default_password_crypted
default_password_crypted: "$1$6a385fbf$iOHgbfJ0BJRQh78yAMA2L1"
8.安裝cam和fence-agents來實作電源管理
同步資料
五、配置cobbler依賴的服務
cobbler的運作以來dhcp、tftp、rsync、dns服務
cobbler可行管理這些服務中的部分甚至全部,但需要配置/etc/cobbler/settings檔案中的“manager_dhcp”、“manage_tftpd”、“manage_rsync”、“manage_dns”來定義,同時各種服務都有着不同的實作方式,如果進行自定義,需要通過修改/etc/cobbler/modules.conf配置檔案中各個服務的子產品參數的值來實作
我們通過獨立管理,不通過cobbler管理這些服務。
1、配置dhcp服務
啟動服務測試
2、配置tftpd服務
六、配置Cobbler
1、定義distro
實作coobler的第一步就是定義distro,可以通過其指定外部的安裝引導核心及ramdisk檔案的方式實作。而如果已經有現成的安裝樹(如OS的安裝鏡像)則使用import導入的方式
列出所有的distro
2、管理profile
cobbler使用profile來為特定的需求類别提供所需要安裝的配置,即在distro的基礎上通過提供kickstart檔案來生成一個特定的系統安裝配置。distro的profile可以出現在pxe的引導菜單中作為安裝的選擇之一。
關于kickstart的檔案制作請參照我的上篇部落格
添加profile
3、重新開機cobblerd服務并同步資料到相應目錄
4、系統安裝測試
開始安裝。。。
七、配置cobbler_web
cobbler_web支援多種認證方式,如authn_configfil、authn_ldap或 authn_pam等,預設為authn_denyall拒接所有。
下面我們使用authn_pam子產品認證cobbler_web使用者
通路: (注意我使用的虛拟機是雙網卡172.16.13.8與192.168.13.8兩個ip位址)
此時我們可以手動的添加删除配置,更靈活的對distro 、profile等元件的管理!
PS: 水準有限,有錯誤請指出!
本文出自 “” 部落格,請務必保留此出處