Cobbler实现Ubuntu自动化安装的完整步骤
在Ubuntu服务器上安装Cobbler及依赖组件,确保系统支持网络安装服务:
sudo apt update
sudo apt install cobbler cobbler-web dhcp3-server tftpd-hpa xinetd -y
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
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
启动Cobbler服务并设置开机自启:
sudo systemctl start cobblerd
sudo systemctl enable cobblerd
运行配置检查命令,修复潜在问题(如缺少依赖、路径错误):
sudo cobbler check
根据检查结果执行修复命令(例如安装缺失的包、修改配置文件)。
下载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目录下,供客户端下载。
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
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
为避免客户端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
将所有配置同步到TFTP服务器,使客户端能够获取引导文件与镜像:
sudo cobbler sync
将客户端计算机设置为PXE启动(进入BIOS/UEFI修改启动顺序),连接网络后,客户端会自动从Cobbler服务器下载引导文件,启动Ubuntu自动化安装流程。安装过程中将按照Kickstart文件的配置完成系统部署,无需人工干预。
通过以上步骤,Cobbler可实现Ubuntu系统的完全自动化安装,适用于大规模服务器部署场景,显著降低运维成本。