自定义CentOS Cobbler安装选项的核心步骤
在开始自定义前,需完成Cobbler及依赖服务的安装与基础配置:
yum安装cobbler、cobbler-web、tftp-server、dhcp、httpd、xinetd等包,确保服务可用。/etc/cobbler/settings,设置关键参数:
server:Cobbler服务器IP(需为可解析的主机名或IP,供客户端访问);next_server:TFTP服务器IP(通常与Cobbler服务器一致,用于存放引导文件);manage_dhcp:设为1以让Cobbler自动管理DHCP配置(简化流程);pxe_just_once:设为1避免客户端重复PXE引导。cobblerd、httpd、dhcpd等服务,执行cobbler sync将配置同步到数据目录(如/var/lib/cobbler)。Kickstart文件是自动化安装的“蓝图”,决定了系统的分区、软件包、网络、用户等配置。Cobbler的默认Kickstart文件存放在/var/lib/cobbler/kickstarts/,可通过以下方式定制:
/root/anaconda-ks.cfg文件记录了实际安装配置,可直接复制并修改作为自定义模板。system-config-kickstart(CentOS 7)或redhat-config-kickstart(旧版本)工具,可视化配置语言、时区、分区、软件包等选项,生成.cfg文件。lang(语言,如en_US.UTF-8)、keyboard(键盘布局,如us)、timezone(时区,如Asia/Shanghai)、rootpw(root密码,建议用openssl passwd -1加密,如--iscrypted $6$salt$hashedpassword)。clearpart --all --initlabel(清除所有分区并初始化磁盘标签)、part /boot --fstype=xfs --size=1024(boot分区,1GB)、part swap --size=2048(swap分区,2GB)、part / --fstype=xfs --size=1 --grow(根分区,剩余空间)。%packages section中列出需要的软件包组(如@base、@development)或单个包(如vim、net-tools),例如:%packages
@base
@development
vim
net-tools
%end
%post section中添加安装后需执行的命令(如禁用防火墙、配置服务),例如:%post --log /var/log/ks-post.log
systemctl disable postfix
systemctl enable sshd
%end
/var/lib/cobbler/kickstarts/(如centos7-custom.ks),然后通过cobbler profile edit命令将其关联到对应的Profile(见下一步)。Profile是Cobbler中连接操作系统镜像(Distro)与Kickstart文件的桥梁,通过修改Profile可指定安装时使用的Kickstart文件:
cobbler profile list查看当前所有Profile(如centos7-x86_64)。cobbler profile edit命令绑定Kickstart文件,例如:cobbler profile edit --name=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-custom.ks
kopts:传递内核参数(如修改网卡名称为传统命名eth0):cobbler profile edit --name=centos7-x86_64 --kopts='net.ifnames=0 biosdevname=0'
repo:添加额外的YUM仓库(如内部仓库):cobbler profile edit --name=centos7-x86_64 --repos="http://internal-repo.example.com/centos7/os/x86_64/"
cobbler sync使修改生效。若需要修改PXE启动时的菜单显示(如名称、超时时间、默认选项),可编辑PXE模板文件:
/etc/cobbler/pxe/pxedefault.template是默认的PXE菜单模板,关键参数包括:
MENU TITLE:菜单标题(如Xuegod PXE Menu);TIMEOUT:超时时间(秒,默认100秒,超时后执行ONTIMEOUT指定的选项);ONTIMEOUT:超时后默认执行的Profile(如centos7-x86_64);LABEL:定义菜单项(如LABEL local表示本地硬盘启动)。DEFAULT menuPROMPT 0
MENU TITLE Custom PXE Menu
TIMEOUT 300
TOTALTIMEOUT 6000
ONTIMEOUT centos7-x86_64
LABEL local
MENU LABEL Boot from local drive
LOCALBOOT -1
LABEL centos7-x86_64
MENU LABEL Install CentOS 7
KERNEL $kernel_path
APPEND initrd=$initrd_path ks=$kickstart_url
cobbler sync,更新PXE引导菜单。若需要为特定主机定制安装选项(如固定IP、主机名、MAC地址),可使用cobbler system add命令:
cobbler system add命令,指定Profile、MAC地址、IP等信息,例如:cobbler system add --name=web-server-01 --profile=centos7-x86_64 --mac=00:11:22:33:44:55 --ip-address=192.168.1.100 --subnet=255.255.255.0 --gateway=192.168.1.1 --hostname=web.example.com --name-servers=8.8.8.8
cobbler system report查看系统详情,确认配置无误后执行cobbler sync,使系统配置生效。cobbler check,修复提示的问题(如server字段不能为localhost)。/var/log/cobbler/installing/下的日志文件,排查可能的错误。通过以上步骤,可灵活定制CentOS Cobbler的安装选项,实现自动化、标准化的系统部署。需注意,修改配置后务必执行cobbler sync,确保更改应用到Cobbler的数据目录。