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错误。