CentOS Cobbler故障排查指南
確保cobblerd
(Cobbler主服務)、httpd
(Web服務)、tftp
(PXE引導傳輸)、dhcp
(IP分配)等服務已啟動并運行。使用以下命令檢查服務狀態,若未運行則啟動并設置開機自啟:
systemctl status cobblerd httpd tftp dhcpd # 檢查服務狀態
systemctl start cobblerd httpd tftp dhcpd # 啟動服務
systemctl enable cobblerd httpd tftp dhcpd # 設置開機自啟
cobbler check
是Cobbler內置的關鍵診斷工具,可檢測配置文件語法、路徑權限、依賴項等問題。根據輸出結果逐一修正,常見修正項包括:
/etc/cobbler/settings
中的server
(Cobbler服務器IP,需可解析)和next_server
(TFTP服務器IP,通常與server
一致)配置正確;cobbler get-loaders
下載PXE引導加載程序(如pxelinux.0
、menu.c32
)。通過日志獲取詳細的錯誤信息,是排查故障的核心步驟:
tail -f /var/log/cobbler/cobbler.log
(記錄PXE引導、鏡像同步等操作);tail -f /var/log/httpd/error_log
(若無法訪問Web界面,此處會有詳細報錯);journalctl -xe
或tail -f /var/log/messages
(查看系統級錯誤,如服務啟動失敗原因)。Cobbler依賴DHCP、TFTP、HTTP服務協同工作,需確保網絡配置無誤:
/etc/cobbler/dhcp.template
文件,確認subnet
、range
(IP分配范圍)、gateway
(網關)、next_server
(TFTP服務器IP)等參數正確;/etc/xinetd.d/tftp
文件中disable = no
(啟用TFTP),并重啟xinetd服務:systemctl restart xinetd
;ping
測試Cobbler服務器與客戶端之間的網絡連通性,traceroute
檢查路由是否正常。防火墻或SELinux可能阻止Cobbler服務的通信,需臨時關閉或調整策略:
systemctl stop firewalld && systemctl disable firewalld
;若需開放特定端口,可使用firewall-cmd --add-service={http,https,tftp} --permanent
并firewall-cmd --reload
;setenforce 0
;若問題解決,需調整SELinux策略(如允許httpd訪問Cobbler目錄)而非完全禁用。Cobbler需要Python、DHCP、TFTP、Apache等依賴項,確保已正確安裝:
yum install -y python2-pip httpd dhcp tftp-server python-ctypes
;python --version
(需Python 2.7,Cobbler 2.x版本支持);pip list
(確認pyyaml
、django
等依賴已安裝,若缺失可通過pip install pyyaml
安裝)。修改Cobbler配置文件(如/etc/cobbler/settings
、/etc/cobbler/dhcp.template
)后,必須運行cobbler sync
命令將變更同步到DHCP配置、TFTP目錄等位置,否則修改不會生效。
/etc/cobbler/settings
中的server
字段是否為當前服務器IP,確認防火墻開放80/443端口,查看/var/log/httpd/error_log
中的Web服務錯誤;/var/lib/cobbler/loaders
目錄下有引導加載程序,檢查DHCP服務的next_server
配置是否正確,查看/var/log/cobbler/cobbler.log
中的PXE引導錯誤;ImportError: No module named yaml
需安裝pyyaml
),確認DHCP服務是否正常運行,查看/var/log/cobbler/cobbler.log
中的sync錯誤。