CentOS Cobbler在集群中的应用实践
Cobbler是CentOS生态中针对大规模Linux集群设计的自动化部署工具,通过PXE(网络引导)、Kickstart(自动化安装脚本)及集中化管理能力,解决传统手动安装效率低、一致性差的问题,适用于数据中心、云计算平台等需要批量部署节点的场景。
/var分区至少有10GB空间(用于存储镜像及日志);关闭防火墙及SELinux以简化配置(生产环境建议配置安全策略)。setenforce 0 # 临时关闭SELinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config # 永久关闭
systemctl stop firewalld && systemctl disable firewalld # 关闭防火墙
yum install -y epel-release
yum install -y cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart
cobbler init生成默认配置文件(/etc/cobbler/settings),并设置关键参数:server: 192.168.1.100 # Cobbler服务器IP
next_server: 192.168.1.100 # TFTP服务器IP(通常与Cobbler服务器一致)
manage_dhcp: 1 # 启用Cobbler管理DHCP服务
manage_tftpd: 1 # 启用Cobbler管理TFTP服务
pxe_just_once: 1 # 防止客户端重复从网络启动
cobbler sync
将CentOS ISO镜像复制到服务器(如/tmp/CentOS-7-x86_64-DVD-2009.iso),通过cobbler import命令导入,生成对应的distro(发行版对象)及默认profile(配置文件对象)。
cobbler import --path=/tmp/CentOS-7-x86_64-DVD-2009.iso --name=centos7 --arch=x86_64
cobbler distro list # 查看导入的发行版(如centos7-x86_64)
cobbler profile list # 查看默认profile(如centos7-x86_64)
Kickstart文件定义了操作系统安装的自动化流程,需放置在/var/lib/cobbler/kickstarts/目录下(如centos7.ks)。示例内容:
# 安装源(指向Cobbler服务器的镜像目录)
install url --url="http://192.168.1.100/cobbler/ks_mirror/centos7"
# 系统root密码(需提前加密,可通过`openssl passwd -1`生成)
rootpw --iscrypted $1$mF86/UHC$WvcIcX2t6crBz2onWxyac.
# 分区方案(自动适配磁盘)
autopart --type=lvm
# 关闭防火墙(集群内部节点可简化配置)
firewall --disabled
# 禁用SELinux
selinux --disabled
# 安装完成后重启
reboot
cobbler system add命令将客户端节点与指定Profile绑定(支持按MAC地址、主机名识别)。cobbler system add --name=node1 --profile=centos7 --netboot-enabled=true --mac=00:11:22:33:44:55
cobbler sync
启动Cobbler及相关服务,确保状态正常:
systemctl enable --now cobblerd httpd xinetd
systemctl status cobblerd httpd xinetd # 检查服务状态
cobbler check命令检查配置错误,查看/var/log/cobbler/目录下的日志(如cobbler.log、dhcp.log)排查部署问题。通过上述流程,Cobbler可实现CentOS集群的快速、一致部署,显著降低运维成本,适用于大规模基础设施的自动化管理场景。