CentOS Cobbler故障排查方法
确保Cobbler核心服务(cobblerd)及依赖服务(tftp、dhcp、httpd)已启动并运行。使用以下命令查看服务状态:
systemctl status cobblerd、systemctl status tftp、systemctl status dhcp、systemctl status httpd
若服务未运行,启动服务并设置开机自启:
systemctl start cobblerd && systemctl enable cobblerd
systemctl start tftp && systemctl enable tftp
systemctl start dhcp && systemctl enable dhcp
systemctl start httpd && systemctl enable httpd
使用cobbler check命令检查配置文件的语法错误、逻辑问题(如IP地址冲突、路径缺失)。根据输出结果逐一修正:
server字段错误,需修改/etc/cobbler/settings中的server为Cobbler服务器可解析的IP或主机名;next_server错误,需将其设置为Cobbler服务器的IP(不能为127.0.0.1);manage_dhcp为no,需开启DHCP管理(manage_dhcp: 1)并重启cobblerd通过日志定位具体错误:
journalctl -u cobblerd -n 100(最近100条日志)或tail -f /var/log/cobbler/cobbler.log;tail -f /var/log/httpd/error_log(若无法访问Web界面);tail -f /var/log/messages(通用系统错误)ping命令测试连通性;/etc/cobbler/dhcp.template中的网段、网关、DNS等参数是否与实际网络一致,确保next_server指向Cobbler服务器IP;/etc/xinetd.d/tftp中的disable = no(启用TFTP),并重启xinetd服务:systemctl restart xinetd/var/lib/cobbler/loaders目录包含必要的PXE引导文件(如pxelinux.0、menu.c32、grub.efi),若缺失可使用cobbler get-loaders命令下载;/etc/cobbler/settings或Kickstart文件后,执行cobbler sync将配置同步到DHCP、TFTP等目录setenforce 0)和防火墙(systemctl stop firewalld),若问题解决,需调整SELinux策略(如setenforce 1并修改/etc/selinux/config)或开放Cobbler相关端口(80/443/TFTP的69端口);yum install -y cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd;若提示ImportError: No module named yaml,安装PyYAML模块:yum install -y python2-pip && pip install pyyaml若访问https://<服务器IP>/cobbler_web出现Internal Server Error:
pip install Django==1.8.9;/etc/cobbler/settings中的webui_enabled: 1(开启Web界面),并重启cobblerd和httpd服务df -h检查磁盘空间,确保/var分区(存放Cobbler文件)有足够空间;/etc/cobbler/settings中的server和next_server字段,并执行cobbler sync