温馨提示×

debian cobbler如何同步

小樊
44
2026-10-03 19:31:04
栏目: 智能运维

在 Debian 上使用 Cobbler 进行“同步”(sync),通常指的是把你在 Cobbler 中配置的 distro / profile / system / repo / kickstart 等,真正写入到 DHCP / TFTP / PXE / DNS 等服务的配置中,并让客户端可以网络引导安装。

下面按常见使用场景说明。


一、Cobbler 同步的基本命令

最常用、最关键的同步命令:

cobbler sync

作用:

  • 生成 PXE 启动菜单
  • 更新 TFTP 中的 pxelinux.cfg
  • 根据配置重写 DHCP(如果启用了 manage_dhcp)
  • 应用 DNS(如果启用了 manage_dns)
  • 刷新 repo 镜像(不会自动下载,只是注册)

✅ 每次修改 Cobbler 配置后,都应执行一次 cobbler sync


二、Debian 上 Cobbler 同步前的准备

1. 安装 Cobbler(Debian)

sudo apt update
sudo apt install cobbler cobbler-web

相关服务:

systemctl status cobblerd
systemctl status tftpd-hpa
systemctl status apache2

2. 导入 Debian 系统镜像(distro)

例如挂载 ISO:

mount -o loop debian-12-netinst.iso /mnt

导入:

cobbler import \
  --path=/mnt \
  --name=debian12 \
  --arch=amd64

查看:

cobbler distro list
cobbler profile list

三、配置同步相关服务

1. 启用 Cobbler 管理 DHCP(推荐)

编辑:

/etc/cobbler/settings.yaml

(旧版是 settings)

manage_dhcp: true

示例 DHCP 模板:

/etc/cobbler/dhcp.template

然后:

cobbler sync

Cobbler 会自动生成:

/var/lib/tftpboot/pxelinux.cfg/default
/etc/dhcp/dhcpd.conf

2. 启用 TFTP(必须)

Debian 默认用 tftpd-hpa:

systemctl enable --now tftpd-hpa

TFTP 根目录:

/var/lib/tftpboot

四、repo 同步(软件仓库)

Cobbler 的 repo sync 和 cobbler sync 不是一回事。

添加 Debian repo

cobbler repo add \
  --name=debian12-main \
  --apt-mirror=http://deb.debian.org/debian \
  --arch=amd64 \
  --breed=apt

同步仓库(真正下载):

cobbler reposync

⚠️ 这可能需要很长时间,取决于带宽和仓库大小。


五、System / Profile 级别同步

添加 profile

cobbler profile edit \
  --name=debian12-x86_64 \
  --kickstart=/var/lib/cobbler/kickstarts/debian.preseed

添加 system(指定 MAC)

cobbler system add \
  --name=node01 \
  --mac=52:54:00:11:22:33 \
  --profile=debian12-x86_64

然后:

cobbler sync

PXE 菜单和 DHCP 就会包含这台机器。


六、常见同步问题排查

1. 修改配置后不生效

✅ 忘记 cobbler sync


2. PXE 启动找不到文件

检查:

/var/lib/tftpboot/pxelinux.0
/var/lib/tftpboot/pxelinux.cfg/default

3. DHCP 没分配 IP

确认:

manage_dhcp: true
cobbler sync
systemctl restart isc-dhcp-server

4. Web 界面修改后不同步

Web 只是写数据库,必须 CLI 执行:

cobbler sync

七、典型完整流程示例

# 1. 导入系统
cobbler import --path=/mnt --name=debian12 --arch=amd64

# 2. 添加 repo
cobbler repo add --name=debian12-main \
  --apt-mirror=http://deb.debian.org/debian \
  --breed=apt

# 3. 同步 repo
cobbler reposync

# 4. 添加主机
cobbler system add --name=node01 \
  --mac=52:54:00:11:22:33 \
  --profile=debian12-x86_64

# 5. 同步配置
cobbler sync

如果你能补充说明:

  • 是 PXE 安装不同步 还是 repo 不同步
  • Debian 版本(11 / 12)
  • 是否使用 cobbler-web

我可以给你更精确的配置示例。

0 踩