首页主机资讯如何利用Ubuntu Cobbler进行批量安装

如何利用Ubuntu Cobbler进行批量安装

时间2025-12-17 09:47:04发布访客分类主机资讯浏览377
导读:Ubuntu Cobbler 批量安装实操指南 一 架构与准备 组件与网络:部署 Cobbler Server(提供 DHCP/TFTP/HTTP)、准备 Ubuntu Server ISO、规划 PXE 网段与 TFTP/HTTP 访问...

Ubuntu Cobbler 批量安装实操指南

一 架构与准备

  • 组件与网络:部署 Cobbler Server(提供 DHCP/TFTP/HTTP)、准备 Ubuntu Server ISO、规划 PXE 网段TFTP/HTTP 访问地址。同一二层网段内避免多个 DHCP 服务冲突。
  • 主机环境建议:选择 CentOS 7/8、Rocky Linux 9Ubuntu Server 作为 Cobbler 服务器;确保磁盘空间可容纳镜像与仓库。
  • 基础服务:安装并启用 cobblerd、httpd、tftp、dhcp(或交由 Cobbler 管理)、必要时安装 cobbler-web 便于可视化。
  • 安全与网络:测试环境可临时关闭 SELinux/防火墙 或放行 DHCP(67/68)、TFTP(69)、HTTP(80);生产环境按最小权限配置。

