CentOS环境下Cobbler自动化部署案例分享
在开始部署前,需完成以下基础环境配置:
systemctl stop firewalld && systemctl disable firewalld;setenforce 0;sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config。yum install epel-release -y;yum install cobbler cobbler-web dhcp tftp-server httpd xinetd pykickstart -y。启动HTTP(提供镜像与Kickstart文件访问)、Cobbler(核心管理)、TFTP(传输启动文件)服务,并设置为开机自启:
systemctl start httpd && systemctl enable httpd;systemctl start cobblerd && systemctl enable cobblerd;systemctl start xinetd && systemctl enable xinetd。
编辑/etc/cobbler/settings文件,设置关键参数:
server:Cobbler服务器本机IP(如192.168.52.202);next_server:TFTP服务器IP(通常与server一致);manage_dhcp:设为1(让Cobbler自动管理DHCP配置,简化流程)。cobbler sync。将CentOS ISO镜像上传至服务器(如/root/CentOS-7-x86_64-Minimal-2009.iso),挂载后导入至Cobbler:
mkdir -p /mnt/iso;mount -o loop /root/CentOS-7-x86_64-Minimal-2009.iso /mnt/iso;cobbler import --name=centos7.9 --arch=x86_64 --path=/mnt/iso。
导入完成后,通过cobbler distro list查看可用系统镜像(如centos7.9-x86_64)。
编辑/etc/cobbler/dhcp.template文件,定义DHCP网段、网关、DNS及PXE启动参数(关键字段):
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
range dynamic-bootp 192.168.1.100 192.168.1.200;
filename "pxelinux.0";
next-server 192.168.52.202; # 与Cobbler服务器IP一致
}
同步配置使DHCP生效:cobbler sync。
Kickstart文件定义了系统安装的自动化流程(分区、软件包、用户等)。创建示例文件/var/lib/cobbler/kickstarts/centos7.ks:
install
url --url="http://192.168.52.202/cobbler/ks_mirror/centos7.9" # 镜像访问路径
lang en_US.UTF-8
keyboard us
rootpw --iscrypted $6$your_encrypted_password # 加密root密码(通过`openssl passwd -1`生成)
firewall --disabled
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr
clearpart --all --initlabel
part / --fstype ext4 --size 10240 # 根分区10GB
part swap --size 2048 # 交换分区2GB
%packages
@base
@core
vim
net-tools
%end
%post
echo "System installed successfully!" > /etc/motd # 安装后执行命令(如添加欢迎信息)
%end
通过openssl passwd -1生成加密密码(如$6$salt_value$password_hash),替换上述文件中的your_encrypted_password。
通过Cobbler CLI将镜像与Kickstart文件关联,创建可部署的系统配置:
cobbler system add --name=test-vm --profile=centos7.9-x86_64 --netboot-enabled=true。
若需静态IP,可编辑系统配置:cobbler system edit --name=test-vm --interface=eth0 --mac=00:11:22:AA:BB:CC --ip-address=192.168.1.150 --netmask=255.255.255.0 --static=1 --gateway=192.168.1.1 --dns-name=test.example.com。
pxelinux.0)。https://192.168.52.202/cobbler_web,默认用户名cobbler,密码cobbler),找到目标系统(如test-vm),点击“Start”启动部署。客户端主机将自动完成系统安装,安装完成后可通过SSH登录(使用配置的root密码),检查系统版本、分区情况及预装软件包是否符合预期。
systemctl status tftp),确认/etc/xinetd.d/tftp中disable=no;确保客户端网卡支持PXE。cobbler validateks --profile=centos7.9-x86_64验证Kickstart语法;检查镜像路径(install url)是否正确。manage_dhcp=1)。