在 CentOS 上调试 Cobbler(自动化装机服务)通常可以按下面几个层面来做:服务状态 → 配置校验 → 日志分析 → 网络/PXE → 具体功能。下面给你一套较系统的调试思路。
systemctl status cobblerd
systemctl status httpd
systemctl status tftp
systemctl status dhcpd
如果服务没起来:
journalctl -u cobblerd -xe
cobbler check
常见问题示例:
SELinux is enabledsome network boot-loaders are missingdebmirror package is not installed按提示逐项修复。
cobbler sync
如果 sync 报错,错误信息通常很关键。
/var/log/cobbler/cobbler.log
/var/log/cobbler/install.log
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/messages
实时查看:
tail -f /var/log/cobbler/cobbler.log
ls -l /var/lib/tftpboot/
应有:
pxelinux.0menu.c32pxelinux.cfg/如果没有:
cobbler get-loaders
cobbler sync
tftp localhost
tftp> get pxelinux.0
cat /etc/cobbler/dhcp.template
确保:
next-server 指向 Cobbler 服务器 IPfilename "pxelinux.0";重启:
systemctl restart dhcpd
客户端抓包(可选):
tcpdump -i eth0 port 67 or port 68
cobbler distro list
cobbler profile list
cobbler profile report --name=xxx
手动访问:
curl http://cobbler-ip/cblr/svc/op/ks/profile/xxx
getenforce
setenforce 0 # 临时关闭测试
firewall-cmd --list-all
firewall-cmd --add-service={http,https,tftp,dhcp} --permanent
firewall-cmd --reload
| 现象 | 可能原因 |
|---|---|
| PXE 超时 | DHCP / TFTP 未起 |
| 进不了菜单 | pxelinux.cfg 缺失 |
| KS 脚本报错 | 语法或路径错误 |
| sync 失败 | 模板语法问题 |
| 装机卡住 | repo / 网络不通 |
cobbler checkcobbler synccobbler.log如果你能告诉我:
我可以给你更精确的排错命令。