Ubuntu Cobbler故障排查指南
确保Cobbler核心服务(cobblerd、httpd)及网络支撑服务(tftp、dhcp)正常运行。使用以下命令逐一验证:
sudo systemctl status cobblerd
sudo systemctl status httpd
sudo systemctl status tftp
sudo systemctl status dhcp
若服务未启动,通过sudo systemctl start <服务名>启动对应服务,并设置为开机自启(sudo systemctl enable <服务名>)。
使用Cobbler内置命令cobbler check全面检查配置错误(如server字段未指向有效IP、next_server与服务器IP不符、TFTP服务未启用等)。常见需修正的问题及解决方法:
server字段设置:将/etc/cobbler/settings中的server从localhost改为服务器本机IP(如192.168.1.100);next_server字段设置:确保next_server与server字段一致,指向Cobbler服务器IP;/etc/xinetd.d/tftp文件,将disable = yes改为disable = no,并重启xinetd服务(sudo systemctl restart xinetd)。sudo cobbler sync同步更改。通过日志文件获取具体错误信息,快速定位问题根源:
/var/log/cobbler/cobblerd.log(记录Cobbler守护进程运行状态);/var/log/apache2/error.log或/var/log/httpd/error_log(记录Web界面及Kickstart文件访问错误);/var/log/syslog或使用journalctl -u cobblerd -f(实时查看Cobbler服务日志)。tail -f <日志文件路径>实时监控日志输出,重点关注ERROR或FAILED关键字。确保网络配置正确,避免因网络问题导致PXE启动或文件传输失败:
next_serverIP与DHCP分配的网关IP在同一网段;ip a),并处于正确的VLAN或子网中;telnet或nc命令测试关键端口(HTTP:80/tcp、TFTP:UDP69、DHCP:UDP67/68)是否可达(如telnet <客户端IP> 80)。top、htop或df -h命令检查CPU、内存及磁盘空间使用情况(确保根分区剩余空间≥10GB,避免因资源不足导致服务崩溃);sudo setenforce 0)测试是否解决问题;若使用AppArmor,检查/etc/apparmor.d/下的Cobbler相关配置文件是否限制了服务权限;sudo ufw allow 80/tcp、sudo ufw allow 443/tcp、sudo ufw allow 69/udp),并重载防火墙规则(sudo ufw reload)。sudo apt install python3-yaml),解决Python依赖缺失问题;sudo systemctl status tftp),并通过tcpdump port 69捕获TFTP请求,检查是否收到文件传输请求;/var/lib/cobbler/kickstarts/目录下,确保文件权限为644(sudo chmod 644 /var/lib/cobbler/kickstarts/*.ks),并在Cobbler中通过cobbler profile edit --kickstart=/var/lib/cobbler/kickstarts/<文件名>.ks关联配置文件。任何配置修改(如/etc/cobbler/settings、Kickstart文件)后,必须执行sudo cobbler sync将更改同步到DHCP配置、TFTP文件系统及Web界面;若服务异常,重启所有相关服务(sudo systemctl restart cobblerd httpd tftp dhcp)以应用更改。