CentOS上Cobbler故障排查与修复指南

一快速定位流程

检查核心服务状态:确认cobblerd、tftp、dhcp、httpd已启动并开机自启;若未运行,执行systemctlstart/enable启动并设置自启。

执行配置校验:运行cobblercheck,按输出逐项修复(如server/next_server、引导文件、DHCP/TFTP等)。

查看关键日志:用journalctl-n100查看近期系统日志;同时关注/var/log/cobbler/cobblerd.log与/var/log/httpd/ssl_error_log(Web错误)。

同步配置:每次修改后执行cobblersync,使DHCP、PXE与数据目录一致。

网络连通性:确保客户端与服务器在同一二层网络,DHCP/TFTP可达,必要时抓包或查看交换机日志。

二常见故障与修复对照表

症状可能原因修复要点
PXE停在DHCP/找不到引导文件next_server错误、TFTP未起、引导文件缺失将/etc/cobbler/settings中next_server设为服务器IP;启动tftp并设为自启;执行cobblerget-loaders补齐/var/lib/cobbler/loaders(如pxelinux.0、menu.c32、grub.efi)
cobblercheck报错server/next_server配置为127.0.0.1或不可解析将server与next_server改为可访问的IP/主机名
cobblersync失败DHCP模板错误、依赖缺失、服务未起检查/etc/cobbler/dhcp.template的网关/网段;安装缺失依赖(如pyyaml);确认cobblerd/dhcp运行后再sync
导入镜像或执行命令报Python模块缺失例如ImportError:Nomodulenamedyaml安装pyyaml(如yuminstallpyyaml或pipinstallpyyaml)
Web界面500/无法登录httpd未运行、WSGI模块未加载、Django版本不兼容启动httpd;在/etc/httpd/conf.d/wsgi.conf中确保加载mod_wsgi;必要时重装/调整Django版本并重启httpd
修改服务器IP后异常server/next_server未同步更新更新/etc/cobbler/settings中的server/next_server为当前IP,执行cobblersync并重启相关服务
客户端拿不到IP或安装介质DHCP未起/配置错误、防火墙/SELinux拦截启动dhcpd并校验dhcp.template;临时关闭firewalld/SELinux验证,再按需放行端口/调整策略
磁盘空间不足导致失败/var分区满(镜像、日志)清理旧镜像与日志,确保/var有足够空间(建议预留10GB+)

三关键配置与服务检查要点

核心配置:在/etc/cobbler/settings中确保server与next_server均为服务器可达的IP/主机名,且不等于127.0.0.1;修改后执行cobblersync。

引导文件:确认/var/lib/cobbler/loaders包含pxelinux.0、menu.c32、elilo.efi、grub.efi等;缺失时运行cobblerget-loaders补齐。

DHCP配置:如使用Cobbler管理DHCP,检查/etc/cobbler/dhcp.template中的subnet、range、gateway等;修改后cobblersync生成并分发配置。

服务与自启:确保cobblerd、tftp、dhcpd、httpd处于active状态并设置为开机自启;变更后重启相关服务。

日志定位:优先查看/var/log/cobbler/cobblerd.log(Cobbler服务)、/var/log/httpd/ssl_error_log(Web错误)、journalctl与/var/log/messages(系统级)。

四防火墙与SELinux处理建议

快速验证:临时执行systemctlstopfirewalld、setenforce0,若恢复正常,说明是策略问题。

生产建议:不要长期关闭,改为精确放行端口与路径(如HTTP/HTTPS、TFTPUDP69、DHCP67/68等),并为httpd/cobbler配置合适的SELinux布尔值与文件上下文,避免放宽到disabled。

五变更IP或重装后的恢复步骤

同步配置:更新/etc/cobbler/settings中的server与next_server为新IP;执行cobblersync。

重启服务:重启cobblerd、httpd、dhcpd、tftp,确保新配置生效。

校验与回滚:运行cobblercheck复核;保留一份/etc/cobbler/settings与/etc/cobbler/dhcp.template的备份以便快速回滚。