简介

Cobbler 是一个老牌且强大的 Linux 部署服务器,它将 PXE、DNS、DHCP、TFTP 和 web 管理界面集成在一起,旨在让大规模的 Linux 系统安装变得简单化和自动化。

相比手动配置复杂的 PXE 环境,Cobbler 就像一个“补鞋匠”(Cobbler 的原意),把所有零散的服务“缝合”成一个整体,让你只需要几条命令就能搭建起一套完整的装机平台。

本文将引导初级用户,在企业级 Linux(如 CentOS 8 / Rocky Linux 8)上从零开始搭建 Cobbler 环境。

前提条件

  • 一台运行 CentOS 8 StreamRocky Linux 8 的服务器。
  • 服务器拥有静态 IP 地址
  • 服务器可以连接互联网(下载软件包)。
  • 服务器与待安装的客户端在同一局域网内。

部署步骤

第一步:安装 Cobbler

首先,我们需要启用 EPEL 仓库,因为 Cobbler 及其依赖包主要包含在这里面。

1
2
3
4
5
6
7
8
# 安装 EPEL 仓库
dnf install epel-release -y

# 启用 Cobbler 模块
dnf module enable cobbler -y

# 安装 Cobbler 服务端和 Web 管理界面
dnf install cobbler cobbler-web -y

第二步:启动服务

安装完成后,启动 Cobbler 服务并设置为开机自启。同时,我们还需要启动 HTTPD (Web服务) 和 TFTP 服务。

1
systemctl enable --now cobblerd httpd tftp

第三步:健康检查与修复

Cobbler 提供了一个非常有用的自检命令,可以帮助我们发现配置中的问题。

1
cobbler check

运行后,它会列出一系列需要修改的项。对于初学者,最关键的是修改 settings 文件中的 IP 地址配置。

  1. 打开配置文件:
    1
    
    vi /etc/cobbler/settings.yaml
    

    (注:旧版本可能是 /etc/cobbler/settings,请根据实际情况调整)

  2. 找到 servernext_server 选项,将默认的 127.0.0.1 修改为你服务器的实际局域网 IP

    1
    2
    
    server: 192.168.1.100
    next_server: 192.168.1.100
    
  3. 修改完成后,重启服务并同步配置:
    1
    2
    
    systemctl restart cobblerd
    cobbler sync
    

第四步:导入操作系统镜像

现在我们来添加一个可以安装的 Linux 发行版。假设你已经下载了 Rocky Linux 8 的 ISO 镜像。

  1. 挂载 ISO 镜像: 我们需要把 ISO 里的内容“展示”给 Cobbler 看。
    1
    
    mount -o loop Rocky-8.7-x86_64-dvd1.iso /mnt
    
  2. 导入镜像: 使用 import 命令,Cobbler 会自动将镜像内容复制到 /var/www/cobbler 目录下,并自动创建对应的 Profile(配置文件)。
    1
    
    cobbler import --path=/mnt --name=Rocky8 --arch=x86_64
    
    • --path: 镜像挂载点
    • --name: 给这个发行版起个名字

等待命令执行完成,这通常需要几分钟时间,因为需要复制大量文件。

第五步:客户端启动验证

  1. 准备一台待安装系统的空服务器或虚拟机。
  2. 进入 BIOS,开启PXE 网络启动,并将其设为首选启动项。
  3. 开机!

如果一切顺利,你会看到蓝色的 Cobbler 启动菜单,里面列出了你刚才导入的 “Rocky8”。选中它,系统就会开始全自动安装了。

总结

通过 Cobbler,原本复杂的 PXE+DHCP+TFTP+Kickstart 配置流程被极大地简化了。一旦搭建完成,你只需要通过 cobbler import 一个命令就能轻松添加新的操作系统版本,非常适合需要维护多种 Linux 发行版的运维环境。

参考资料