基础环境要求
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 # 关闭SELinux
systemctl stop firewalld && systemctl disable firewalld # 关闭防火墙
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 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文件定义了系统安装的自动化参数(分区、用户、软件包等),需放置在/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是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
若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文件的配置。
x86_64);rootpw需使用openssl passwd -6生成加密字符串(如$6$salt$encrypted_password);Profile(如循环生成不同配置的Profile),实现多版本/多环境的批量部署。