Cobbler在CentOS中的最佳实践
在CentOS上部署Cobbler前,需调整系统配置以简化流程并避免冲突:
systemctl stop firewalld && systemctl disable firewalld),永久禁用SELinux(sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config),防止其拦截Cobbler的网络服务(如DHCP、TFTP)。yum install epel-release -y),确保能获取Cobbler及相关依赖包(如cobbler-web、pykickstart)。Cobbler的自动化部署依赖多个服务,需完整安装并启用:
yum install cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart -y安装Cobbler主程序、Web界面、TFTP服务器、DHCP服务器、Apache(用于托管Kickstart文件)及xinetd(管理TFTP服务)。cobblerd(Cobbler主服务)、httpd(Web服务)、xinetd(TFTP服务),并设置为开机自启(systemctl enable --now cobblerd httpd xinetd),确保服务持续运行。Cobbler的配置文件(/etc/cobbler/settings)是自动化部署的关键,需调整以下核心参数:
server字段修改为Cobbler服务器的IP地址(如192.168.1.100),next_server字段修改为TFTP服务器的IP地址(通常与server一致,用于指向PXE引导文件pxelinux.0的位置)。manage_dhcp设置为1(默认值),Cobbler会自动生成并管理DHCP配置;若使用现有DHCP服务器,需设置为0并在DHCP配置中添加next-server指向Cobbler服务器。pxe_just_once设置为1,防止客户端每次启动都尝试从网络引导,避免重复安装。PXE启动需DHCP分配IP地址并提供TFTP服务器信息,TFTP则负责传输引导文件:
/etc/cobbler/dhcp.template(若manage_dhcp=1,Cobbler会自动生成/etc/dhcp/dhcpd.conf),添加以下内容(替换为实际网段、网关、DNS):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, 8.8.4.4;
filename "pxelinux.0";
next-server 192.168.1.100; # Cobbler服务器IP
}
若手动管理DHCP,需在/etc/dhcp/dhcpd.conf中添加相同内容,并重启DHCP服务(systemctl restart dhcpd)。/etc/xinetd.d/tftp,将disable设置为no(启用TFTP),并确保server_args指向TFTP根目录(-s /var/lib/tftpboot)。重启xinetd服务(systemctl restart xinetd)。/mnt目录(或其他可访问路径),运行cobbler import --path=/mnt --name=centos7.9 --arch=x86_64,将ISO中的系统文件导入Cobbler的/var/www/cobbler/ks_mirror/目录,并自动生成内核(vmlinuz)和初始化RAM磁盘(initrd.img)文件。system-config-kickstart图形工具生成,或手动编写(示例见下文)。将Kickstart文件保存至/var/lib/cobbler/kickstarts/目录(如centos7.ks)。centos7.ks):install
url --url="http://192.168.1.100/cobbler/ks_mirror/centos7.9"
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp
rootpw --iscrypted $6$your_encrypted_password # 使用`openssl passwd -1`生成加密密码
firewall --disabled
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr
clearpart --all --initlabel
part / --fstype ext4 --size 10240
part swap --size 2048
%packages
@^minimal
vim
%end
其中,url指向Cobbler托管的系统镜像目录,rootpw需替换为加密后的密码。cobbler profile add --name=centos7.9 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks --distro=centos7.9-x86_64,将Kickstart文件与导入的CentOS镜像关联。cobbler system add --name=client1 --profile=centos7.9 --ip-address=192.168.1.150 --mac-address=00:11:22:33:44:55 --hostname=client1.example.com,指定客户端的IP、MAC地址及主机名。cobbler sync,将配置同步至TFTP、DHCP等服务,确保客户端能获取最新配置。pxelinux.0引导文件,读取Kickstart文件,自动安装CentOS系统。安装完成后,客户端将自动重启并进入系统。vm.dirty_ratio=50、vm.dirty_background_ratio=10),通过sysctl -w命令临时生效,或写入/etc/sysctl.conf永久生效。manage_dns设置为0(在/etc/cobbler/settings中),减少资源消耗。yum update cobbler更新至最新版本,修复漏洞并提升稳定性。tail -f /var/log/cobbler/cobblerd.log监控Cobbler日志,及时排查部署失败问题(如Kickstart语法错误、镜像导入失败)。