首先简单介绍一下PXE(preboot execute environment):是预启动执行环境缩写,是intel公司推出的一款通过网络来引导操作系统的协议。可以实现通过网络方式自动进行系统安装。广泛应用于网吧无盘系统。只需要将无盘服务器维护好,就能保证网络中的无盘工作站(客户机)的系统能正常运行。


PXE应用场景和需求:需要进行大批量的部署操作系统(批量化),pc机或者是没有光驱的服务器,需要经常更换或者重装linux操作系统。如果要部署PXE的话,需要网络畅通并且有一台发布安装源的服务器,且被安装系统的机器支持网络引导。


简单介绍一下PXE的工作过程:

1.pxe客户机向DHCP服务器发送请求

2.DHCP服务器回应pxe客户机,分配一个IP给pxe客户机后,并告知TFTP服务器的IP的地址

3.pxe客户机向TFTP服务器提出请求下载启动的网络引导程序文件pxelinux.0(由syslinux软件提供)

4.TFTP服务器响应pxe客户机的请求,将pxelinux.0发送给pxe客户机

5.服务器端通过http或vsftpd给pxe客户机提供安装源,即光盘镜像iso

6.服务器端通过kickstart文件ks.cfg,实现系统的自动化安装

即:

pxe客户机  -------------> DHCP服务器 -----------------------> TFTP服务器 ----------------> FTP服务器

                next-server:TFTP的IP地址           pxelinux.0                挂载系统镜像

                filename: ”pxelinux.0”                   isolinux-->defaultks.cfg


实验环境搭建:

通过centos7 部署一台PXE服务器,实现通过PXE网络来给客户机手动或自动安装centos操作系统(这里我将所需要的服务都部署在192.168.11.11这台服务上):

  1. 首先检查防火墙和selinux有没有关:

    getenforce && setenforce 0

    systemctl status firewalld &&systemctl stop firewalld

  2. 安装PXE服务器需要的软件包:

    yum -y install dhcp tftp-server syslinux mlocate vsftpd

  3. 搭建DHCP服务器:

    修改DHCP的主配置文件/etc/dhcp/dhcpd.conf

    PXE服务器部署_第1张图片

    重启服务,并设为开机自启:

    systemctl restart dhcpd && systemctl enable dhcpd

  4. 部署TFTP服务器:

    更改TFTP的配置文件(路径为/etc/xinetd.d/tftp),将disable=yes改为disable=no

    重启TFTP服务并设为开机自启:

    systemctl restart tftp && systemctl enable tftp

    更新local数据库,并查找pxelinux.0文件:

    图片2.png

    然后共享指定的文件到/var/lib/tftpboot中:

    图片3.png

  5. 部署vsftpd:

    启动vsftpd,并设置开机自启

    systemctl restart vsftpd && systemctl enable vsftpd

    共享镜像文件:

    图片4.png

  6. 生成ks.cfg文件:(可以通过vim创建也可以安装软件kickstart)

    注:linux系统在安装时会在家目录自动生成一个anaconda-ks.cfg配置文件,里面记录的就是用户在安装系统时所做的操作

    PXE服务器部署_第2张图片

    编辑tftp服务器上的pxelinux.0文件,添加镜像文件路径和ks自动化应答文件路径:

    图片6.png

  7. 做测试时可以在虚拟机上新建一台centos7_64x的虚拟机,给足内存(测试的话1.3个G就足够了)进行测试,开机后它会自动部署:

PXE服务器部署_第3张图片

到此,测试完成。