温馨提示×

怎样排查centos cobbler故障

小樊
38
2026-10-11 21:38:15
栏目: 智能运维

在 CentOS 上排查 Cobbler 故障,通常可以按“服务状态 → 配置校验 → 网络/DHCP/TFTP → 镜像与同步 → 客户端日志”的顺序进行。下面给你一套实用排查清单。


一、确认 Cobbler 服务状态

systemctl status cobblerd
systemctl status httpd
systemctl status tftp
systemctl status dhcpd

常见异常:

  • cobblerd 未启动
  • httpd 无法访问(SELinux / 防火墙)
  • tftp 未监听 69 端口

查看日志:

tail -f /var/log/cobbler/cobbler.log
journalctl -u cobblerd

二、运行 Cobbler 自检(最关键)

cobbler check

它会列出:

  • 缺少组件(xinetd、tftp、rsync)
  • SELinux 问题
  • 配置不一致

根据提示逐条修复,然后:

cobbler sync

三、验证 Cobbler 配置

cobbler settings | less

重点检查:

  • server: Cobbler 服务器 IP
  • next_server: TFTP/DHCP 服务器 IP
  • manage_dhcp: 1 或 0
  • pxe_just_once: 建议 1

示例(常见错误):

server: 127.0.0.1   # ❌ 错误
next_server: 192.168.1.10

应为:

server: 192.168.1.10
next_server: 192.168.1.10

修改后:

cobbler sync

四、DHCP 排查(PXE 起不来最常见)

1. Cobbler 是否管理 DHCP

grep manage_dhcp /etc/cobbler/settings

2. DHCP 模板

cat /etc/cobbler/dhcp.template

确认:

  • subnet 网段正确
  • next-server 指向 Cobbler IP

3. 测试 DHCP

在客户端:

dhclient -v eth0

服务器:

tail -f /var/log/messages

五、TFTP / PXE 排查

1. TFTP 是否可用

tftp 127.0.0.1
tftp> get pxelinux.0

2. PXE 文件是否存在

ls /var/lib/tftpboot/

应有:

  • pxelinux.0
  • menu.c32
  • /pxelinux.cfg/default

3. 重新生成 PXE

cobbler sync

六、镜像与 profile 问题

查看 distro / profile

cobbler distro list
cobbler profile list

导入镜像

cobbler import --path=/mnt --name=centos7
cobbler sync

常见错误

  • distro 架构不对(x86_64 / aarch64)
  • ks 文件不存在
  • repo 无法访问

七、Kickstart 文件问题

cobbler profile report --name=centos7-x86_64

检查:

  • kickstart
  • kernel options

本地测试 KS:

cobbler validateks

八、SELinux / 防火墙

SELinux

getenforce
setenforce 0   # 临时关闭测试

永久:

vi /etc/selinux/config
SELINUX=permissive

防火墙

firewall-cmd --list-all
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=tftp --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload

九、客户端排查(PXE 安装失败)

  • 是否能获取 IP
  • 是否能下载 pxelinux.0
  • 是否卡在 anaconda
  • 查看虚拟控制台:
    • Ctrl + Alt + F2/F3

十、快速定位故障的“黄金命令”

cobbler check
cobbler sync
tail -f /var/log/cobbler/cobbler.log
tail -f /var/log/messages

如果你能具体说明:

  • CentOS 版本
  • Cobbler 版本
  • 报错信息(客户端 / 服务端)
  • 是 PXE 起不来 还是 装系统中失败

我可以帮你精准定位到某一步。

0 踩