一、安装Cobbler及相关依赖
在CentOS系统上,首先需要安装Cobbler及其依赖组件(包括DHCP、TFTP、HTTP等服务)。执行以下命令安装:
sudo yum install cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart -y
安装完成后,确保系统已启用EPEL源(若未启用,可通过sudo yum install epel-release -y安装)。
二、配置Cobbler主设置文件
Cobbler的核心配置文件为/etc/cobbler/settings,需修改以下关键参数:
server为Cobbler服务器的IP地址(如192.168.1.100);next_server为TFTP服务器的IP地址(通常与server一致);manage_dhcp(让Cobbler管理DHCP服务,若自行配置DHCP则设为0)、manage_tftpd(启用TFTP服务);pxe_just_once为1(防止客户端循环从网络启动)。sudo cobbler sync
三、配置DHCP服务(可选:由Cobbler管理)
若manage_dhcp设置为1,需编辑Cobbler的DHCP模板文件/etc/cobbler/dhcp.template,配置DHCP参数:
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.100; # Cobbler服务器IP(与next_server一致)
}
若自行管理DHCP(manage_dhcp=0),则直接编辑系统DHCP配置文件/etc/dhcp/dhcpd.conf,添加上述内容(需替换对应参数)。修改后重启DHCP服务:
sudo systemctl restart dhcpd
四、配置TFTP服务
TFTP服务用于传输PXE启动文件,需编辑/etc/xinetd.d/tftp文件,确保以下参数正确:
service tftp {
disable = no # 启用TFTP服务
server_args = -s /var/lib/tftpboot # TFTP根目录(Cobbler默认路径)
per_source = 11
cps = 100 2
flags = IPv4
}
修改后重启xinetd服务:
sudo systemctl restart xinetd
五、导入操作系统镜像
Cobbler通过导入操作系统ISO镜像生成安装源。将ISO文件(如CentOS-7-x86_64.iso)复制到临时目录(如/tmp),执行以下命令导入:
sudo cobbler import --path=/tmp/CentOS-7-x86_64.iso --name centos7 --arch x86_64
导入完成后,Cobbler会在/var/www/cobbler/ks_mirror/下生成对应的安装源。
六、创建Kickstart配置文件
Kickstart文件用于自动化安装过程,Cobbler提供默认模板/var/lib/cobbler/kickstarts/default.seed。可根据需求修改此文件(如设置root密码、分区方案、软件包选择),或创建自定义模板(如/var/lib/cobbler/kickstarts/centos7.ks)。
七、创建Cobbler配置文件并关联Kickstart
使用cobbler profile edit命令创建安装配置文件,关联操作系统镜像和Kickstart文件:
sudo cobbler profile edit --name centos7-x86_64 --distro centos7-x86_64 --kickstart /var/lib/cobbler/kickstarts/centos7.ks
其中,--name为配置文件名称,--distro为导入的操作系统镜像名称(通过cobbler distro list查看),--kickstart为Kickstart文件路径。
八、启用客户端PXE启动并同步配置
添加客户端系统记录,启用网络启动:
sudo cobbler system add --name client1 --profile centos7-x86_64
sudo cobbler system edit --name client1 --netboot-enabled yes
最后,同步Cobbler配置以应用所有更改:
sudo cobbler sync
九、验证网络配置
cobbler check命令检查Cobbler配置是否有错误(如DHCP、TFTP服务未启动);注意事项
sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=tftp --permanent
sudo firewall-cmd --reload