要在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
-
启动并启用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启动
-
配置客户端网卡: 确保客户端网卡的PXE启动功能已启用,并在BIOS中设置为从网络启动。
-
启动客户端: 客户端网卡启动后会通过DHCP获取IP地址,并尝试从TFTP服务器获取PXE引导文件,最终引导安装程序进行系统安装。