一.cobbler簡介 運維自動化包括標準化、工具化、Web化、服務化、智能化等幾個不同的層級,在一家規模稍大、擁有伺服器上千台甚至是幾萬台的生產環境中,想要真正實現運維自動化,工具化系統安裝流程、統一系統安裝規範,是其中最不能忽略的重要環節。普通的自動化部署可以採用pxe+dhcp+tftp配合k ...
一.cobbler簡介
運維自動化包括標準化、工具化、Web化、服務化、智能化等幾個不同的層級,在一家規模稍大、擁有伺服器上千台甚至是幾萬台的生產環境中,想要真正實現運維自動化,工具化系統安裝流程、統一系統安裝規範,是其中最不能忽略的重要環節。普通的自動化部署可以採用pxe+dhcp+tftp配合kickstart實現,但是面對多版本、多部署需求的情況下,這種普通的部署方式可能達不到我們的要求;這時候就需要藉助cobbler開源自動化部署工具來實現。
Cobbler是一款快速的網路系統部署工具,其最大的特點是集合了所有系統部署所需服務,如DHCP、DNS、TFTP,這樣你在部署一臺操作系統的時候不需要在各個服務之前協調切換,Cobbler都可以替你來管理,Cobbler內部集成了一個鏡像版本倉庫,你可以自定義相關配置文件,實現不同系統不同安裝需求的選擇;當然,Cobbler還提供了包括yum源管理、Web界面管理、API介面、電源管理等功能,方便你自定義開發管理。
cobbler設計方式
-
發行版(Distribution):
表示一個操作系統。它承載了內核和 initrd 的信息,以及內核參數等其他數據
-
配置文件(Profile):
包含一個發行版、一個 kickstart 文件以及可能的存儲庫,還包含更多特定的內核參數等其他數據
-
系統(System):
表示要配給的機器。它包含一個配置文件或一個鏡像,還包含 IP 和 MAC 地址、電源管理(地址、憑據、類型)以及更為專業的數據等信息
-
存儲庫(Repository):
保存一個 yum 或 rsync 存儲庫的鏡像信息
-
鏡像(Image):
可替換一個包含不屬於此類別的文件的發行版對象(例如,無法分為內核和 initrd 的對象)
二.cobbler安裝
1.cobbler在epel源中,如果系統中沒有EPELi源,要先安裝
[root@sharestore py-9]# yum search epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
============================ N/S matched: epel-release ============================
epel-release.noarch : Extra Packages for Enterprise Linux repository configurationName and summary matches only, use "search all" for everything.
[root@sharestore py-9]# yum -y install epel-release2.安裝cobbler
[root@sharestore py-9]# yum -y install cobbler
查看安裝了哪些文件到什麼位置
[root@sharestore py-9]# rpm -ql cobbler
下麵是一些重要的配置文件及說明:
/etc/cobbler # 配置文件目錄 /etc/cobbler/settings # cobbler主配置文件 /etc/cobbler/dhcp.template # DHCP服務的配置模板 /etc/cobbler/tftpd.template # tftp服務的配置模板 /etc/cobbler/rsync.template # rsync服務的配置模板 /etc/cobbler/iso # iso模板配置文件目錄 /etc/cobbler/pxe # pxe模板文件目錄 /etc/cobbler/power # 電源的配置文件目錄 /etc/cobbler/users.conf # Web服務授權配置文件 /etc/cobbler/users.digest # web訪問的用戶名密碼配置文件 /etc/cobbler/dnsmasq.template # DNS服務的配置模板 /etc/cobbler/modules.conf # Cobbler模塊配置文件 /var/lib/cobbler # Cobbler數據目錄 /var/lib/cobbler/config # 配置文件 /var/lib/cobbler/kickstarts # 預設存放kickstart文件 /var/lib/cobbler/loaders # 存放的各種引導程式 /var/www/cobbler # 系統安裝鏡像目錄 /var/www/cobbler/ks_mirror # 導入的系統鏡像列表 /var/www/cobbler/images # 導入的系統鏡像啟動文件 /var/www/cobbler/repo_mirror # yum源存儲目錄 /var/log/cobbler # 日誌目錄 /var/log/cobbler/install.log # 客戶端系統安裝日誌 /var/log/cobbler/cobbler.log # cobbler日誌
三.cobbler初始配置
1.啟動cobbler服務
cobbler依賴httpd服務,所以要先啟動httpd,否則會報錯。
[root@sharestore]# systemctl start cobbler
2.運行cobbler check根據提示修改配置
[root@sharestore]# cobbler check
[root@sharestore ~]# cobbler check
The following are potential configuration items that you may want to fix:1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
#這個提示是需要修改/etc/cobbler/settings 文件中server: 後面的IP地址,這個地址預設是127.0.0.1需要修改成可以通信的本機真實的網卡地址,以便提供DHCP等服務。
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
#這個提示是說要想讓PXE工作起來,需要設置/etc/cobbler/settings中next_server的ip地址,同樣要求能夠通信的IP地址。
3 : SELinux is enabled. Please review the following wiki page for details on ensuring cobbler works correctly in your SELinux environment:
https://github.com/cobbler/cobbler/wiki/Selinux#這個提示要求關閉selinux
4 : change 'disable' to 'no' in /etc/xinetd.d/tftp#提示要求啟用tftp
5 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.#提示要求使用cobbler get-loaders從網上下載引導程式
6 : enable and start rsyncd.service with systemctl#提示要求啟動 rsyncd服務
7 : debmirror package is not installed, it will be required to manage debian deployments and repositories
8 : ksvalidator was not found, install pykickstart#提示要求安裝pykickstart,使用yum –y pykickstart即可
9 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try:default_password_crypted "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one#提示要求修改預設密碼"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'"並替換settings中default_password_crypted引號中的內容
10 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
#提示如果使用電源管理模塊,安裝cman 或者 fence-agents