CentOS 7.3 PXE 部署指南

PXE(Preboot eXecution Environment)是一种网络启动技术,允许计算机通过网络从服务器启动操作系统,在服务器环境中,PXE常用于自动化部署操作系统,本文将详细介绍如何在CentOS 7.3上配置PXE服务器,实现远程部署。
准备工作
硬件环境
- 一台CentOS 7.3服务器
- 网络设备,如交换机、路由器等
- 两块网络接口卡(一块用于连接管理网络,一块用于连接PXE网络)
软件环境
- CentOS 7.3安装盘或ISO镜像
- TFTP服务器软件(如tftp-hpa)
- DHCP服务器软件(如dhcp-server)
- PXE客户端启动镜像(如pxelinux)
配置步骤
安装软件包

sudo yum install tftp tftp-hpa dhcp-server xinetd syslinux
配置DHCP服务器
编辑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;
next-server 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
} 配置TFTP服务器
编辑TFTP配置文件/etc/xinetd.d/tftp,确保tftp服务处于启用状态:
service tftp {
socket_type = dgram
protocol = udp
wait = no
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
flags = IPv4
} 配置PXE客户端启动镜像
将CentOS 7.3安装镜像复制到TFTP共享目录/var/lib/tftpboot,并创建以下文件:

pxelinux.cfg/default:PXE客户端启动配置文件boot.img:引导镜像vmlinuz:Linux内核initrd.img:初始化ramdisk
pxelinux.cfg/default内容如下:
default menu.c32
prompt 1
timeout 600
label local
menu-label Local Boot
kernel vmlinuz
initrd initrd.img
label centos
menu-label Install CentOS 7.3
kernel vmlinuz
initrd initrd.img
append initrd=initrd.img inst.stage2=hd0,msdos1 method=http://192.168.1.1/centos7.3/ 启动和设置xinetd
sudo systemctl start xinetd sudo systemctl enable xinetd
FAQs
Q1:如何设置PXE客户端启动镜像? A1:将CentOS 7.3安装镜像复制到TFTP共享目录,创建pxelinux.cfg/default等文件,并配置相关参数。
Q2:如何设置PXE客户端启动时显示菜单? A2:在pxelinux.cfg/default文件中,使用default参数指定默认启动的标签,使用label参数定义其他启动选项,并在每个标签中使用menu-label定义菜单显示的文本。

