可行性与总体说明
可以实现多系统安装。Cobbler 基于 PXE 网络启动,支持同时管理多个发行版与多个版本(如 Ubuntu、CentOS、Rocky、Debian 等),通过导入不同镜像、创建多个 distro/profile,即可在同一环境中按需选择并自动安装不同系统。常见做法是:导入 ISO 生成多个发行版与配置集,DHCP/TFTP 指向 Cobbler 服务器,客户端 PXE 启动后在菜单中选择目标系统。
实现思路
- 准备镜像与仓库:下载 Ubuntu/CentOS/Rocky/Debian 等 ISO,挂载后导入到 Cobbler,形成多个 distro 与 profile(每个系统/版本一个 profile)。
- 配置网络引导:DHCP 的 next-server 指向 Cobbler 服务器,指定启动文件 pxelinux.0;TFTP 提供引导文件与安装介质内容。
- 自动化应答:为每个系统准备相应的 kickstart/preseed 文件,关联到对应 profile,实现无人值守安装。
- 多系统菜单:Cobbler 会在 PXE 菜单展示所有可用 profile,按需选择即可安装不同系统。
- 变更生效:每次调整配置后执行 cobbler sync 同步到 TFTP/Web 目录。
关键配置要点
- 核心参数:在 /etc/cobbler/settings 中设置 server(Cobbler 地址)、next_server(PXE 引导地址);如使用内置 DHCP,可开启 manage_dhcp 并在 /etc/cobbler/dhcp.template 中配置子网、地址池、网关、DNS、next-server=$next_server。
- 引导文件:执行 cobbler get-loaders 拉取网络引导文件(如 pxelinux.0、menu.c32 等),确保 PXE 启动链路完整。
- 导入系统镜像:挂载 ISO 后执行 cobbler import --path=/mnt --name=xxx 生成 distro/profile;为每个系统准备并绑定 kickstart/preseed。
- 避免重复安装:可开启 pxe_just_once: true,装完后自动取消 PXE 下次引导,防止循环重装。
- 变更同步:每次修改后执行 cobbler sync,使 DHCP、TFTP、Web 目录保持一致。
多系统安装流程示例
- 安装组件:在 Ubuntu 上安装 cobbler cobbler-web tftpd-hpa xinetd;如使用独立 DHCP,安装 isc-dhcp-server。
- 配置 DHCP(示例):
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:启用 /etc/xinetd.d/tftp,确保 server_args 指向 /var/lib/tftpboot。
- 启动服务与检查:
sudo systemctl start cobblerd && sudo systemctl enable cobblerd
sudo cobbler get-loaders
sudo cobbler check
- 导入镜像并创建配置集:
sudo mount -o loop /path/to/ubuntu-20.04.iso /mnt
sudo cobbler import --path=/mnt --name ubuntu-20.04
sudo cobbler profile add --name ubuntu-20.04 --kickstart /var/lib/cobbler/kickstarts/ubuntu-20.04.seed
sudo cobbler system add --name host01 --profile ubuntu-20.04 --netboot-enabled true
sudo cobbler sync
- 客户端 PXE 启动后,在菜单中选择 ubuntu-20.04 或其他已导入系统的 profile 即可自动安装。
常见限制与实践建议
- 引导方式差异:同一 profile 通常对应一种引导方式(BIOS 或 UEFI)。如需同时支持,需分别导入并维护两套 distro/profile(如镜像内包含 grubx64.efi 与 pxelinux.0 两套引导)。
- 镜像与仓库:导入 ISO 会生成 distro/profile;若需软件仓库加速,可结合 cobbler reposync 管理镜像源。
- 安全与合规:生产环境不建议关闭防火墙,按需放行 DHCP 67/68 UDP、HTTP/HTTPS 等端口;变更配置务必 cobbler sync 并验证。
- 多系统“共存”场景:若指同一台机器上多系统并存(如 Ubuntu 与 Windows 双系统),网络安装阶段由 Cobbler 完成各自系统的安装;完成安装后,需在目标机器的本地引导器(如 GRUB)中配置多系统启动菜单,以实现开机选择。