Ubuntu Cobbler实现集群部署指南
集群部署的核心是通过Cobbler的自动化能力,批量配置多个节点的网络启动、系统安装及个性化设置。以下是具体实现步骤:
在Ubuntu服务器上安装Cobbler及依赖组件,确保基础服务可用:
sudo apt update
sudo apt install cobbler cobbler-web dhcp3-server tftpd-hpa xinetd -y
启动并设置Cobbler服务开机自启:
sudo systemctl start cobblerd
sudo systemctl enable cobblerd
编辑/etc/dhcp/dhcpd.conf,添加子网及PXE引导参数(根据实际网络调整):
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.10; # Cobbler服务器IP(需与服务端一致)
}
指定DHCP监听接口(编辑/etc/default/isc-dhcp-server):
INTERFACESv4="eth0" # 替换为你的网卡名称(如ens33)
重启DHCP服务:
sudo systemctl restart isc-dhcp-server
编辑/etc/xinetd.d/tftp,启用TFTP并设置根目录:
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根目录(Cobbler默认路径)
disable = no
}
重启xinetd服务:
sudo systemctl restart xinetd
下载Ubuntu ISO镜像(如20.04 LTS),使用debmirror工具导入到Cobbler:
sudo debmirror -a amd64 \
--method http \
--dist focal \
--section main,restricted,universe,multiverse \
--host archive.ubuntu.com \
/var/www/cobbler/Ubuntu-20.04-mirror
将镜像添加到Cobbler(命名为ubuntu-20.04):
sudo cobbler import --path /var/www/cobbler/Ubuntu-20.04-mirror --name ubuntu-20.04
Profile定义了节点的系统版本、内核参数及Kickstart文件(自动化安装脚本)。编辑或创建Kickstart文件(如/var/lib/cobbler/kickstarts/ubuntu-20.04.seed),包含分区、用户、软件源等配置。
创建Profile:
sudo cobbler profile add \
--name ubuntu-20.04-profile \ # Profile名称
--distro ubuntu-20.04 \ # 关联的镜像名称(import生成的)
--kickstart /var/lib/cobbler/kickstarts/ubuntu-20.04.seed # Kickstart文件路径
为每个集群节点配置唯一标识(MAC地址)及网络参数。以node1为例:
sudo cobbler system add \
--name node1 \ # 节点名称
--profile ubuntu-20.04-profile \ # 关联的Profile
--mac 00:11:22:33:44:55 \ # 节点网卡MAC地址(需提前获取)
--ip-address 192.168.1.11 \ # 静态IP(或留空让Cobbler动态分配)
--subnet 255.255.255.0 \ # 子网掩码
--gateway 192.168.1.1 \ # 网关
--hostname node1.example.com \ # 主机名
--interface eth0 # 网络接口名称
重复上述步骤,添加所有集群节点(如node2、node3等)。
Cobbler配置变更后,需执行sync命令将设置同步到TFTP、DHCP等服务:
sudo cobbler sync
cobbler system report --name node1 # 查看节点详情
cobbler system status node1 # 检查节点状态(是否正在安装/已激活)
vim /var/lib/cobbler/kickstarts/ubuntu-20.04.seed编辑。