Cobbler与CentOS集成的详细步骤
在开始集成前,需完成以下基础配置:
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
yum install epel-release -y
yum install cobbler cobbler-web httpd tftp-server dhcp xinetd pykickstart -y
编辑Cobbler核心配置文件/etc/cobbler/settings,设置关键参数:
192.168.1.100)。1,让Cobbler自动管理DHCP服务(简化配置)。1,防止客户端重复进入PXE安装流程。systemctl restart cobblerd
Cobbler可通过模板文件自动生成DHCP配置,无需手动编辑/etc/dhcp/dhcpd.conf。
cobbler dhcp template edit
添加以下内容(根据实际网络调整子网、网关、DNS):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; # TFTP服务器IP(即Cobbler服务器)
}
cobbler sync
systemctl restart dhcpd
TFTP服务用于传输PXE启动文件(如pxelinux.0),需调整其根目录指向Cobbler的TFTP目录。
vim /etc/xinetd.d/tftp
找到server_args行,修改为:server_args = -s /var/lib/tftpboot
systemctl restart xinetd
将CentOS ISO镜像复制到服务器本地(如/tmp/CentOS-7-x86_64-DVD-2009.iso),然后通过Cobbler导入:
cobbler import --path=/tmp/CentOS-7-x86_64-DVD-2009.iso --name=centos7 --arch=x86_64
--path:ISO文件的存放路径。--name:给导入的系统镜像命名(如centos7)。--arch:系统架构(x86_64或i386)。/var/www/cobbler/ks_mirror/centos7目录(作为HTTP安装源)。Kickstart文件定义了CentOS安装过程的自动化配置(如分区、用户、网络等)。
/var/lib/cobbler/kickstarts/目录下新建centos7.ks文件,内容示例如下:install
url --url="http://192.168.1.100/cobbler/ks_mirror/centos7" # 指向Cobbler的HTTP安装源
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp --onboot=yes
timezone Asia/Shanghai
rootpw --iscrypted $6$your_encrypted_password # 使用`openssl passwd -6`生成加密密码
bootloader --location=mbr --boot-drive=sda
zerombr
clearpart --all --initlabel
part / --fstype=xfs --size=10240 # 根分区大小10GB
part swap --size=2048 # 交换分区大小2GB
%packages
@^minimal
@core
vim
wget
%end
openssl passwd -6
输入密码后会生成加密字符串,替换上述rootpw中的占位符。将导入的CentOS镜像与Kickstart文件关联,创建可部署的系统配置。
cobbler profile edit --name=centos7 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
--name:系统配置名称(如centos7)。--kickstart:Kickstart文件的路径。cobbler system add --name=centos-server --profile=centos7 --netboot-enabled=true
--name:客户端系统名称(如centos-server)。--profile:关联的系统配置名称(如centos7)。--netboot-enabled:设为true,允许客户端通过网络启动。cobbler sync
pxelinux.0启动文件,根据Kickstart文件自动化安装CentOS系统。通过以上步骤,Cobbler与CentOS成功集成,可实现CentOS系统的自动化批量部署,大幅减少手动安装工作量。需根据实际网络环境调整IP地址、子网掩码、网关等参数,确保各服务正常通信。