在Cobbler服务器(如CentOS 7)上,安装Cobbler核心工具及DHCP、TFTP、HTTP等服务,这些服务是PXE引导和镜像分发的基础:
yum install -y cobbler cobbler-web dhcp tftp-server httpd pykickstart rsync xinetd
启动并设置服务开机自启:
systemctl enable --now httpd xinetd tftp cobblerd
通过cobbler check命令检查配置问题(如server字段是否为IP地址、DHCP是否启用等),并按提示修复。
编辑/etc/cobbler/settings,设置关键参数:
server(Cobbler服务器IP)、next_server(TFTP服务器IP,通常与Cobbler服务器一致);default_password_crypted(使用openssl passwd -1加密的root密码,如$1$B8DvnqZY$ZtrEjkRM4JOJB.QzwPXmV.)。sed -ri 's/^(server:).*/\1 10.0.0.5/' /etc/cobbler/settings
sed -ri 's/^(next_server:).*/\1 10.0.0.5/' /etc/cobbler/settings
sed -ri 's#^(default_password_crypted:).*#\1 "$1$B8DvnqZY$ZtrEjkRM4JOJB.QzwPXmV."#' /etc/cobbler/settings
保存后同步配置:cobbler sync。
将Ubuntu ISO镜像(如ubuntu-20.04.1-legacy-server-amd64.iso)上传至服务器,挂载后使用cobbler import命令导入:
mkdir -p /mnt/ubuntu20
mount -o loop /iso/ubuntu-20.04.1-legacy-server-amd64.iso /mnt/ubuntu20
cobbler import --name=ubuntu20 --path=/mnt/ubuntu20/ --breed=ubuntu --autoinstall=/var/lib/cobbler/templates/ubuntu.seed
参数说明:
--name:镜像名称(后续创建Profile时使用);--breed=ubuntu:指定系统类型为Ubuntu;--autoinstall:关联Ubuntu预配置文件(Seed文件,用于自动化安装)。cobbler list查看生成的distro(系统镜像)和profile(安装配置)。Seed文件(如/var/lib/cobbler/templates/ubuntu.seed)定义了Ubuntu安装的自动化配置,需修改以下关键项:
d-i debian-installer/locale string en_US、d-i time/zone string Asia/Shanghai;d-i netcfg/choose_interface select auto(自动获取IP)、d-i mirror/http/hostname string $http_server(镜像服务器地址,即Cobbler服务器IP);d-i partman-auto/method string regular(常规分区)、d-i partman-auto/choose_recipe select atomic(所有文件在一个分区);d-i pkgsel/include string wget ssh(安装wget、ssh等基础工具);d-i grub-installer/grub2_instead_of_grub_legacy boolean true(使用GRUB2引导)。cobbler sync同步配置,使Seed文件生效。若Cobbler管理DHCP(manage_dhcp: 1),需编辑/etc/cobbler/dhcp.template,设置PXE引导参数:
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.2;
option domain-name-servers 114.114.114.114;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.0.0.100 10.0.0.200;
filename "/pxelinux.0";
next-server $next_server;
}
同步DHCP配置:cobbler sync。
将目标主机设置为PXE启动(BIOS中优先选择网络启动),连接至Cobbler服务器所在网络。主机启动后会自动获取IP,加载PXE引导界面,选择对应的Ubuntu Profile(如ubuntu20-x86_64),即可开始无人值守安装。安装完成后,主机将自动配置root密码、安装指定软件包,并重启进入系统。
通过以上步骤,Cobbler实现了Ubuntu批量安装的自动化,覆盖从镜像导入、配置预定义到无人值守安装的全流程,大幅减少了手动操作。