温馨提示×

如何使用CentOS Cobbler管理虚拟机

小樊
32
2025-12-17 14:18:59
栏目: 云计算

使用 CentOS Cobbler 管理虚拟机

一 架构与适用场景

  • Cobbler 是面向 PXE 的网络装机与配置管理工具,可统一管理 DHCP、DNS、TFTP、HTTP、Kickstart、YUM 仓库 等,支持命令行与 Web 界面,适合批量部署与重装 CentOS/RHEL 虚拟机与物理机。其工作流为:启动服务 → 环境检查(cobbler check)→ 配置同步(cobbler sync)→ 启动 DHCP/TFTP → 客户端 PXE 引导 → 加载 Kickstart 自动安装。Cobbler 支持 KVM/Xen 等虚拟化场景的无人值守安装。

二 环境准备与安装

  • 基础环境
    • 建议使用 CentOS 7/8,确保可访问外网(用于安装依赖与仓库镜像)。
    • 关闭防火墙与 SELinux(测试环境),或按需放行相关端口与服务。
  • 安装组件
    • 安装 EPEL 源与所需软件包:cobbler cobbler-web dhcp tftp-server httpd xinetd pykickstart rsync
    • 启动并开机自启 httpd、cobblerd、rsyncd;启用 TFTP(编辑 /etc/xinetd.d/tftp,将 disable 设为 no)。
  • 关键配置
    • 编辑 /etc/cobbler/settings:将 servernext_server 设为 Cobbler 主机 IP;按需开启 manage_dhcp: 1 以由 Cobbler 管理 DHCP;设置 default_password_crypted 为 root 加密口令(如:openssl passwd -1)。
    • 配置 DHCP 模板 /etc/cobbler/dhcp.template(子网、网关、DNS、地址池、next-server 等)。
    • 执行 cobbler check 逐项修复提示;完成后执行 cobbler sync 使配置生效。

三 导入镜像与创建 Kickstart 配置

  • 导入发行版
    • 挂载 ISO 后执行导入(示例):cobbler import --name=CentOS7-x86_64 --path=/mnt/iso --arch=x86_64;导入后镜像位于 /var/www/cobbler/ks_mirror/,内核与 initrd 位于 /var/www/cobbler/images/
  • Kickstart 与 Profile
    • 将自定义 kickstart(ks.cfg) 放入 /var/lib/cobbler/kickstarts/,使用 cobbler profile add/editdistroks 绑定,并可设置默认 profilecobbler profile edit --name=CentOS7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks --default=1
    • 常用命令:cobbler list / report / distro / profile / system(查看与核对对象),每次变更后执行 cobbler sync

四 部署与批量管理虚拟机

  • 方式 A PXE 网络安装(KVM 场景)
    • libvirt 创建虚拟机,网卡连接到与 Cobbler 同二层网络,启动方式选择 PXE;上电后将自动通过 DHCP/TFTP 获取引导并加载 Kickstart 完成无人值守安装。
    • 建议设置 pxe_just_once: 1,避免重复安装(首次从网络引导,后续默认从硬盘启动)。
  • 方式 B 基于现有虚拟机的重装与配置
    • 使用 cobbler system add 创建系统对象(指定 –mac、–ip、–hostname、–profile 等),后续可通过 cobbler system edit 调整;变更后 cobbler sync 生效,客户端下次 PXE 将按新配置安装。
    • 结合 cobbler power(电源管理)可实现开关机、重启等自动化操作,便于批量维护。

五 常用维护与故障排查

  • 配置核对与生效
    • 使用 cobbler check 检查配置;变更 settings、DHCP、TFTP、kickstart 后务必执行 cobbler sync 同步到 TFTP/HTTP 目录与 DHCP 配置。
  • 日志与目录
    • 日志:/var/log/cobbler/cobbler.log(主日志)、/var/log/cobbler/installing(安装日志)。
    • 关键目录:/var/lib/cobbler/loaders(引导程序)、/var/www/cobbler/ks_mirror(导入镜像)、/var/lib/cobbler/kickstarts(kickstart 文件)。
  • 常见问题
    • TFTP 无法启动/文件缺失:确认 xinetd 启用、disable=no,且 /var/lib/cobbler/loaders 存在必要引导文件(如 pxelinux.0 等)。
    • DHCP 不分配地址或找不到启动文件:核对 dhcp.template 子网与 next-server 是否为 Cobbler 主机 IP,执行 cobbler sync 后重启 DHCP 服务。
    • Kickstart 语法错误:使用 ksvalidator 或 Cobbler 的语法检查功能,修正 %packages/%post 等段落错误。

0