要在CentOS上使用Cobbler实现PXE启动,可以按照以下步骤进行配置:
安装Cobbler及相关依赖包:
yum install cobbler cobbler-web tftp-server dhcp httpd xinetd
关闭防火墙和SELinux:
systemctl stop firewalld
setenforce 0
配置网络接口: 确保至少有一个网络接口用于DHCP和TFTP服务,例如:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
ONBOOT=yes
启动并启用Cobbler服务:
systemctl start cobblerd
systemctl enable cobblerd
配置Cobbler设置文件:
编辑 /etc/cobbler/settings
文件,设置以下参数:
server: 192.168.1.100 # Cobbler服务器IP
next_server: 192.168.1.100 # TFTP服务器IP
manage_dhcp: 1
manage_tftp: 1
配置DHCP服务:
编辑 /etc/dhcp/dhcpd.conf
文件,添加以下内容:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8;
next-server 192.168.1.100;
filename "pxelinux.0";
}
配置TFTP服务:
编辑 /etc/xinetd.d/tftp
文件,确保 disable
设置为 no
:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
group = root
server = /usr/sbin/tftp
server_args = -s /var/lib/tftpboot
disable = no
}
配置PXE引导文件:
将 pxelinux.0
和 menu.c32
文件复制到TFTP目录:
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
创建PXE引导配置文件:
在 /var/lib/tftpboot/
目录下创建 pxelinux.cfg/default
文件,并添加以下内容:
default menu.c32
prompt 0
timeout 300
menu title PXE Boot Menu
label Install CentOS 7
kernel centos7-1511/vmlinuz
append initrd=centos7-1511/initrd.img
method ftp://192.168.1.100/centos7-1511/
label Install CentOS 7
kernel centos7-1810/vmlinuz
append initrd=centos7-1810/initrd.img
method ftp://192.168.1.100/centos7-1810/
导入ISO镜像:
使用 cobbler import
命令导入ISO镜像:
cobbler import --path=/path/to/iso --name="CentOS 7.1511"
cobbler import --path=/path/to/iso --name="CentOS 7.1810"
同步配置:
执行 cobbler sync
命令以同步配置到数据目录:
cobbler sync
配置客户端网卡: 确保客户端网卡的PXE启动功能已启用,并在BIOS中设置为从网络启动。
启动客户端: 客户端网卡启动后会通过DHCP获取IP地址,并尝试从TFTP服务器获取PXE引导文件,最终引导安装程序进行系统安装。