引言

在服务器和网络设备批量部署的过程中,传统的安装方式往往费时费力。而PXE(Preboot eXecution Environment,预启动执行环境)技术提供了一种通过网络引导计算机启动并安装操作系统的解决方案。本文将详细介绍如何在CentOS上配置PXE部署环境,实现自动化装机,提高工作效率。

PXE技术概述

PXE是一种网络引导技术,允许计算机通过网络从远程服务器启动并安装操作系统。它主要由以下几个部分组成:

  • DHCP(动态主机配置协议):为客户端计算机分配IP地址。
  • TFTP(简单文件传输协议):传输引导加载程序和操作系统镜像。
  • FTP(文件传输协议):传输安装文件。
  • PXE客户端:启动时通过网络从PXE服务器加载引导程序。

部署PXE环境的准备工作

在开始部署PXE环境之前,需要准备以下条件:

  • 硬件:支持PXE启动的网络设备。
  • 软件:CentOS操作系统、TFTP服务器、DHCP服务器、FTP服务器等。
  • 网络:确保PXE服务器和客户端设备之间网络通畅。

步骤一:安装TFTP服务器

  1. 安装TFTP服务器:
yum -y install tftp-server xinetd
  1. 修改TFTP服务配置文件:
vim /etc/xinetd.d/tftp

waitno修改为yes,表示串行传输,然后取消注释disableno

  1. 启动和使能TFTP服务:
systemctl restart tftp
systemctl enable tftp
  1. 创建TFTP服务目录:
mkdir -p /var/lib/tftpboot

将CentOS安装镜像文件(如CentOS-7-x86_64-DVD-*.iso)复制到/var/lib/tftpboot目录。

步骤二:安装DHCP服务器

  1. 安装DHCP服务器:
yum -y install dhcp
  1. 修改DHCP服务配置文件:
vim /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;
    bootfile "pxelinux.0";
}
  1. 启动和使能DHCP服务:
systemctl restart dhcpd
systemctl enable dhcpd

步骤三:安装PXE引导程序

  1. 安装syslinux:
yum -y install syslinux
  1. 修改syslinux配置文件:
vim /etc/syslinux/syslinux.cfg

添加以下内容:

DEFAULT localboot
LABEL localboot
LOCALBOOT 0
  1. 将syslinux配置文件复制到TFTP服务目录:
cp /usr/share/syslinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
  1. 将pxelinux.0和menu.c32复制到TFTP服务目录:
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

步骤四:配置FTP服务器

  1. 安装FTP服务器:
yum -y install vsftpd
  1. 修改FTP服务器配置文件:
vim /etc/vsftpd/vsftpd.conf

添加以下内容:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
  1. 启动和使能FTP服务:
systemctl restart vsftpd
systemctl enable vsftpd

将CentOS安装镜像文件上传到FTP服务器的根目录。

步骤五:配置启动菜单

  1. 修改TFTP服务目录下的pxelinux.cfg/default文件:
vim /var/lib/tftpboot/pxelinux.cfg/default

添加以下内容:

default localboot
label localboot
localboot c
label install
kernel vmlinuz
append initrd=initrd.img method ftp://192.168.1.1/centos7.iso

步骤六:关闭防火墙并验证PXE网络安装

  1. 关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
  1. 重启PXE客户端计算机,选择PXE启动方式,等待自动安装完成。

总结

通过以上步骤,我们成功搭建了CentOS PXE部署环境,实现了自动化装机。PXE技术在服务器和网络设备的批量部署中具有显著优势,可以提高工作效率,降低成本。在实际应用中,可以根据需要调整PXE配置,以满足不同场景的需求。