Cobbler 自动化安装系统部署(CentOS 7.9 )

目录

一、文章概述

二、环境说明

三、部署前准备:关闭安全限制(实验环境)

四、修复 CentOS 7.9 软件源(关键步骤)

4.1 备份原有仓库

4.2 配置阿里云 CentOS Vault 源

4.3 安装并配置 EPEL 源(Cobbler 所在仓库)

4.4 清理缓存并测试

五、安装 Cobbler 及相关组件

六、Cobbler 核心配置

6.1 获取服务器 IP

6.2 配置 /etc/cobbler/settings

七、DHCP 服务配置

八、启动并同步服务

九、导入 CentOS 7.9 ISO 镜像

十、验证 Cobbler 服务

10.1 服务状态

10.2 Web 访问

10.3 PXE 菜单确认

十一、客户端 PXE 启动测试

十二、常见问题与解决方案

问题 1:DNS 解析失败

问题 2:TFTP 未启用

问题 3:DHCP 冲突

问题 4:导入 ISO 卡住

十三、总结


一、文章概述

在企业运维、实验室环境或批量服务器交付场景中,手工安装操作系统效率极低且不可控
Cobbler 作为一套成熟的 PXE 自动化装机管理平台,可以实现服务器的 批量、无人值守、标准化部署

本文将从零开始,完整演示在 CentOS 7.9 环境下搭建一套 可直接投入使用的 Cobbler 自动化安装系统,内容全部经过实测,确保可复现


二、环境说明

项目说明
操作系统CentOS Linux release 7.9.2009 (Core)
Cobbler 版本2.8+(EPEL 源安装)
网络模式局域网 / 桥接网络
适用场景批量部署、实验环境、运维自动化

三、部署前准备:关闭安全限制(实验环境)

Cobbler 涉及 DHCP、TFTP、HTTP 等多个网络服务,为避免权限与端口干扰,实验环境建议直接关闭防火墙与 SELinux

# 关闭并禁用 firewalld
systemctl stop firewalld
systemctl disable firewalld
# 临时关闭 
SELinux setenforce 0
# 永久关闭 SELinux(重启生效)
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

四、配置CentOS 7.9 软件源

由于 CentOS 7 已停止维护,官方仓库已迁移至 vault,否则会出现大量 yum 报错。

4.1 备份原有仓库

mkdir -p /etc/yum.repos.d/backup
 mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

4.2 配置阿里云 CentOS Vault 源

cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-\$releasever - Base
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/os/\$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
enabled=1

[updates]
name=CentOS-\$releasever - Updates
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/updates/\$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
enabled=1

[extras]
name=CentOS-\$releasever - Extras
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/extras/\$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
enabled=1
EOF

4.3 安装并配置 EPEL 源(Cobbler 所在仓库)

cat > /etc/yum.repos.d/epel.repo <<EOF
[epel]
name=Extra Packages for Enterprise Linux 7 - \$basearch
baseurl=https://mirrors.aliyun.com/epel/7/\$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - \$basearch - Debug
baseurl=https://mirrors.aliyun.com/epel/7/\$basearch/debug
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7

[epel-source]
name=Extra Packages for Enterprise Linux 7 - \$basearch - Source
baseurl=https://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
EOF

4.4 清理缓存并测试

yum clean all 
yum makecache

若出现 DNS 解析错误:

echo "nameserver 223.5.5.5" > /etc/resolv.conf 
echo "nameserver 8.8.8.8" >> /etc/resolv.conf 
chattr +i /etc/resolv.conf #保证内容不可修改

五、安装 Cobbler 及相关组件

yum install -y cobbler cobbler-web httpd dhcp tftp-server xinetd rsync pykickstart fence-agents

fence-agents 非必需,但可消除 cobbler check 警告,推荐安装。


六、Cobbler 核心配置

6.1 获取服务器 IP

IP=$(ip route get 8.8.8.8 | awk '{print $7; exit}') 
echo "Cobbler Server IP: $IP"

6.2 配置 /etc/cobbler/settings

