CentOS Cobbler最佳实践
在开始配置Cobbler前,需完成以下基础准备,确保后续流程顺畅:
systemctl stop firewalld && systemctl disable firewalld)、SELinux(sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0),减少系统资源占用及潜在冲突。yum install epel-release -y安装EPEL仓库,获取Cobbler及相关依赖包。yum install cobbler cobbler-web httpd tftp-server dhcp xinetd pykickstart -y安装Cobbler主程序、Web界面、HTTP服务、TFTP服务、DHCP服务及Kickstart工具。正确配置Cobbler主文件是实现自动化部署的核心,需重点关注以下参数:
/etc/cobbler/settings:设置server为Cobbler服务器IP(如192.168.1.100),next_server为TFTP服务器IP(通常与server一致),manage_dhcp设为1(启用Cobbler管理DHCP,简化配置),pxe_just_once设为1(防止客户端每次启动都重新配置PXE)。settings或其他配置文件后,需运行cobbler sync使更改生效。Cobbler依赖DHCP、TFTP及DNS实现网络启动与安装,需正确配置:
/etc/cobbler/dhcp.template(若启用manage_dhcp,Cobbler会自动生成/etc/dhcp/dhcpd.conf),设置子网、网关、DNS及PXE引导文件:subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # 动态分配IP范围
option routers 192.168.1.1; # 网关
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器
filename "pxelinux.0"; # PXE引导文件
next-server 192.168.1.100; # Cobbler服务器IP(TFTP服务器)
}
重启DHCP服务:systemctl restart dhcpd。/etc/xinetd.d/tftp,将disable设为no(启用TFTP),并确保server_args指向TFTP根目录:server_args = -s /var/lib/tftpboot
重启xinetd服务:systemctl restart xinetd。manage_dns,编辑/etc/cobbler/named.template,设置域名及DNS服务器信息。Cobbler需导入操作系统镜像才能进行网络部署,步骤如下:
/mnt/iso),使用mount -o loop /path/to/CentOS-7-x86_64.iso /mnt/iso挂载ISO。cobbler import --path=/mnt/iso --name=centos7 --arch=x86_64,将ISO导入Cobbler。导入后会自动解压内核(vmlinuz)、初始化内存盘(initrd.img)等文件至/var/www/cobbler/ks_mirror/centos7目录。cobbler profile list查看已导入的镜像列表。Kickstart文件是自动化安装的核心,需提前编写并配置:
/var/lib/cobbler/kickstarts/目录下创建.ks文件(如centos7.ks),定义分区、软件包、密码等参数。示例:install
url --url="http://192.168.1.100/cobbler/ks_mirror/centos7" # Cobbler镜像源URL
lang en_US.UTF-8
keyboard us
rootpw --iscrypted $6$your_encrypted_password # 加密密码(可通过`openssl passwd -6`生成)
bootloader --location=mbr
clearpart --all --initlabel
part / --fstype ext4 --size 10240 # 根分区10GB
part swap --size 2048 # 交换分区2GB
%packages
@base
@core
vim
net-tools
%end
--kickstart参数指定Kickstart文件路径:cobbler profile add --name=centos7-profile --distro=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
或修改现有profile:cobbler profile edit --name=centos7-profile --kickstart=/var/lib/cobbler/kickstarts/centos7.ks。完成上述配置后,客户端即可通过网络启动部署:
pxelinux.0引导文件,根据Kickstart文件自动完成CentOS安装。为提高Cobbler的部署速度,可采取以下优化措施:
vm.dirty_ratio(脏页比例)为50、vm.dirty_background_ratio(后台脏页比例)为10,提升文件系统写入性能:sysctl -w vm.dirty_ratio=50
sysctl -w vm.dirty_background_ratio=10
manage_dns设为0(cobbler setting edit --name=manage_dns --value=0),减少资源消耗。logrotate定期压缩或删除Cobbler日志(/var/log/cobbler/cobbler.log),避免日志占用过多磁盘空间。Cobbler作为网络部署工具,需加强安全管理,防止未授权访问:
Port 2222)、禁用root登录(PermitRootLogin no)、启用密钥认证(PasswordAuthentication no),减少SSH攻击风险。sudo执行管理命令,降低权限滥用风险。yum update cobbler定期更新Cobbler及依赖组件,修复已知安全漏洞。chmod、chown设置Cobbler目录权限(如/var/lib/cobbler设为root:cobbler),限制未授权用户访问。