一、环境准备
在Debian服务器上部署Cobbler前,需完成基础环境配置:
systemctl stop firewalld && systemctl disable firewalld关闭防火墙,setenforce 0临时禁用SELinux,sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux永久禁用。apt-get install cobbler cobbler-web tftpd-hpa isc-dhcp-server xinetd apache2安装。二、配置Cobbler主服务
编辑Cobbler主配置文件/etc/cobbler/settings,设置核心参数:
server:Cobbler服务器IP地址(如192.168.1.100);next_server:PXE启动文件(如pxelinux.0)所在服务器IP,通常与server一致;manage_dhcp:设为yes让Cobbler自动管理DHCP配置(需确保DHCP服务未由其他程序管理)。cobbler check检查配置完整性,根据提示修复问题(如缺少TFTP目录需创建/var/lib/tftpboot)。三、配置DHCP服务
Cobbler需通过DHCP向客户端分配IP并指向PXE启动文件,编辑/etc/dhcp/dhcpd.conf:
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
}
重启DHCP服务使配置生效:systemctl restart isc-dhcp-server。
四、导入Debian镜像与配置PXE启动文件
/mnt,执行cobbler import --path=/mnt --name=debian12 --arch=amd64,Cobbler会自动下载镜像并创建对应的distro(发行版)和profile(配置模板)。initrd.gz需替换为Netboot专用版本(支持网络安装),执行以下命令:wget -O /root/debian12-netboot.gz https://mirrors.ustc.edu.cn/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
cat /var/www/cobbler/distro_mirror/debian12/install.amd/initrd.gz /root/debian12-netboot.gz > /var/www/cobbler/pub/debian12-netboot.gz
cobbler distro edit --name=debian12-x86_64 --initrd "/var/www/cobbler/pub/debian12-netboot.gz"
此步骤是Debian PXE启动的关键,确保客户端能正确获取网络安装文件。
五、编写Debian自动化安装Seed文件
Seed文件用于自动应答Debian安装过程中的交互问题,创建/var/lib/cobbler/templates/debian12.seed(以Debian 12为例):
### 基本语言与区域设置
d-i debian-installer/locale string en_US
d-i keyboard-configuration/xkb-keymap select us
d-i localechooser/supported-locales multiselect en_US.UTF-8, zh_CN.UTF-8
### 用户与密码
d-i passwd/root-login boolean true # 允许root登录
d-i passwd/root-password password Passw0rd # root密码
d-i passwd/root-password-again password Passw0rd
d-i passwd/make-user boolean false # 不创建普通用户
### 网络配置
d-i netcfg/choose_interface select auto # 自动选择网络接口
d-i netcfg/get_hostname string debian-node # 主机名
d-i netcfg/get_domain string localdomain # 域名
### 镜像源配置
d-i mirror/country string manual
d-i mirror/http/hostname string mirrors.tuna.tsinghua.edu.cn
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string # 无代理则留空
### 软件包选择
tasksel tasksel/first multiselect standard # 安装标准系统
d-i pkgsel/include string vim,ssh # 额外安装的软件包
Seed文件需存放在Cobbler的模板目录,供后续system配置调用。
六、创建Cobbler System配置
将客户端系统与Profile关联,并配置MAC地址、IP等参数,执行:
cobbler system add \
--name=debian-node-01 \ # 系统名称(自定义)
--profile=debian12-x86_64 \ # 关联的Profile(import时生成)
--mac=00:11:22:33:44:55 \ # 客户端MAC地址(需唯一)
--ip-address=192.168.1.101 \ # 静态IP(若用静态)
--subnet=255.255.255.0 \ # 子网掩码
--gateway=192.168.1.1 \ # 网关
--hostname=debian-node-01.localdomain # 主机名
--interface=eth0 # 网络接口
--kickstart=/var/lib/cobbler/templates/debian12.seed # 关联Seed文件
执行cobbler sync同步配置,将System信息推送至DHCP、TFTP等服务。
七、启动服务并测试部署
启动Cobbler及相关服务并设置开机自启:
systemctl enable cobblerd dhcpd apache2 xinetd
systemctl start cobblerd dhcpd apache2 xinetd
测试:将客户端计算机设置为PXE启动(BIOS/UEFI中优先选择PXE),重启后客户端会自动从Cobbler服务器获取IP、加载PXE文件,进入Debian自动化安装界面,无需人工干预即可完成系统部署。
注意事项
/etc/cobbler、/var/lib/cobbler),避免数据丢失。