一、环境准备
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
sudo apt-get update
sudo apt-get install cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd
二、配置Cobbler核心参数
/etc/cobbler/settings,设置服务器基础信息:server: 192.168.1.100 # Cobbler服务器IP(需能被客户端访问)
next_server: 192.168.1.100 # PXE引导服务器IP(通常与server一致)
manage_dhcp: 1 # 允许Cobbler管理DHCP(需DHCP服务器配合)
manage_dns: 0 # 若需Cobbler管理DNS,设为1(可选)
sed -i 's/disable = yes/disable = no/' /etc/xinetd.d/tftp
systemctl enable --now xinetd tftpd-hpa
三、导入Debian操作系统镜像
sudo mkdir -p /mnt/debian_iso
sudo mount -o loop /path/to/debian.iso /mnt/debian_iso
sudo cobbler import --path=/mnt/debian_iso --name=debian-12 --arch=x86_64
sudo umount /mnt/debian_iso
--name:自定义镜像名称(如debian-12),后续创建系统时需引用;--arch:指定架构(如x86_64、arm64,需与ISO匹配)。四、添加目标系统配置
cobbler system add命令为每台客户端创建配置(替换为实际信息):sudo cobbler system add \
--name=web-server-01 \ # 系统名称(自定义)
--profile=debian-12 \ # 关联的镜像profile(需与import的--name一致)
--mac=00:1A:2B:3C:4D:5E \ # 客户端MAC地址(唯一标识)
--ip-address=192.168.1.101 \ # 静态IP地址
--subnet=255.255.255.0 \ # 子网掩码
--gateway=192.168.1.1 \ # 网关地址
--hostname=web-server-01.local \# 主机名
--interface=eth0 \ # 网络接口名称(客户端实际接口)
--static=1 # 使用静态IP(若为动态DHCP,设为0)
debian-ks.cfg)上传至/var/lib/cobbler/kickstarts/;sudo cobbler system edit --name=web-server-01 --kickstart=/var/lib/cobbler/kickstarts/debian-ks.cfg
五、同步配置并启动服务
cobbler sync将配置同步到TFTP、DHCP等服务:sudo cobbler sync
pxelinux.0)、复制镜像到TFTP目录,并更新DHCP配置(若manage_dhcp=1)。sudo systemctl enable --now cobblerd httpd
六、客户端批量部署
注意事项
debconf-set-selections预配置密码等参数;cobbler check错误(如TFTP未启用、DHCP配置缺失),需根据提示修复。