Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 自動化安裝神器 Cobbler 部署全流程:從安裝、DHCP/TFTP、導入鏡像到 Kickstart 無人值守

編輯:關於 Linux

Cobbler 整合 DHCP、TFTP、PXE、Kickstart,實現 Linux 系統裸機/虛擬機快速無人值守部署。本文記錄在 CentOS 6/7 環境下,從 EPEL 安裝、服務啟動、cobbler check 逐項修復、DHCP/TFTP 配置、鏡像導入、Profile/Kickstart 定製、cobbler sync 生效、虛擬機驗證的完整步驟。

安裝與服務啟動


# 配置 EPEL
rpm -ivh https://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

# 安裝
yum -y install cobbler

# 啟動服務
service httpd start
service cobblerd start
chkconfig httpd on
chkconfig cobblerd on

cobbler check 逐項修復


cobbler check
# 典型輸出與修復:
# 1. next_server / server IP 未設定
vi /etc/cobbler/settings
next_server: 192.168.83.137
server: 192.168.83.137

# 2. manage_tftpd: 1 (讓 cobbler 管理 tftp)
manage_tftpd: 1

# 3. 缺少 syslinux (PXE 載入器)
yum -y install syslinux
cp /usr/share/syslinux/* /var/lib/cobbler/loaders/

# 4. rsync 未啟用
chkconfig rsync on
service xinetd start   # rsync 由 xinetd 管理

# 5. 缺少 pykickstart (驗證 ks 語法)
yum -y install pykickstart

# 6. 預設密碼未加密
openssl passwd -1 -salt 'openssl rand -hex 4'
# 輸出雜湊值填入 default_password_crypted
vi /etc/cobbler/settings
default_password_crypted: "$1$xxxx$yyyy"

DHCP 服務配置 (由 cobbler 管理)


yum -y install dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vi /etc/dhcp/dhcpd.conf
# 關鍵段落:
subnet 192.168.83.0 netmask 255.255.255.0 {
    range 192.168.83.50 192.168.83.100;
    option routers 192.168.83.137;
    option domain-name-servers 192.168.83.137;
    next-server 192.168.83.137;
    filename "pxelinux.0";
}
service dhcpd start
chkconfig dhcpd on

⚠ 生產環境通常禁用 DHCP,需依 MAC 綁定固定 IP,Cobbler 支援 dhcp-template 客製化。

TFTP 服務啟用


chkconfig tftp on
service xinetd restart
# 驗證
netstat -an | grep :69

導入發行版鏡像


# 掛載 ISO
mount -o loop /dev/cdrom /media

# 匯入 (自動解析 kernel/initrd、建立 distro)
cobbler import --name=CentOS-6.5-x86_64 --path=/media
# 產生 distro: CentOS-6.5-x86_64

建立 Profile 並綁定 Kickstart


# 驗證 ks 檔語法
ksvalidator /path/to/centos6.ks

# 建立 profile
cobbler profile add --name=CentOS-6.5-x86_64-basic \
  --distro=CentOS-6.5-x86_64 \
  --kickstart=/path/to/centos6.ks

# 列出 profile
cobbler profile list

Kickstart 檔案關鍵段落


# 平台特定
install
url --url=https://192.168.83.137/cblr/links/CentOS-6.5-x86_64
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp --device=link
rootpw --iscrypted $1$xxxx$yyyy
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Taipei
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
clearpart --all --initlabel --drives=sda
part /boot --fstype=ext4 --size=500
part pv.01 --size=1 --grow
volgroup vg_root pv.01
logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=10240 --grow
logvol swap --fstype=swap --name=lv_swap --vgname=vg_root --size=2048
reboot

%packages
@core
@base
%end

%post
# 後安裝腳本:配置 yum 源、SSH 金鑰、監控代理等
%end

同步生效與驗證


cobbler sync
service cobblerd restart

# 查看生成的 PXE 選單
cat /var/lib/tftpboot/pxelinux.cfg/default

虛擬機 PXE 開機驗證

  1. 建立 VM,網路模式 Bridge 或 NAT (需 DHCP 可達)。
  2. 開機選擇網路啟動 (PXE)。
  3. 進入 Cobbler 選單,選擇 CentOS-6.5-x86_64-basic。
  4. 全自動安裝至重開機登入提示。

常見問題排查

cobbler check 輸出

虛擬機 PXE 選單

安裝進度畫面

Copyright © Windows教程網 All Rights Reserved
現象原因解決
PXE 取得 IP 但無法下載 kernelTFTP 防火牆阻擋 / 路徑錯誤開放 UDP 69;確認 /var/lib/tftpboot 權限
Kickstart 卡在磁碟分區ks 檔 clearpart/part 指令不符實體磁碟調整 --drives、--size、LVM 邏輯
cobbler sync 失敗DHCP 設定語法錯誤 / 模板缺失cobbler check、檢查 /etc/cobbler/dhcp.template