Cobbler 是一個用于自動化 Linux 系統部署的工具,它支持 PXE 網絡啟動、自動安裝和配置操作系統,從而簡化了批量部署服務器的復雜流程。以下是基于 CentOS 使用 Cobbler 實現自動化部署的步驟:
停止并禁用防火墻:
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
安裝 Cobbler 及相關依賴:
yum -y install epel-release
yum -y install cobbler cobbler-web tftp-server dhcp httpd xinetd
啟動 Cobbler 服務并設置為開機啟動:
systemctl start httpd cobblerd
systemctl enable httpd cobblerd
配置動態設置:
sed -ri '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings
systemctl restart cobblerd
設置服務器地址、網關、DHCP 服務:
cobbler setting edit --name=server --value=192.168.52.202
cobbler setting edit --name=next_server --value=192.168.52.203
cobbler setting edit --name=tftp_servers --value=yes
systemctl enable xinetd
systemctl restart xinetd
導入操作系統鏡像:
cobbler import --path=/path/to/centos7 --name=centos7.4 --arch=x86_64
創建 Kickstart 文件:
創建一個 kickstart 文件(例如 ks.cfg
),并定義自動化安裝參數:
cat > /var/lib/cobbler/kickstarts/centos7.ks <<EOL
installurl --url="http://$server/cobbler/ks_mirror/centos7"
rootpw --iscrypted `$default_password_crypted'
firewall --disabled
EOL
同步 Cobbler 配置:
cobbler sync
配置 DHCP:
編輯 /etc/cobbler/dhcp.template
文件,設置網段、網關、DNS 服務器地址等:
vi /etc/cobbler/dhcp.template
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 192.168.1.2;
}
配置 PXE 啟動:
在 Cobbler 中創建一個新的 boot entry,以便從網絡引導系統:
sudo cobbler bootentry create --name="YourSystemName" --kernel=/path/to/vmlinuz --initrd=/path/to/initrd --kickstart=/path/to/ks.cfg --arch=x86_64
發布 boot entry:
將新創建的 boot entry 發布到 DHCP 服務器(如果啟用了 DHCP):
sudo cobbler bootentry publish --name="YourSystemName"
完成上述步驟后,客戶端計算機通過 PXE 啟動時將使用指定的 Kickstart 文件進行自動化安裝。
有關詳細的配置說明和高級選項,請參考 [Cobbler 官方文檔](https:// cobbler.readthedocs.io/en/stable/)。