CentOS Cobbler定制化配置指南
Cobbler是自动化Linux部署的利器,通过定制化配置可实现灵活的系统安装模板、网络适配及流程优化。以下是详细步骤:
在开始定制前,需安装Cobbler核心组件及关联服务(DHCP、TFTP、HTTP等),确保基础环境就绪:
sudo yum install cobbler cobbler-web httpd dhcp tftp-server pykickstart xinetd -y
编辑/etc/cobbler/settings文件,设置服务器标识与核心服务选项:
server)和TFTP服务器IP(next_server,通常与服务器IP一致);manage_dhcp=1),避免手动配置DHCP;pxe_just_once=1,防止客户端重复PXE引导;restart_dhcp=1,修改配置后自动重启DHCP服务。server: 192.168.1.100
next_server: 192.168.1.100
manage_dhcp: 1
pxe_just_once: 1
restart_dhcp: 1
/etc/dhcp/dhcpd.conf)添加子网配置,指定PXE启动文件及Cobbler服务器地址:
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; # Cobbler服务器IP(TFTP服务器)
}
重启DHCP服务使配置生效:
sudo systemctl restart dhcpd
/etc/xinetd.d/tftp)修改server_args参数,指定TFTP根目录为Cobbler的默认路径:
server_args = -s /var/lib/tftpboot
重启xinetd服务:
sudo systemctl restart xinetd
将CentOS ISO镜像导入Cobbler,生成对应的发行版(distro)信息:
sudo cobbler import --path=/path/to/CentOS-7.9.iso --name centos7.9 --arch x86_64
导入完成后,可通过cobbler distro list查看生成的发行版(如centos7.9-x86_64)。
Kickstart文件是自动化安装的核心,需根据需求自定义安装参数。
从Cobbler默认模板复制一份,修改为自定义名称(如centos7.9-custom.ks):
cp /var/lib/cobbler/kickstarts/CentOS-7.0-x86_64.minimal.ks /var/lib/cobbler/kickstarts/centos7.9-custom.ks
vi /var/lib/cobbler/kickstarts/centos7.9-custom.ks
@base(基础组件)、@development(开发工具)等组选择所需软件包;%post section中添加安装后任务(如关闭不必要的服务、安装额外工具)。# 基础信息
lang en_US.UTF-8
keyboard us
timezone Asia/Shanghai --ntpservers ntp1.aliyun.com
# 认证
rootpw --iscrypted $6$random_salt$hashed_password # 使用加密密码(可通过`openssl passwd -6`生成)
# 分区
clearpart --all --initlabel
part /boot --fstype=ext4 --size=500
part pv.01 --size=1 --grow
volgroup vg_centos --pesize=4096 pv.01
logvol / --fstype=ext4 --name=root --vgname=vg_centos --size=1 --grow
logvol swap --fstype=swap --name=swap --vgname=vg_centos --size=1024
# 软件包
%packages
@base
@core
net-tools
telnet
sysstat
%end
# 后置脚本
%post --log /var/log/ks-post.log
systemctl disable postfix.service # 关闭postfix服务
%end
将定制化的Kickstart模板与导入的发行版关联,生成可部署的配置文件(profile):
sudo cobbler profile add \
--name centos7.9-custom \ # 配置文件名称(自定义)
--distro centos7.9-x86_64 \ # 关联的发行版(import生成的)
--kickstart /var/lib/cobbler/kickstarts/centos7.9-custom.ks # 指定Kickstart文件路径
为特定系统添加PXE启动配置,确保客户端能通过网络引导:
sudo cobbler system add \
--name centos7.9-client \ # 系统名称(自定义)
--profile centos7.9-custom \ # 关联的配置文件
--netboot-enabled true # 启用网络启动
所有配置完成后,执行同步命令将更改应用到Cobbler服务:
sudo cobbler sync
启动并设置Cobbler及HTTP服务开机自启:
sudo systemctl start cobblerd
sudo systemctl enable cobblerd
sudo systemctl start httpd
sudo systemctl enable httpd
允许Cobbler相关服务通过防火墙,确保客户端能访问:
sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=tftp --permanent
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
通过虚拟机(如virt-install)或物理机测试PXE启动,验证自动化安装流程是否符合预期:
virt-install \
--name test-centos7.9 \
--ram 2048 \
--vcpus 2 \
--disk size=10 \
--network network=default,model=virtio \
--boot network,hd \
--os-variant centos7.0
若安装过程自动完成且符合自定义配置,则说明定制化成功。
通过以上步骤,可实现CentOS Cobbler的全面定制化,满足不同环境的自动化部署需求。定制化过程中,需重点关注Kickstart文件的正确性(可使用cobbler validateks命令验证)及网络配置的一致性。