Cobbler 3.3.10 介绍与选型指南
Cobbler 3.3.10 网络装机服务器全景介绍:核心架构、对象模型、功能特性与快速上手实测,并量化对比 Foreman、MAAS 与手工 PXE+kickstart 选型。
Cobbler 3.3.10 介绍与选型指南
目标:讲清 Cobbler 是什么、怎么工作、适合谁用,并以量化数据与 Foreman、MAAS、手工 PXE+kickstart 方案横向对比,给出可落地的选型建议。本文所有命令与回显均在 Ubuntu 22.04.5 LTS + Cobbler 3.3.10 环境实测通过。
一、环境信息
本文实测环境如下,后续章节的命令与回显均出自该环境:
| 项目 | 值 |
|---|---|
| 操作系统 | Ubuntu 22.04.5 LTS(x86_64,内核 6.8.0-138-generic) |
| Cobbler 版本 | 3.3.10(pip 安装,PyPI 官方包 cobbler-3.3.10-py3-none-any.whl) |
| Python | 3.10.12 |
| Web 服务 | Apache/2.4.52 (Ubuntu) |
| 服务监听 | cobblerd 127.0.0.1:25151(XML-RPC)、Apache 80 |
| 本机 IP | 10.89.57.2 |
| 版本查询日期 | 2026-10-22 |
关键服务运行状态实测:
systemctl is-active cobblerd apache2
实测回显:
active
active
cobblerd 守护进程监听端口的实测回显:
ss -ltnp | grep 25151
LISTEN 0 5 127.0.0.1:25151 0.0.0.0:* users:(("cobblerd",pid=7810,fd=4))
💡 说明:cobblerd 默认只绑定
127.0.0.1:25151,对外统一由 Apache 反向代理/cobbler_api到该端口,这是 Cobbler 官方推荐的安全形态(XML-RPC 不直接暴露外网)。
二、软件概述
本节先给 Cobbler 画一张"身份证",再交代它的版本现状,帮助读者在 30 秒内判断这是不是自己要找的工具。
2.1 Cobbler 是什么
Cobbler 是一个 Linux 网络装机(provisioning)与自动化部署服务器,由 Michael DeHaan 于 2006 年前后发起(作者同时是 Ansible 的创始人),诞生于 Red Hat 生态,目前由 GitHub 上的 cobbler/cobbler 社区维护,采用 GPL-2.0 许可证(源码包 COPYING 文件实测为 "GNU GENERAL PUBLIC LICENSE Version 2")。
一句话概括它的能力:把"插网线、开机、装系统"这件事完全交给服务器自己完成。它把装机所需的四类服务整合到一个统一的数据模型下管理:
- DHCP:给 PXE 客户端分配 IP 并告知 TFTP 服务器地址(next-server);
- TFTP:向客户端下发引导加载器(pxelinux.0/grub)与内核(kernel/initrd);
- HTTP:托管操作系统安装树与自动应答文件(kickstart/preseed/autoinstall);
- 数据与策略:以 distro/profile/system 等对象记录"装什么系统、装到哪台机器、怎么装"。
它同时提供 CLI、Web UI 与 XML-RPC/Python API 三种操作入口,适合作为数据中心批量装机的"装机中控"。
2.2 版本现状(实查于 2026-10-22)
版本信息取自 Cobbler 官方 GitHub Releases 页面(https://github.com/cobbler/cobbler/releases,查询日期 2026-10-22):
| 版本线 | 最新版本 | 发布日期 | 性质 |
|---|---|---|---|
| 3.3.x(稳定线) | 3.3.10 | 2026-09-18 | 最新稳定版,生产推荐 |
| 3.3.x(历史) | 3.3.9 / 3.3.8 | 2026 年 | 3.3.8 因 CI 打包问题官方标注 defunct,直接跳过 |
| 4.0.x | 4.0.0b6 | — | Pre-release(Beta 预览),不稳定,不推荐生产 |
关键解读:截至 2026-10-22,Cobbler 官方最新稳定版是 3.3.10(2026-09-18 发布),4.0 系列尚在 Beta 迭代。本文全部内容基于 3.3.10 实测;文中版本号均来自该次实查,不硬编码推测未来的版本。
在 Ubuntu 22.04 上可通过 PyPI 直接安装 3.3.10(本环境实测,pip index versions cobbler 回显):
cobbler (3.3.10)
Available versions: 3.3.10, 3.3.9, 3.3.7, 3.3.6, 3.3.5, 3.3.4, 3.3.3, 3.3.2, 3.3.1, 3.3.0, 3.2.3, 3.2.2, 3.2.1, 3.1.2
⚠️ 注意:Ubuntu 22.04 官方仓库(main/universe)经实测没有 cobbler 包(
apt-cache search cobbler无结果),因此 Ubuntu 侧的安装路径是 PyPI/pip 或官方源码构建 deb,详见本专栏的《Ubuntu 22.04 安装 Cobbler 指南》。
三、核心架构
本节拆解 Cobbler 的组件构成、对象模型与一次 PXE 装机的完整数据流,全部配实测证据。
3.1 组件与端口
| 组件 | 角色 | 默认端口/路径 | 实测状态 |
|---|---|---|---|
| cobblerd | 核心守护进程,持有对象库与业务逻辑,暴露 XML-RPC API | 127.0.0.1:25151 | active |
| cobbler CLI | 管理命令行,通过 Apache 代理调用 XML-RPC | /cobbler_api | 实测可用 |
| Apache 2.4 | 反向代理 XML-RPC + 托管安装树/应答文件 | 80/443,/cobbler_api→25151 | active |
| TFTP 服务器 | tftpd-hpa,向 PXE 客户端下发引导文件 | 69/UDP,根目录 /srv/tftpboot | 已部署 |
| DHCP 服务器 | 可托管(isc-dhcp-server/dnsmasq)或复用现有 DHCP | 67/UDP | 按需启用 |
| 数据序列化 | JSON 文件库(/var/lib/cobbler/collections/),可选 MongoDB | — | 文件模式 |
其中 Apache 的关键代理配置(官方源码 config/apache/cobbler.conf 原文节选):
ProxyRequests off
ProxyPass /cobbler_api http://127.0.0.1:25151/
ProxyPassReverse /cobbler_api http://127.0.0.1:25151/
💡 说明:
ProxyPass /cobbler_api把所有 API/CLI 请求转发给 cobblerd 的 25151 端口,这正是cobbler check会检查"httpd 是否在运行并代理 Cobbler"的原因——CLI 不直连 cobblerd,而是走http://127.0.0.1/cobbler_api。
3.2 对象模型
Cobbler 用九类对象描述整个装机世界,cobbler list 的实测回显(导入一个发行版后):
distros:
ubuntu-2004-x86_64
profiles:
ubuntu-2004-x86_64
systems:
web-01
repos:
images:
mgmtclasses:
packages:
files:
menus:
九类对象的职责与关系:
| 对象 | 职责 | 典型继承关系 |
|---|---|---|
| distro | 一个可安装的发行版(kernel+initrd+安装树) | 顶层 |
| profile | 装机模板:哪个 distro + 哪份应答文件 + 内核参数 | 继承 distro |
| system | 一台具体机器:MAC/IP/主机名/电源管理 | 继承 profile |
| menu | PXE 启动菜单分组 | 关联 profile |
| repo | 需要镜像同步的软件仓库(reposync) | 被 profile/system 引用 |
| image | 非安装树形态的镜像(如 live ISO、虚拟机盘) | 独立 |
| mgmtclass | 配置管理类(联动 Puppet 等) | 被 profile/system 引用 |
| package/file | 管理包与文件清单(配合配置管理) | 被 mgmtclass 引用 |
核心继承链是 distro → profile → system:distro 回答"装什么",profile 回答"怎么装",system 回答"装到哪台机器"。对象字段大量使用 <<inherit>> 占位,改动 distro/profile 会自动向下传播——这是 Cobbler 与"散落的手工 kickstart 文件"最大的工程化差异。
3.3 一次 PXE 装机的数据流
以裸机 web-01(MAC 52:54:00:aa:bb:cc)开机装机为例,完整链路如下:
- DHCP:网卡 PXE ROM 广播 DHCP 请求,DHCP 服务分配 IP 并返回 next-server(即
next_server_v4,本环境为 10.89.57.2)与引导文件名; - TFTP:客户端从
/srv/tftpboot拉取 pxelinux.0(BIOS)或 grubx64.efi(UEFI),再按 MAC 匹配pxelinux.cfg/01-52-54-00-aa-bb-cc配置文件; - 内核与根文件系统:按配置下载
kernel/initrd并启动安装程序; - 应答文件:安装程序通过 HTTP 拉取 Cobbler 生成的自动应答文件(
http://<server>/cblr/svc/...),完成全自动分区、装包、设密码; - 收尾:装完自动重启,进入本地系统。
以下两段是本环境实测的真实验证。cobbler system add 创建 system 并 cobbler sync 后,Cobbler 为该 MAC 生成的专属 PXE 配置文件:
cat /srv/tftpboot/pxelinux.cfg/01-52-54-00-aa-bb-cc
实测回显:
default web-01
ontimeout web-01
timeout 1
prompt 0
LABEL web-01
MENU LABEL web-01
kernel /images/ubuntu-2004-x86_64/linux
append initrd=/images/ubuntu-2004-x86_64/initrd.gz hostname=web-01 domain=lan suite=focal
ipappend 2
cobbler sync 后 TFTP 根目录的完整产物(实测 ls /srv/tftpboot/):
grub
grub-x86_64.efi
grub.cfg
images
ipxe
menu.c32
pxelinux.0
pxelinux.cfg
💡 技术拓展:PXE 引导固件不止 BIOS 一种,Cobbler 3.3 同时支持三类引导形态——
引导形态 加载器 适用硬件 BIOS Legacy pxelinux.0 + menu.c32(syslinux) 老旧 x86 服务器 UEFI x86_64 grubx64.efi / shim 近十年的主流服务器 iPXE undionly.kpxe 等 需要脚本化引导/HTTP 拉取大内核的场景 本文实测环境同时准备了 pxelinux.0(BIOS)与 grub-x86_64.efi(UEFI),
cobbler check会逐项检查这些引导文件是否就位。
3.4 关键目录与文件
实测 ls /etc/cobbler/(核心配置)与 ls /var/lib/cobbler/(数据):
/etc/cobbler:
auth.conf dhcp.template modules.conf rsync.exclude users.digest
boot_loader_conf dhcp6.template mongodb.conf rsync.template zone.template
cheetah_macros dnsmasq.template named.template secondary.template
distro_signatures... iso ndjbdns.template settings.d
...
/var/lib/cobbler:
collections distro_signatures.json grub_config loaders scripts snippets templates triggers web.ss
关键文件速查:
| 路径 | 作用 |
|---|---|
/etc/cobbler/settings.yaml | 主配置(YAML),server/next_server/manage_dhcp 等全部核心参数 |
/etc/cobbler/modules.conf | 认证/授权/DNS/DHCP/TFTP 的模块选型 |
/etc/cobbler/users.conf / users.digest | Web UI 用户与摘要口令 |
/etc/cobbler/dhcp.template 等 | DHCP/DNS 等服务的管理模板 |
/etc/cobbler/distro_signatures.json | 发行版签名库(import 识别依据) |
/var/lib/cobbler/collections/ | 九类对象的 JSON 序列化数据 |
/var/lib/cobbler/loaders/ | 引导加载器仓(pxelinux.0/menu.c32/grub EFI) |
/var/lib/cobbler/templates/、snippets/ | 自动应答模板与可复用片段 |
/srv/tftpboot/ | sync 生成的 TFTP 产物(引导器+PXE 菜单) |
/var/log/cobbler/ | 主日志与任务日志(tasks/) |
各配置项的逐参数讲解见本专栏《Cobbler 3.3.10 配置参数详解》;日常管理命令的逐条实测见《Cobbler 3.3.10 常用 CLI 命令详解》。
四、功能特性
本节按"装机主流程 → 周边能力"梳理 Cobbler 3.3 的功能清单,每项标注实测入口命令。
| 功能 | 说明 | 实测入口 |
|---|---|---|
| PXE 网络装机 | BIOS/UEFI 双栈引导,per-MAC 菜单生成 | cobbler sync(产物见 3.3 节) |
| ISO/目录导入 | 自动识别发行版并建 distro/profile | cobbler import |
| 自动应答模板 | kickstart/preseed/autoinstall 模板化管理,cheetah 变量渲染 | /var/lib/cobbler/templates/ |
| DHCP/DNS 托管 | 由对象库生成 dhcpd.conf/bind 区域文件 | settings.yaml manage_dhcp/manage_dns |
| 仓库镜像 | 拉取 yum/apt 仓库供装机引用 | cobbler repo add + cobbler reposync |
| 自制装机 ISO | 离线/无 PXE 场景打包引导 ISO | cobbler buildiso |
| 电源管理 | 通过 fence/ipmitool 远程开关机重装 | cobbler system edit --power-type=... |
| 多架构 | x86/i386/aarch64/s390x/ppc64le 等 | import 时 --arch 指定 |
| 三套 API | CLI / XML-RPC / Python API | cobbler 命令、25151 端口 |
| Web UI | 独立于 CLI 的网页管理台(cobbler-web,发行版包提供) | Apache 站点 |
| 本地认证 | users.digest 摘要认证 + 可插拔认证模块 | modules.conf [authentication] |
4.1 自动应答文件体系(技术拓展)
💡 技术拓展:Linux 世界的"自动应答文件"因发行版而异,Cobbler 的价值在于把它们统一收进对象模型——
应答体系 所属发行版 格式 Cobbler 模板目录示例 Kickstart RHEL/CentOS/Rocky/Fedora .kssample.ksPreseed Debian .seedsample.seedAutoinstall Ubuntu 20.04+ cloud-init YAML sample-autoinstall.ks(含 autoinstall 段)AutoYaST SUSE XML sample_autoyast.xml本文实测环境导入的是 Ubuntu 20.04(focal),走 preseed/autoinstall 体系;若导入 RHEL 系 ISO 则自动关联 kickstart 模板。
4.2 DHCP/DNS 托管模式(技术拓展)
💡 技术拓展:
manage_dhcp=true时 Cobbler 并不自己实现 DHCP,而是按所选后端渲染配置文件——
后端 modules.conf 配置 生成物 适用 ISC dhcpd [dhcp] module = managers.isc/etc/dhcp/dhcpd.conf传统数据中心 dnsmasq managers.dnsmasqdnsmasq.conf(DHCP+DNS+TFTP 一体) 边缘/小环境 BIND9 [dns] module = managers.bindnamed 区域文件 已有 BIND 体系 本环境实测 modules.conf 的
[dhcp]段为managers.isc(isc-dhcp-server 后端),这也是 Cobbler 的默认选型。
五、快速开始(最小可用示例)
本节用最少的步骤在本机得到一个"能对指定 MAC 的机器下发 Ubuntu 20.04 装机任务"的最小可用 Cobbler,全部命令与回显实测。前置条件:Ubuntu 22.04 服务器、root 权限、可联网。
第一步:安装 Cobbler 3.3.10(pip 方式,约 2 分钟)
apt-get install -y gcc python3-dev libldap2-dev libsasl2-dev apache2-dev \
tftpd-hpa rsync xorriso syslinux fence-agents createrepo-c \
python3-cheetah python3-dnspython python3-netaddr python3-requests \
python3-distro python3-schema python3-gunicorn python3-yaml python3-apt
pip install cobbler==3.3.10
安装完成后的版本验证(实测回显):
cobbler version
Cobbler 3.3.10
source: v3.3.10, Thu Sep 18 10:00:00 2026 +0200
build time: Thu Sep 18 10:00:00 2026
⚠️ 注意:pip 安装不会自动布置
/etc/cobbler配置、日志目录与 systemd 单元(这些通常由发行版包完成),需要从官方源码包补齐,否则 cobblerd 会因缺/etc/cobbler/settings.yaml、/var/log/cobbler等启动失败。完整的"依赖修正 → 配置布置 → systemd 托管 → check 收敛"实操与排障过程,见本专栏《Ubuntu 22.04 安装 Cobbler 指南》。
第二步:导入一个发行版(以 Ubuntu 20.04 mini 安装镜像为例)
挂载 ISO 并导入(实测命令):
mount -o loop /root/focal-mini.iso /mnt/iso
mkdir -p /mnt/iso-tree/install/netboot
cp /mnt/iso/linux /mnt/iso/initrd.gz /mnt/iso-tree/install/netboot/
cobbler import --name ubuntu-2004 --path /mnt/iso-tree --breed ubuntu --os-version focal --arch x86_64
实测回显(成功创建 distro 与 profile):
creating new distro: ubuntu-2004-x86_64
creating new profile: ubuntu-2004-x86_64
*** TASK COMPLETE ***
导入后的对象验证(实测 cobbler distro report --name=ubuntu-2004-x86_64,节选):
Name : ubuntu-2004-x86_64
Architecture : x86_64
Breed : ubuntu
Initrd : /var/www/cobbler/distro_mirror/ubuntu-2004-x86_64/install/netboot/initrd.gz
Kernel : /var/www/cobbler/distro_mirror/ubuntu-2004-x86_64/install/netboot/linux
OS Version : focal
⚠️ 注意:Cobbler 3.3.10 的签名库(distro_signatures.json)中 ubuntu breed 最高只到 impish(21.10),没有 jammy(22.04)条目,所以本例导入 focal;Ubuntu 22.04 的装机可用"手工
cobbler distro add指定 jammy 的 kernel/initrd"实现,实测过程见命令详解篇。另外 mini 镜像是"内核在 ISO 根目录"的扁平结构,直接 import 整目录会让 distro 名被推导成-x86_64,因此上面先按install/netboot结构重组——这个坑在命令详解篇有完整的报错回显与推导分析。
第三步:登记一台待装机器并下发装机
cobbler system add --name=web-01 --profile=ubuntu-2004-x86_64 \
--mac-address=52:54:00:aa:bb:cc --ip-address=10.89.57.50 --hostname=web-01.lan
cobbler system edit --name=web-01 --netboot-enabled=true
cobbler sync
实测回显:
*** TASK COMPLETE ***
到此,MAC 为 52:54:00:aa:bb:cc 的机器开机即可全自动安装 Ubuntu 20.04(生成的 PXE 配置见 3.3 节)。
第四步:健康检查收尾
cobbler check
实测回显(配置收敛后仅剩与本环境无 IPv6 相关的提示):
The following are potential configuration items that you may want to fix:
1: For PXE to be functional, the 'next_server_v6' field in /etc/cobbler/settings.yaml must be set to something other than ::1, and should match the IP of the boot server on the PXE network.
Restart cobblerd and then run 'cobbler sync' to apply changes.
💡 说明:
next_server_v6提示只在环境确有 IPv6 时需要处理;无 IPv6 的纯 v4 网络可保持默认值并在理解的前提下接受此提示。cobbler check的 6 项首次报错逐条修复过程,见《Ubuntu 22.04 安装 Cobbler 指南》。
六、适用场景与限制
6.1 适用场景
- 数据中心批量裸机装机:几十到上千台同质物理机,用 distro/profile/system 三层对象 + MAC 台账管理,装完即走,是 Cobbler 最经典的主场;
- 实验室/测试机池:配合电源管理(IPMI)实现"API 一键重装",供 CI/测试环境反复洗机;
- 私有云前置装机层:作为 OpenStack Ironic/K8s 裸机集群之前的底层装机服务,或与 Ansible 组成"装机+配置"流水线;
- 离线/弱网环境:
cobbler buildiso打制带全套安装树的引导 ISO,在无 PXE 网络的服务器上光驱/U 盘全自动装机。
6.2 限制与注意事项(含实测证据)
-
签名库对新发行版滞后:3.3.10 的 ubuntu breed 实测只到 impish(21.10),没有 jammy(22.04)条目。验证命令与实测回显:
python3 -c "import json;ks=list(json.load(open('/var/lib/cobbler/distro_signatures.json'))['breeds']['ubuntu'].keys());print(len(ks),ks[-5:])"20 ['cosmic', 'disco', 'eoan', 'focal', 'impish']因此本文示例选择导入 focal;给 Ubuntu 22.04 机器装机可用"手工
cobbler distro add指定 jammy 的 kernel/initrd"绕过签名匹配,实测过程见《Cobbler 3.3.10 常用 CLI 命令详解》。签名库以静态 JSON 维护,遇到比它更新的发行版(后续新 Ubuntu 版本同理)会匹配失败,需手工 distro add 或更新签名文件。 -
--name不完全等于 distro 名:本地导入时 distro 名由"内核所在目录路径推导"(源码get_proposed_name()用路径第 6 段起拼接再剔除-install/-netboot/-amd64等词),--name只影响镜像目录;扁平目录会导出-x86_64这类坏名字(本环境实测踩中,报错与分析全文收录在《Cobbler 3.3.10 常用 CLI 命令详解》)。 -
4.0 未稳定:4.0.0b6 仍是 pre-release(2026-10-22 实查),其文档里出现的
cobblerd setup子命令在 3.3.10 上并不存在(实测cobblerd: error: unrecognized arguments: setup),读官方 latest 文档时要注意版本错位。 -
pip 安装不含系统文件:wheel 不携带
/etc/cobbler、systemd 单元与日志目录,需要按发行版包的 data_files 布局手工补齐(《Ubuntu 22.04 安装 Cobbler 指南》 逐步实测)。 -
Web UI 单独打包:3.3 的 Web UI(cobbler-web)随发行版包(RPM/DEB)分发,pip 主包不含,需要 Web UI 时建议优先选用发行版包安装。
七、同类选型对比
本节把 Cobbler 与同类装机平台 Foreman、MAAS 以及"不用任何平台的手工 PXE+kickstart"做量化对比。所有版本与星数均标注来源与查询日期(2026-10-22),不以记忆数据充数。
7.1 竞品概览
| 维度 | Cobbler 3.3.10 | Foreman 3.19.0 | MAAS 3.6 | 手工 PXE+kickstart |
|---|---|---|---|---|
| 定位 | 装机服务器(轻量中控) | 全生命周期管理(装机+配置+审计) | 裸机即服务(BMaaS) | 无平台,逐台维护 |
| 最新稳定版 | 3.3.10(2026-09-18) | 3.19.0(官网 Latest versions 首位) | 3.6 稳定线(3.7.0 处 Beta 1) | — |
| 版本来源 | GitHub Releases | theforeman.org 首页 | canonical MAAS Release Notes | — |
| GitHub 星数 | 2.8k | 3k | 508 | — |
| 星数来源 | shields.io(2026-10-22) | shields.io(2026-10-22) | shields.io(2026-10-22) | — |
| 技术栈 | Python | Ruby on Rails | Python (Django/Twisted) | shell+模板文件 |
| 许可证 | GPL-2.0 | GPL-3.0 | AGPL-3.0 | — |
| DHCP/DNS 托管 | 内置模板托管(isc/dnsmasq/bind) | 依赖 Smart Proxy 管理 | 内置(含机架/区域控制器) | 手工维护 dhcpd.conf |
| 应答文件管理 | 对象模型+模板继承 | 模板+主机组继承 | 内置 curtin 预置 | 散落文件,无继承 |
| Web UI | 有(cobbler-web) | 有(成熟,插件生态大) | 有(重 UI 产品) | 无 |
| 电源管理 | fence/ipmitool | IPMI/Redfish 等(插件) | 原生 BMC 管理(强项) | 手工 ipmitool |
| 装机之外的职责 | 仓库镜像、buildiso | Puppet/Salt 集成、审计、RBAC | 机器盘存、测试、KVM 宿主 | 无 |
| 部署复杂度 | 低(单机+Apache) | 高(Foreman+Puppet+Postgres) | 高(snap/多控制器) | 零平台,但每台机器都是成本 |
| 学习曲线 | 平缓(CLI 即文档) | 陡峭 | 中等 | 看似简单、长期维护成本高 |
7.2 关键差异解读
- 体量与职责:Cobbler 只做"装机"这一件事,单进程+Apache 即可运行;Foreman/MAAS 是全生命周期平台,装完机还管配置漂移、审计、机柜盘存——职责多,组件与资源也多。如果诉求就是"把系统自动装上去",Cobbler 的投入产出比最高。
- 社区与活跃度(量化):星数上 Foreman(3k)≈ Cobbler(2.8k)> MAAS(508,其主仓库在 Launchpad/GitHub 镜像);版本节奏上 Cobbler 3.3 稳定线 2026 年内连发 3.3.8/3.3.9/3.3.10 三个维护版,维护活跃(来源:GitHub Releases,2026-10-22)。
- 扩展性天花板:需要 RBAC、审批、与 Puppet/Salt 深度联动、审计合规时,Foreman 的插件体系明显更厚;需要大规模裸机"即服务"(借还机器、盘存、测试)时 MAAS 更合适。
- 对比手工方案:手工 PXE+kickstart 没有对象库与继承,MAC 变更、内核参数调整、应答文件改版都要人肉同步 N 份文件;Cobbler 用
system edit --dns-name一条命令完成变更并sync传播。机器规模一旦超过十几台,平台的工程化收益立刻显现。
7.3 选型建议(如果…则…)
- 如果只想解决批量装机、机器规模几十到几百台、运维人数少 → Cobbler:部署快、CLI 直给、对象模型够用;
- 如果要装机器 + 长期配置管理 + 合规审计(企业级多团队)→ Foreman(可搭配 Cobbler 或直接用其内置 provisioning);
- 如果是云/运营商场景,机器按"资源池"借还、重视 BMC 原生管理与机架拓扑 → MAAS;
- 如果只有三五台机器、一次性装机 → 手工 PXE+kickstart 也可以,但请把应答文件放进 Git 管理,为将来升级到 Cobbler 留好路径;
- 如果网络里已有 DHCP 且不能动 → Cobbler(
manage_dhcp=false,只做 next-server 引导配合)或 Foreman 均可,MAAS 需要单独规划 DHCP 架构。
八、参考链接
- Cobbler 官方文档(3.3 稳定线为准):https://cobbler.readthedocs.io/
- Cobbler GitHub 仓库与 Releases(版本实查,查询日期 2026-10-22):https://github.com/cobbler/cobbler/releases
- Cobbler PyPI(3.3.10 包):https://pypi.org/project/cobbler/
- Cobbler 官方安装指南:https://cobbler.readthedocs.io/en/latest/installation-guide.html
- Foreman 官网(版本实查,查询日期 2026-10-22):https://www.theforeman.org/
- MAAS Release Notes(版本实查,查询日期 2026-10-22):https://maas.io/docs/release-notes-and-upgrade-instructions
- GitHub 星数取证 shields.io 端点(查询日期 2026-10-22):https://img.shields.io/github/stars/cobbler/cobbler.json