Cobbler实现CentOS系统批量部署的完整流程
一、环境准备
-
基础环境要求
- Cobbler服务器需与所有客户端处于同一局域网,且局域网内仅Cobbler服务器提供DHCP服务(避免多DHCP冲突)。
- 关闭SELinux及防火墙(或放行必要端口):
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 # 关闭SELinux systemctl stop firewalld && systemctl disable firewalld # 关闭防火墙 - 安装epel-release(提供额外软件包):
yum install -y epel-release
-
安装Cobbler及依赖
Cobbler依赖tftp、dhcp、httpd等服务,通过以下命令安装:yum install -y cobbler cobbler-web dhcp tftp-server xinetd httpd pykickstart -
启动核心服务并设置开机自启
systemctl enable --now httpd cobblerd xinetd dhcpd # 启动服务并设置开机自启 -
配置Cobbler基础参数
编辑/etc/cobbler/settings,修改以下关键参数:server:设置为Cobbler服务器的IP地址(如192.168.1.100);next_server:设置为TFTP服务器的IP地址(通常与server一致);manage_dhcp:若Cobbler管理DHCP则设为1(否则需手动配置DHCP,见后续步骤)。
保存后同步配置:
cobbler sync -
检查配置完整性
运行cobbler check,根据提示修复问题(如开启/etc/xinetd.d/tftp的disable=no、下载PXE引导文件cobbler get-loaders等),直至无错误提示。
二、导入CentOS镜像
-
挂载CentOS ISO镜像
将CentOS ISO文件上传至服务器(如/root/CentOS-7-x86_64-Minimal.iso),创建挂载目录并挂载:mkdir -p /mnt/centos7 mount -o loop /root/CentOS-7-x86_64-Minimal.iso /mnt/centos7 -
导入镜像到Cobbler
使用cobbler import命令导入镜像,生成对应的distro(系统镜像)和profile(安装配置模板):cobbler import --name=centos7 --arch=x86_64 --path=/mnt/centos7--name:自定义镜像名称(如centos7);--arch:系统架构(x86_64或i386);--path:镜像挂载路径。
导入完成后,可通过cobbler distro list查看生成的distro(如centos7-x86_64)。
三、创建Kickstart文件(自动化安装模板)
Kickstart文件定义了系统安装的自动化参数(分区、用户、软件包等),需放置在/var/lib/cobbler/kickstarts/目录下。
-
生成基础Kickstart文件
使用system-config-kickstart工具生成图形化模板(需安装system-config-kickstart):yum install -y system-config-kickstart system-config-kickstart # 图形化配置后保存为`centos7.ks`或手动创建(示例):
cat > /var/lib/cobbler/kickstarts/centos7.ks <<EOF #platform=x86, AMD64, or Intel EM64T #version=DEVEL install url --url=\$tree # 指向Cobbler的HTTP镜像路径(自动填充) lang en_US.UTF-8 keyboard us network --onboot yes --device eth0 --bootproto dhcp # 自动获取IP rootpw --iscrypted \$6\$your_encrypted_password # 加密密码(用`openssl passwd -6`生成) firewall --disabled selinux --disabled timezone Asia/Shanghai bootloader --location=mbr zerombr clearpart --all --initlabel part / --fstype="xfs" --size=10240 # 根分区10GB part swap --size=2048 # 交换分区2GB %packages @^minimal vim-enhanced net-tools %end EOF -
验证Kickstart语法
使用ksvalidator工具检查文件合法性:ksvalidator /var/lib/cobbler/kickstarts/centos7.ks
四、关联Profile与Kickstart文件
Profile是Cobbler中连接distro(系统镜像)与kickstart(自动化配置)的桥梁,通过以下命令创建:
cobbler profile add --name=centos7-base --distro=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
--name:Profile名称(如centos7-base);--distro:之前导入的distro名称(如centos7-x86_64);--kickstart:Kickstart文件路径。
创建后可查看Profile列表:
cobbler profile list
五、配置DHCP(可选,若Cobbler管理DHCP)
若manage_dhcp设为1,需编辑/etc/cobbler/dhcp.template,配置DHCP参数:
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 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
}
保存后同步配置:
cobbler sync
六、客户端批量部署
-
客户端设置
将客户端的BIOS/UEFI启动模式设置为网络启动(PXE),优先从网络启动。 -
自动安装流程
客户端启动后,通过PXE获取Cobbler服务器的IP,加载pxelinux.0引导文件,读取对应的Profile,自动下载CentOS镜像并通过Kickstart文件完成无人值守安装。 -
验证部署结果
安装完成后,检查客户端系统版本、分区、用户及软件包是否符合Kickstart文件的配置。
注意事项
- 镜像选择:导入的CentOS镜像需与客户端架构一致(如
x86_64); - 密码加密:Kickstart中的
rootpw需使用openssl passwd -6生成加密字符串(如$6$salt$encrypted_password); - 网络要求:客户端与Cobbler服务器需在同一网段,或通过路由器配置DHCP中继;
- 批量扩展:可通过脚本批量创建
Profile(如循环生成不同配置的Profile),实现多版本/多环境的批量部署。
以上就是关于“Cobbler如何实现CentOS系统的批量部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm