Cobbler在CentOS自动化部署中的应用
一 核心概念与适用场景
二 快速落地步骤
yum install -y epel-release cobbler cobbler-web httpd dhcp tftp-server pykickstart xinetdsystemctl enable --now cobblerd httpd xinetdcobbler check 按提示修复前置条件(目录、依赖、服务状态等)cobbler setting edit --name=server --value=192.168.1.100cobbler setting edit --name=next_server --value=192.168.1.100cobbler setting edit --name=manage_dhcp --value=1/etc/cobbler/dhcp.template:
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 8.8.8.8; filename "pxelinux.0"; next-server 192.168.1.100; }/etc/xinetd.d/tftp,将 disable = nocobbler syncmount -o loop /path/to.iso /mntcobbler import --path=/mnt --name=centos7 --arch=x86_64/var/lib/cobbler/kickstarts/centos7.ks(要点):
install url --url="http://192.168.1.100/cobbler/ks_mirror/centos7"rootpw --iscrypted $6$your_encrypted_password(用 openssl passwd -1/-6 生成)zerombr clearpart --all --initlabelbootloader --location=mbrpart / --fstype=xfs --size=1 --grow;part swap --size=2048%packages @base @core vim;%endcobbler profile edit --name=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.kscobbler system add --name=node01 --profile=centos7-x86_64 --mac=00:11:22:AA:BB:CC --netboot-enabled=true三 集群批量部署与维护
cobbler system add ... --netboot-enabled=true,为关键节点配置静态网络参数(IP、掩码、网关、DNS),实现“即插即用”的自动化装机流水线。cobbler list、cobbler report、cobbler sync、cobbler validatekscobbler distro remove --name=old-centostar czvf cobbler_backup.tar.gz /etc/cobbler /var/lib/cobbler/kickstartssysctl -w vm.dirty_ratio=50、sysctl -w vm.dirty_background_ratio=10四 安全与网络注意事项
iptables 限制来源 IP,降低攻击面。openssl passwd -1/-6 生成加密 root 密码,禁止明文;必要时启用 SELinux 或按最小权限原则配置策略,避免直接长期关闭。manage_dhcp=0,在外部 DHCP 中仅配置 filename "pxelinux.0" 与 next-server <Cobbler_IP>,避免与现有网络策略冲突。五 常见问题快速排查
systemctl status xinetd 与 /etc/xinetd.d/tftp 中 disable=no;确认 next-server 与 filename 正确;客户端 BIOS/UEFI 已启用 PXE 启动。cobbler validateks --profile=<profile> 校验语法;查看 /var/log/cobbler/ 对应日志定位 %pre/%post 或软件包安装问题。http://<Cobbler_IP>/cobbler/ks_mirror/<distro>/;必要时重新 cobbler sync 并核对导入是否成功。