二 安装与初始化 Cobbler

  • 安装软件包(示例为 CentOS/RHEL 系):
    • 安装:yum install -y cobbler cobbler-web dhcp tftp-server httpd pykickstart xinetd
    • 启动:systemctl start cobblerd httpd & & systemctl enable cobblerd httpd
  • 基础配置(/etc/cobbler/settings):
    • 设置 servernext_server 为 Cobbler 主机 IP(如:192.168.1.10
    • 启用 DHCP 管理:manage_dhcp: 1
    • 设置 root 默认密码(SHA-512 示例):先生成密文
      • CentOS/RHEL:openssl passwd -1 ‘YourPassword’
      • Rocky/新环境:mkpasswd -m sha-512(需安装 expect/mkpasswd)
      • 将密文填入:default_password_crypted
  • 引导加载器与模板:
    • 获取引导文件:cobbler get-loaders
    • 启用 TFTP:/etc/xinetd.d/tftp → disable = no,重启 xinetd
    • 配置 DHCP 模板(/etc/cobbler/dhcp.template),示例:
      • subnet 192.168.1.0 netmask 255.255.255.0 {
        • option routers 192.168.1.1;
        • range dynamic-bootp 192.168.1.100 192.168.1.200;
        • filename “pxelinux.0”; next-server 192.168.1.10;
        • }
  • 检查与同步:
    • 自检:cobbler check(逐项修复告警)
    • 同步:cobbler sync(使 DHCP/TFTP/HTTP 生效)

三 导入 Ubuntu 镜像与创建 Profile

  • 挂载 ISO 并导入:
    • 挂载:mount -o loop /path/ubuntu-22.04.5-server-amd64.iso /mnt
    • 导入:cobbler import --name=UBUNTU22045 --path=/mnt --arch=x86_64
      • 导入后生成 DistroProfile(可用 cobbler distro list / profile list 查看)
  • 准备 Preseed(Ubuntu 传统 debian-installer 自动安装应答文件):
    • 示例片段(/var/lib/cobbler/kickstarts/ubuntu22045.seed):
      • d-i debian-installer/locale string en_US.UTF-8
      • d-i console-setup/ask_detect boolean false
      • d-i keyboard-configuration/layoutcode string us
      • d-i netcfg/choose_interface select auto
      • d-i mirror/http/hostname string $http_server
      • d-i mirror/http/directory string /cobbler/ks_mirror/UBUNTU22045-x86_64
      • d-i partman-auto/method string regular
      • d-i partman-auto/disk string /dev/sda
      • d-i partman-auto/expert_recipe select boot-root :: 100000 80 100000 ext4 $bootable{ } $primary{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . 102 60 1000 linux-swap $primary{ } method{ swap } format{ } .
      • d-i partman/confirm_write_new_label boolean true
      • d-i partman/confirm boolean true
      • d-i pkgsel/include string openssh-server
      • d-i grub-installer/bootdev string /dev/sda
      • d-i finish-install/reboot_in_progress note
  • 绑定应答文件到 Profile:
    • 方式一(导入时绑定):cobbler import … --autoinstall /var/lib/cobbler/kickstarts/ubuntu22045.seed
    • 方式二(导入后绑定):cobbler profile edit --name=UBUNTU22045-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ubuntu22045.seed
  • 同步:cobbler sync

四 针对不同 Ubuntu 版本的关键差异

  • Ubuntu 22.04/24.04(Subiquity + cloud-init 自动安装)
    • 传统 preseed 仍可用,但更推荐 autoinstall/cloud-init。创建模板与片段(示例):
      • /var/lib/cobbler/templates/cloud-init_user-data(核心片段):
        • #cloud-config
          • autoinstall:
            • version: 1
            • apt:
              • preserve_sources_list: true
              • primary: [{ arches: [amd64], uri: http://$http_server/cblr/links/$distro} ]
            • identity:
              • password: $6$… # 使用 mkpasswd -m sha-512 生成
              • username: ubuntu
            • keyboard: { layout: us}
            • locale: en_US.UTF-8
            • ssh: { allow-pw: true, install-server: true}
            • storage: { layout: { name: lvm, sizing-policy: all} }
            • late-commands:
              • wget -O /target/tmp/autoinstall-user-data.yaml http://$http_server/cblr/svc/op/autoinstall/profile/UBUNTU22045-x86_64
              • chroot /target /bin/bash -s ssh-keygen -t rsa -b 2048 -N “” -f /root/.ssh/id_rsa
      • 同步后,PXE 引导将自动获取 cloud-init 配置完成无人值守安装。
  • Ubuntu 14.04–20.04(传统 debian-installer + preseed)
    • 使用 preseed 应答文件,注意内核启动参数需显式指定 url=…/ks/profile/< profile_name> 以下载 kickstart;必要时在 PXE 配置里设置 ksdevice=bootifdhcp_timeout,提升 AD/复杂网络下的 DHCP 成功率。

五 批量部署与验证

  • 批量方式
    • 按 Profile 批量:客户端设置为 PXE 优先启动,上电后将自动匹配 Profile 并安装。
    • 按 System 精确控制(推荐用于带外管理/多网口服务器):
      • 添加系统:cobbler system add --name=node01 --profile=UBUNTU22045-x86_64 --mac=AA:BB:CC:DD:EE:FF
      • 同步:cobbler sync(必要时为 system 单独设置 hostname、IP、网关等)
  • 启动与验收
    • 客户端 BIOS 启动顺序:Network PXE → HDD
    • 观察 /var/log/cobbler//var/www/cobbler/ks_mirror/ 访问日志,确认下载 preseed/autoinstall 与安装源是否正常
    • 安装完成后登录验证:默认用户 ubuntu/root、网络连通性、分区与软件包是否符合预期
  • 常见问题排查
    • DHCP 失败:确认 next-serverfilename “pxelinux.0” 正确;在复杂网络增加 dhcp_timeout;同一网段避免多 DHCP
    • 找不到安装源:核对 mirror/http/hostnamedirectory 是否指向 $http_server/cobbler/ks_mirror/
    • 引导卡住:检查 /var/lib/tftpboot/pxelinux.cfg/default 内核与 initrd 路径、以及是否成功 cobbler sync

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何利用Ubuntu Cobbler进行批量安装
本文地址: https://pptw.com/jishu/773658.html
Ubuntu Cobbler的日志文件如何查看 Debian如何提升Zookeeper的并发处理能力

游客 回复需填写必要信息