在开始定制化部署前,需完成基础环境配置:
systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config yum install -y epel-release 通过YUM安装Cobbler核心组件及依赖(包括HTTP服务、DHCP服务、TFTP服务等):
yum install -y cobbler cobbler-web httpd dhcp tftp-server pykickstart xinetd 编辑Cobbler主配置文件/etc/cobbler/settings,调整以下关键参数:
server)和TFTP服务器IP(next_server,通常与Cobbler服务器一致);manage_dhcp: 1,若需Cobbler自动配置DHCP);pxe_just_once: 1,防止客户端重复进入PXE引导循环;default_password_crypted设置root用户的加密密码(可使用openssl passwd -1生成)。cobbler sync 编辑Cobbler的DHCP模板文件/etc/cobbler/dhcp.template,定义IP地址范围、网关、DNS及PXE启动参数:
subnet 192.168.1.0 netmask 255.255.255.0 { range dynamic-bootp 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生效:
cobbler sync 编辑TFTP配置文件/etc/xinetd.d/tftp,指定TFTP根目录(Cobbler的默认TFTP路径为/var/lib/tftpboot):
server_args = -s /var/lib/tftpboot 重启TFTP服务:
systemctl restart xinetd 将CentOS ISO镜像文件上传至服务器(如/tmp/CentOS-7-x86_64-DVD-2009.iso),使用Cobbler导入镜像(生成系统镜像及Kickstart模板):
cobbler import --path=/tmp/CentOS-7-x86_64-DVD-2009.iso --name=centos7.9 --arch=x86_64 导入后,镜像会存储在/var/www/cobbler/ks_mirror/centos7.9目录下。
Kickstart文件是自动化安装的核心,需定义系统语言、时区、分区、软件包等参数。编辑/var/lib/cobbler/kickstarts/centos7.ks(示例):
# 基础配置 install url --url="http://$server/cobbler/ks_mirror/centos7.9" text lang en_US.UTF-8 keyboard us timezone Asia/Shanghai --ntpservers ntp1.aliyun.com # 分区方案(自动清空磁盘并创建默认分区) clearpart --all --initlabel autopart # 软件包选择(安装基础系统及常用工具) %packages @^minimal @core vim wget net-tools %end # 安装后脚本(禁用postfix服务) %post --log=/var/log/ks-post.log systemctl disable postfix.service %end 可根据需求扩展分区、添加自定义软件包或编写复杂的安装后脚本(如配置SSH免密、安装LNMP环境等)。
将导入的操作系统镜像与Kickstart文件关联,创建部署模板:
cobbler profile add --name=centos7.9 --distro=centos7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks 若需修改模板参数(如更换镜像源),可使用:
cobbler profile edit --name=centos7.9 --kickstart=/new/path/to/centos7.ks 为需要部署的客户端创建系统记录(可选,若需静态IP或特定主机名):
cobbler system add --name=client1 --profile=centos7.9 --mac=00:11:22:33:44:55 --ip=192.168.1.101 --netmask=255.255.255.0 --gateway=192.168.1.1 --dns=8.8.8.8 启用客户端的PXE启动:
cobbler system edit --name=client1 --netboot-enabled=true 同步配置使更改生效:
cobbler sync pxelinux.0),进入Kickstart安装界面;/var/log/cobbler/cobbler.log)或Kickstart日志(/var/log/ks-post.log)排查问题。通过以上步骤,可实现CentOS系统的定制化自动部署。根据实际需求,可进一步扩展Kickstart文件(如添加自定义脚本、配置YUM源)、调整Cobbler模板(如支持多架构、自定义分区策略),提升部署灵活性。