温馨提示×

debian cobbler怎样集成pxe

小樊
40
2026-10-06 17:41:51
栏目: 智能运维

在 Debian 上通过 Cobbler 集成 PXE 启动,核心思路是:
Cobbler 管理 DHCP + TFTP + PXE 引导文件,客户端通过 PXE 启动并从 Cobbler 获取系统安装配置。

下面按实战步骤说明(以 Debian 11/12 为例)。


一、环境准备

1. 基本前提

  • 一台 Debian 服务器(作为 Cobbler Server)
  • 内网环境(PXE 客户端与服务器同网段)
  • 具备 root 权限

2. 安装依赖

apt update
apt install -y cobbler cobbler-web tftp tftp-hpa \
  dhcp-server isc-dhcp-server xinetd syslinux \
  debootstrap rsync apache2

Debian 12 中 dhcp-server 通常是 isc-dhcp-server


二、Cobbler 基础配置

1. 修改 Cobbler 配置

编辑:

vim /etc/cobbler/settings.yaml

关键配置(示例):

server: 192.168.1.10
next_server: 192.168.1.10
manage_dhcp: 1
manage_tftp: 1
pxe_just_once: 1

server 和 next_server 必须是真实 IP

2. 设置密码(可选)

cobbler setting edit --name=default_password_crypted \
  --value="$(openssl passwd -1 'yourpass')"

三、PXE 相关服务集成

1. TFTP(PXE 引导必须)

Cobbler 会自动管理 TFTP,但需确保:

systemctl enable tftp
systemctl start tftp

(Debian 通常用 xinetd 或 systemd 管理)


2. DHCP(PXE 启动核心)

Cobbler 可自动生成 DHCP 配置。

编辑 Cobbler 的 DHCP 模板:

vim /etc/cobbler/dhcp.template

示例:

subnet 192.168.1.0 netmask 255.255.255.0 {
     option routers             192.168.1.1;
     option domain-name-servers 192.168.1.1;
     range dynamic-bootp        192.168.1.100 192.168.1.200;
     filename                   "pxelinux.0";
     next-server                192.168.1.10;
}

应用配置:

cobbler sync

四、导入系统镜像(PXE 安装源)

1. 挂载 ISO

mount -o loop debian-12-amd64-DVD-1.iso /mnt

2. 导入到 Cobbler

cobbler import --path=/mnt --name=debian12 --arch=x86_64

查看:

cobbler distro list

五、配置 PXE 启动菜单

1. 创建 Profile

cobbler profile add \
  --name=debian12-auto \
  --distro=debian12-x86_64 \
  --kickstart=/var/lib/cobbler/kickstarts/debian12.ks

2. 示例 Kickstart(Preseed)

Debian 实际用 preseed:

d-i debian-installer/locale string en_US
d-i keyboard-configuration xkb-keymap select us
d-i netcfg/get_hostname string debian-client
d-i mirror/country string manual
d-i mirror/http/hostname string ftp.debian.org
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic

六、启动 PXE 客户端

  1. 客户端 BIOS 设置为 Network Boot (PXE)
  2. 开机后:
    • 获取 IP(DHCP)
    • 下载 pxelinux.0
    • 显示 Cobbler PXE 菜单
    • 选择 debian12-auto
    • 自动安装

七、常见问题排查

1. PXE 卡在 “TFTP open timeout”

  • 防火墙放行 UDP 69
  • tftp 服务未启动

2. Cobbler Web 无法访问

systemctl restart apache2

访问:

https://IP/cobbler_web

3. 同步失败

cobbler check
cobbler sync

八、总结架构关系

Client (PXE)
   ↓ DHCP
Cobbler (DHCP)
   ↓ TFTP
pxelinux.0
   ↓ HTTP
Kickstart / Preseed
   ↓
自动安装 Debian

如果你愿意,我可以:

  • 给你一份 完整 Debian + Cobbler PXE 脚本
  • 或帮你配置 UEFI PXE
  • 或做 Cobbler + GRUB2 方案

你现在是 BIOS 还是 UEFI 环境?

0 踩