温馨提示×

Cobbler怎样实现Ubuntu自动化安装

小樊
42
2025-10-25 16:47:55
栏目: 智能运维

Cobbler实现Ubuntu自动化安装的完整步骤

1. 环境准备

在Ubuntu服务器上安装Cobbler及依赖组件,确保系统支持网络安装服务:

sudo apt update
sudo apt install cobbler cobbler-web dhcp3-server tftpd-hpa xinetd -y

2. 配置DHCP服务器

DHCP服务需为PXE客户端分配IP地址,并指定TFTP服务器地址与引导文件。编辑/etc/dhcp/dhcpd.conf,添加以下内容(根据实际网络调整):

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;          # 动态分配的IP范围
    option routers 192.168.1.1;                 # 默认网关
    option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器
    filename "pxelinux.0";                        # PXE引导文件
    next-server 192.168.1.2;                      # Cobbler服务器IP(需替换为实际IP)
}

重启DHCP服务使配置生效:

sudo systemctl restart isc-dhcp-server

3. 配置TFTP服务器

TFTP服务用于传输PXE引导文件与系统镜像。编辑/etc/xinetd.d/tftp,将disable = yes改为disable = no

service tftp
{
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /var/lib/tftpboot  # TFTP根目录
    disable         = no
    per_source      = 11
    cps             = 100 2
    flags           = IPv4
}

重启xinetd服务:

sudo systemctl restart xinetd

4. 安装与配置Cobbler

启动Cobbler服务并设置开机自启:

sudo systemctl start cobblerd
sudo systemctl enable cobblerd

运行配置检查命令,修复潜在问题(如缺少依赖、路径错误):

sudo cobbler check

根据检查结果执行修复命令(例如安装缺失的包、修改配置文件)。

5. 导入Ubuntu镜像

下载Ubuntu Server LTS ISO镜像(如24.04),并使用cobbler import命令导入。假设ISO文件存放在/tmp目录:

sudo mkdir -p /mnt/ubuntu
sudo mount -t iso9660 -o loop,ro /tmp/ubuntu-24.04.1-live-server-amd64.iso /mnt/ubuntu
sudo cobbler import --name ubuntu-24.04 --path /mnt/ubuntu --arch amd64

导入完成后,镜像会存储在/var/www/cobbler/pub目录下,供客户端下载。

6. 创建Kickstart自动安装文件

Kickstart文件定义了Ubuntu安装的自动化配置(语言、时区、分区、用户等)。创建/var/lib/cobbler/kickstarts/ubuntu-24.04.ks文件,内容示例如下:

# 基础配置
lang en_US.UTF-8
keyboard us
timezone Asia/Shanghai
rootpw --plaintext your_root_password  # 建议使用加密密码(可通过`openssl passwd -6`生成)

# 分区设置(自动清空磁盘并创建默认分区)
clearpart --all --initlabel
part /boot --fstype ext4 --size 500
part pv.01 --size 1 --grow
volgroup vg01 --pesize 4096 pv.01
logvol / --fstype ext4 --name lv_root --vgname vg01 --size 1 --grow
logvol swap --fstype swap --name lv_swap --vgname vg01 --size 2048

# 软件包选择(安装基础系统+常用工具)
%packages
@^minimal
@core
openssh-server
vim
net-tools
%end

# 安装后脚本(可选,用于配置服务、安装额外软件)
%post
systemctl enable ssh
echo "Ubuntu 24.04 automated installation completed!" > /etc/motd
%end

7. 创建Cobbler Profile

Profile将镜像与Kickstart文件关联,定义具体的安装配置。运行以下命令创建Profile:

sudo cobbler profile add \
    --name ubuntu-24.04-profile \
    --distro ubuntu-24.04 \
    --kickstart /var/lib/cobbler/kickstarts/ubuntu-24.04.ks

8. 绑定系统MAC地址

为避免客户端PXE启动时选择错误的Profile,需将系统MAC地址与Profile绑定。运行以下命令(替换AA:BB:CC:DD:EE:FF为实际MAC地址):

sudo cobbler system add \
    --name ubuntu-client-01 \
    --profile ubuntu-24.04-profile \
    --interface auto \
    --mac AA:BB:CC:DD:EE:FF

9. 同步Cobbler配置

将所有配置同步到TFTP服务器,使客户端能够获取引导文件与镜像:

sudo cobbler sync

10. 测试自动安装

将客户端计算机设置为PXE启动(进入BIOS/UEFI修改启动顺序),连接网络后,客户端会自动从Cobbler服务器下载引导文件,启动Ubuntu自动化安装流程。安装过程中将按照Kickstart文件的配置完成系统部署,无需人工干预。

通过以上步骤,Cobbler可实现Ubuntu系统的完全自动化安装,适用于大规模服务器部署场景,显著降低运维成本。

0