Cobbler如何配置Debian的网络启动
小樊
39
2025-11-18 10:09:01
Cobbler配置Debian网络启动
一 环境准备与安装
- 在基于 Debian/Ubuntu 的Cobbler服务器上安装所需组件:
- sudo apt-get update
- sudo apt-get install cobbler cobbler-web tftpd-hpa xinetd isc-dhcp-server
- 启动服务并设置开机自启:
- sudo systemctl enable --now cobblerd httpd xinetd isc-dhcp-server
- 说明:Cobbler提供网络安装与引导能力,配合 DHCP/TFTP/HTTP 为客户端提供 PXE 启动与安装介质。
二 核心配置
- 编辑主配置 /etc/cobbler/settings,确保以下关键项(示例值按你的网段调整):
- server: 192.168.1.2(Cobbler服务器IP)
- next_server: 192.168.1.2(通常与server一致)
- manage_dhcp: 1(由Cobbler生成并管理DHCP配置)
- manage_tftp: 1(由Cobbler管理TFTP根目录与文件分发)
- pxe_just_once: 0(允许重复PXE;设为1可避免重复装机)
- 配置DHCP模板 /etc/cobbler/dhcp.template(仅当 manage_dhcp=1 时生效):
- 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;
- }
- 配置TFTP(tftpd-hpa 常见做法):
- 编辑 /etc/default/tftpd-hpa,设置 TFTP 根目录(示例):
- TFTP_USERNAME=“tftp”
- TFTP_DIRECTORY=“/var/lib/tftpboot”
- TFTP_ADDRESS=“:69”
- TFTP_OPTIONS=“–secure”
- 使配置生效:
- sudo cobbler sync(会生成DHCP配置并重启相关服务)
- sudo cobbler check(检查配置是否可用)
- 要点:DHCP 的 next-server 必须指向Cobbler服务器;TFTP 提供引导文件(如 pxelinux.0)。
三 导入Debian镜像与创建启动项
- 方式A(推荐)导入ISO镜像:
- 挂载ISO:sudo mount -o loop /path/to/debian.iso /mnt
- 导入发行版:sudo cobbler import --path=/mnt --name debian-12
- 卸载:sudo umount /mnt
- 方式B 手动添加发行版(适用于netinst或自定义内核/initrd):
- cobbler distro add --name Debian-12-x86_64
–kernel /var/www/cobbler/ks_mirror/debian-12/install.amd64/vmlinuz
–initrd /var/www/cobbler/ks_mirror/debian-12/install.amd64/initrd.gz
–arch x86_64 --breed debian
- 创建安装配置(Profile,关联Kickstart/预置应答文件):
- sudo cobbler profile add --name debian-12-x86_64
–distro debian-12-x86_64
–kickstart /var/lib/cobbler/kickstarts/debian12.seed
- 说明:Kickstart(Debian常使用 preseed 应答文件,Cobbler也常以.seed命名)用于无人值守安装;示例条目展示了如何为Debian创建可引导的发行版与安装配置。
四 主机级PXE与自动化部署
- 为指定主机创建系统条目并启用PXE:
- sudo cobbler system add --name host01
–mac 00:11:22:33:44:55
–profile debian-12-x86_64
–ip-address 192.168.1.100
–subnet 255.255.255.0
–gateway 192.168.1.1
–hostname host01.example.com
–interface eth0
–static 1
–name-servers 8.8.8.8 8.8.4.4
- sudo cobbler system edit --name host01 --netboot-enabled true
- 同步并验证:
- sudo cobbler sync
- 客户端在BIOS/UEFI中设置从 PXE/网络 启动,即可自动获取IP、加载引导文件并进入Cobbler菜单或按预设自动安装。
五 常见问题与排错
- 同一网段存在多个DHCP会冲突:确保仅保留 一个 DHCP 服务;若由Cobbler管理,请将其他DHCP关闭或隔离网段。
- 客户端拿不到IP或找不到启动文件:核对 next-server 是否为Cobbler服务器IP,filename 是否为 pxelinux.0,以及TFTP根目录与文件权限是否正确。
- 导入后找不到安装介质:确认ISO已正确挂载并导入,或手动检查 /var/www/cobbler/ks_mirror/ 下是否存在对应发行版目录与内核/initrd。
- 虚拟机环境建议:优先使用 NAT/仅主机 网络模式以避免与物理网络DHCP冲突。
- 每次修改后执行 cobbler sync 并检查:sudo cobbler check;必要时查看 /var/log/cobbler/ 与 /var/log/syslog 日志定位问题。