温馨提示×

ubuntu cobbler如何自定义配置

小樊
33
2025-11-29 11:55:54
栏目: 智能运维

Ubuntu 上 Cobbler 自定义配置实战指南

一 核心配置总览

  • 修改主配置:编辑 /etc/cobbler/settings,将 servernext_server 设为 Cobbler 服务器地址;按需开启 manage_dhcp(让 Cobbler 管理 DHCP)、manage_tftpd(管理 TFTP)。设置默认 root 密码字段 default_password_crypted(可用命令生成:openssl passwd -1 'YourPassword')。完成后执行 sudo cobbler check 自检。
  • 配置 DHCP:编辑 /etc/cobbler/dhcp.template,为你的网段设置子网、掩码、网关、DNS、IP 分配范围,并指定引导文件为 pxelinux.0,将 next-server 设为 Cobbler 地址。
  • 配置 TFTP:编辑 /etc/xinetd.d/tftp,将 disable = yes 改为 disable = no,并设置 server_args = -s /var/lib/tftpboot
  • 启动服务与加载引导文件:启动 cobblerdtftpxinetd(或 isc-dhcp-server),运行 sudo cobbler get-loaders 拉取网络引导加载器,最后执行 sudo cobbler sync 使配置生效。
  • 导入镜像与创建配置:挂载 Ubuntu ISO 后执行 cobbler import --path /mnt --name ubuntu-20.04 导入发行版;创建或编辑 Kickstart/Preseed(Ubuntu 常用 seed),通过 cobbler profile add|edit 关联到导入的发行版;如需按主机定制,使用 cobbler system add 指定 MAC/IP/网关/主机名 并开启 --netboot-enabled true

二 自定义 Kickstart 与 Preseed

  • 放置与关联:将自定义 Kickstart 放到 /var/lib/cobbler/kickstarts/(如 custom.ks),通过 cobbler profile add --name=my-ubuntu --kickstart=/var/lib/cobbler/kickstarts/custom.ks --distro=ubuntu-20.04-x86_64 关联;已有配置可用 cobbler profile edit --name=... --kickstart=... 更新。
  • Ubuntu 推荐 Preseed:Ubuntu 通常使用 Debian Preseed(.seed),将自定义 default.seed 放入 /var/lib/cobbler/kickstarts/,然后 cobbler profile edit --name=ubuntu-20.04 --kickstart=/var/lib/cobbler/kickstarts/default.seed
  • 常用自定义项示例(Kickstart 片段):
    • 分区:clearpart --all --initlabelpart /boot --fstype=ext4 --size=500part / --fstype=ext4 --size=10240
    • 软件包:%packages 段添加如 @base vim wget
    • 认证:auth --enableshadow --passalgo sha512
      提示:Kickstart 与 Preseed 语法不同,请勿混用;Ubuntu 优先用 Preseed,RHEL/CentOS 常用 Kickstart

三 按主机与菜单定制

  • 主机级定制:使用 cobbler system add 指定 –name–mac–profile–ip-address–subnet–gateway–hostname–interface,再执行 cobbler system edit --name=... --netboot-enabled true 开启 PXE 引导。
  • 菜单与默认项:导入发行版后,Cobbler 会自动生成 PXE 菜单;可通过调整 profile 的 --name 或在 cobbler system 中为某台主机指定默认项,实现不同主机自动选择不同配置。
  • 批量与脚本化:结合脚本批量添加多台主机(循环调用 cobbler system add),适合大规模部署。

四 网络与防火墙要点

  • DHCP 与 TFTP:确保 DHCP 模板中的 next-server 指向 Cobbler,TFTP 根目录为 /var/lib/tftpboot,并在 cobbler sync 后重启相关服务。
  • 防火墙放行:开放 TFTP(69/udp)HTTP(80/tcp) 及 Cobbler API 端口(常见为 25150–25151/tcp)。例如 firewalld:
    • sudo firewall-cmd --zone=public --add-service=tftp --permanent
    • sudo firewall-cmd --zone=public --add-service=http --permanent
    • sudo firewall-cmd --zone=public --add-port=25150-25151/tcp --permanent
    • sudo firewall-cmd --reload
  • 已有 DHCP 环境:若网络内已有 DHCP 服务器,可将 manage_dhcp 设为 0,并在现有 DHCP 上配置 filename "pxelinux.0"; next-server <Cobbler_IP>

五 常用命令与排错清单

  • 常用命令:
    • 自检:cobbler check
    • 同步:cobbler sync(每次修改后必执行)
    • 导入镜像:cobbler import --path=/mnt/iso --name=ubuntu-20.04
    • 查看对象:cobbler distro listcobbler profile listcobbler system listcobbler report
    • 仓库同步(Debian/Ubuntu 常用):cobbler reposync
    • 引导加载器:cobbler get-loaders
  • 排错要点:
    • 导入失败可先执行 cobbler signature update 再重试;确保 /var/www/cobbler/var/lib/tftpboot 有足够磁盘空间。
    • 客户端 PXE 超时或无菜单:检查 DHCP next-serverTFTP 根目录、防火墙、以及 cobbler sync 是否成功。
    • 服务状态:确认 cobblerdtftpxinetd/isc-dhcp-server 处于 active (running) 状态。

0