CentOS下Cobbler测试流程

一环境与服务检查

确认关键服务已启动并开机自启:建议启用httpd、cobblerd、tftp、rsync(DHCP可按需由Cobbler托管或由外部提供)。

执行配置核查与引导文件准备:

运行cobblercheck,按提示修复(常见项:设置server/next_server为服务器可达IP、启用TFTP、安装引导加载器、设置默认加密密码等)。

运行cobblerget-loaders下载PXE所需引导文件(如pxelinux.0、menu.c32等)。

每次修改配置后执行cobblersync使变更生效。

防火墙与SELinux(测试环境常用做法):

放行端口:80/tcp(HTTP)、443/tcp(HTTPS)、69/udp(TFTP)、25151/tcp(CobblerAPI);或临时停用防火墙。

测试阶段可将SELinux设为permissive/disabled,生产环境请使用正确的策略模块。

二导入镜像与创建可安装条目

导入发行版镜像:挂载ISO后导入,例如

mount/dev/cdrom/mnt

cobblerimport--path=/mnt--name=CentOS-7-x86_64--arch=x86_64

校验导入结果:

cobblerdistrolist

cobblerprofilelist

关联Kickstart:将自定义或示例Kickstart绑定到Profile,例如

cobblerprofileedit--name=CentOS-7-x86_64--kickstart=/var/lib/cobbler/kickstarts/centos7.ks

如启用仓库管理,执行cobblerreposync同步YUM仓库元数据。

三网络连通性与Kickstart可达性验证

验证安装树与KS文件可访问(以服务器IP为192.168.1.103为例):

curl-Ihttp://192.168.1.103/cblr/links/CentOS-7-x86_64/应返回200/301

curlhttp://192.168.1.103/cblr/svc/op/ks/profile/CentOS-7-x86_64应返回200且内容为可渲染的Kickstart

校验Kickstart语法:

ksvalidator-vrhel7http://192.168.1.103/cblr/svc/op/ks/profile/CentOS-7-x86_64

DHCP/TFTP连通性(在客户端或同网段抓包/日志):

DHCP应分配IP并告知next-server与bootfilename(pxelinux.0)

TFTP应能获取pxelinux.0、menu.c32、pxelinux.cfg/*、vmlinuz、initrd.img等文件

常见现象与定位:

客户端PXE菜单停留、未自动安装,多为KickstartURL不可达/渲染失败或DHCPnext-server指向错误,可用curl/浏览器直接访问上述URL排查。

四客户端PXE安装与验收

在虚拟化平台(如VirtualBox/VMware/KVM)创建测试虚机:

网卡连接到与Cobbler同二层网段;如使用桥接,请确保该网段由本机DHCP/TFTP提供服务或隔离测试。

在虚机BIOS/启动菜单选择Network/PXE启动。

启动后应自动获取IP、下载PXE引导文件、进入Cobbler菜单并基于指定Profile自动安装。

安装完成后:

将启动顺序改为硬盘优先,重启验证系统可正常引导。

登录系统检查:网络、分区、软件包、时区/语言、用户口令等是否与Kickstart一致。

如需再次测试,可在Cobbler中清理或移除测试记录(如cobblersystemremove--name=xxx),避免重复注册。

五常用命令与排错要点

常用命令速查:

cobblercheck(配置核查)

cobblerlist/report(清单与详情)

cobblersync(同步配置到数据目录)

cobblerdistro/profile/system(查看/管理发行版、配置、系统条目)

cobblerimport/reposync(导入镜像/同步仓库)

高频问题处理:

引导菜单出现但KS未生效:优先检查/cblr/svc/op/ks/的URL是否可访问与渲染(ksvalidator辅助)。

客户端拿不到IP或找不到启动文件:核对DHCPnext_server、TFTP服务与文件权限、二层网络连通性。

导入后无可用Profile:确认导入成功(distrolist/profilelist),并为Profile正确绑定kickstart。

修改配置未生效:执行cobblersync并重启相关服务。