Cobbler 是一个用于自动化 Linux 系统部署的工具,它支持 PXE 网络启动、自动安装和配置操作系统,从而简化了批量部署服务器的复杂流程。以下是基于 CentOS 使用 Cobbler 实现自动化部署的步骤:
停止并禁用防火墙:
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
安装 Cobbler 及相关依赖:
yum -y install epel-release
yum -y install cobbler cobbler-web tftp-server dhcp httpd xinetd
启动 Cobbler 服务并设置为开机启动:
systemctl start httpd cobblerd
systemctl enable httpd cobblerd
配置动态设置:
sed -ri '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings
systemctl restart cobblerd
设置服务器地址、网关、DHCP 服务:
cobbler setting edit --name=server --value=192.168.52.202
cobbler setting edit --name=next_server --value=192.168.52.203
cobbler setting edit --name=tftp_servers --value=yes
systemctl enable xinetd
systemctl restart xinetd
导入操作系统镜像:
cobbler import --path=/path/to/centos7 --name=centos7.4 --arch=x86_64
创建 Kickstart 文件:
创建一个 kickstart 文件(例如 ks.cfg
),并定义自动化安装参数:
cat > /var/lib/cobbler/kickstarts/centos7.ks <<EOL
installurl --url="http://$server/cobbler/ks_mirror/centos7"
rootpw --iscrypted `$default_password_crypted'
firewall --disabled
EOL
同步 Cobbler 配置:
cobbler sync
配置 DHCP:
编辑 /etc/cobbler/dhcp.template
文件,设置网段、网关、DNS 服务器地址等:
vi /etc/cobbler/dhcp.template
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 192.168.1.2;
}
配置 PXE 启动:
在 Cobbler 中创建一个新的 boot entry,以便从网络引导系统:
sudo cobbler bootentry create --name="YourSystemName" --kernel=/path/to/vmlinuz --initrd=/path/to/initrd --kickstart=/path/to/ks.cfg --arch=x86_64
发布 boot entry:
将新创建的 boot entry 发布到 DHCP 服务器(如果启用了 DHCP):
sudo cobbler bootentry publish --name="YourSystemName"
完成上述步骤后,客户端计算机通过 PXE 启动时将使用指定的 Kickstart 文件进行自动化安装。
有关详细的配置说明和高级选项,请参考 [Cobbler 官方文档](https:// cobbler.readthedocs.io/en/stable/)。