# root 密码密文(示例:123456),执行生成密码的命令后得到的结果
PASSWD_CRYPTED='$1$Nrt/tXCR$BrRthh4tFphGyCunrGWzi/'

sed -i "s|^default_password_crypted.*|default_password_crypted: \"$PASSWD_CRYPTED\"|g" /etc/cobbler/settings
sed -i "s|^next_server.*|next_server: $IP|g" /etc/cobbler/settings
sed -i "s|^server.*|server: $IP|g" /etc/cobbler/settings
sed -i 's|^manage_dhcp.*|manage_dhcp: 1|g' /etc/cobbler/settings
sed -i 's|^manage_tftpd.*|manage_tftpd: 1|g' /etc/cobbler/settings

生成自定义密码密文:

openssl passwd -1

七、DHCP 服务配置

GATEWAY=$(ip route show default | awk '{print $3}')

cat > /etc/cobbler/dhcp.template <<EOF
subnet 192.168.1.0 netmask 255.255.255.0 {
     option routers             $GATEWAY;
     option domain-name-servers 223.5.5.5;
     range dynamic-bootp        192.168.1.101 192.168.1.200;
     default-lease-time         7200;
     max-lease-time             7200;
     next-server                \$next_server;
     filename                   "pxelinux.0";
}
EOF

注意避开 Cobbler 服务器自身 IP。


八、启动并同步服务

systemctl enable --now httpd dhcpd xinetd cobblerd rsyncd

cobbler get-loaders
cobbler sync

九、导入 CentOS 7.9 ISO 镜像

mount /dev/cdrom /mnt
cobbler import --name=CentOS7.9 --path=/mnt --arch=x86_64
cobbler sync

如下图为完成的界面:

导入过程可能持续 5–15分钟,属正常现象。如果不放心可以另外开一个终端

# 查看是否有 rsync 或 cp 进程(Cobbler 用 rsync 复制文件)
ps aux | grep -E 'rsync|cobbler'

# 查看磁盘写入(观察是否持续写入)
iotop -o

十、验证 Cobbler 服务

10.1 服务状态

systemctl is-active httpd dhcpd xinetd cobblerd rsyncd

10.2 浏览器Web访问

http://192.168.1.100/cobbler/ks_mirror/

10.3 PXE 菜单确认

cat /var/lib/tftpboot/pxelinux.cfg/default


十一、客户端 PXE 启动测试

启动后应看到 Cobbler 菜单,选择 CentOS7.9-x86_64 即可安装。

新建虚拟机后在启动时按F2键加入BIOS模式选择Network为首选,保存退出。

如图选择第二项回车之后便会开始自动安装:

如图已经安装成功了,自动分配了192.168.1.101的IP地址:


十二、常见问题与解决方案

问题 1:DNS 解析失败

✔️ 配置 /etc/resolv.conf 并锁定

问题 2:TFTP 未启用,disable行yes改为no

sed -i 's/disable\s\+=\s\+yes/disable = no/' /etc/xinetd.d/tftp
systemctl restart xinetd

问题 3:DHCP 冲突

  • 关闭路由器 DHCP(推荐)

  • 或使用现有 DHCP 模式

问题 4:导入 ISO 卡住

# 按 Ctrl+C 中断当前命令(如果还能响应)
# 或强制终止 cobblerd(谨慎!)
pkill -f cobblerd
systemctl restart cobblerd

# 清理残留
rm -rf /var/www/cobbler/ks_mirror/Centos7.9
umount /mnt
mount /dev/cdrom /mnt

# 重新导入(加 --verbose 看进度)
cobbler import --name=Centos7.9 --path=/mnt --arch=x86_64 --verbose

十三、总结

至此,一套 完整、可扩展、企业级的 Cobbler 自动化安装平台 已部署完成。
无论是 1 台还是多台服务器,只需 PXE 启动,即可完成标准化交付。

如果你希望 完全无人值守(不点任何按钮):

# 使用默认 KS 模板(密码为 cobbler)
cobbler profile edit --name=Centos7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/sample_end.ks

# 同步生效
cobbler sync
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值