首先简单介绍一下PXE(preboot execute environment):是预启动执行环境缩写,是intel公司推出的一款经过网络来引导操做系统的协议。能够实现经过网络方式自动进行系统安装。普遍应用于网吧无盘系统。只须要将无盘服务器维护好,就能保证网络中的无盘工做站(客户机)的系统能正常运行。linux
PXE应用场景和需求:须要进行大批量的部署操做系统(批量化),pc机或者是没有光驱的服务器,须要常常更换或者重装linux操做系统。若是要部署PXE的话,须要网络畅通而且有一台发布安装源的服务器,且被安装系统的机器支持网络引导。数据库
简单介绍一下PXE的工做过程:vim
1.pxe客户机向DHCP服务器发送请求centos
2.DHCP服务器回应pxe客户机,分配一个IP给pxe客户机后,并告知TFTP服务器的IP的地址服务器
3.pxe客户机向TFTP服务器提出请求下载启动的网络引导程序文件pxelinux.0(由syslinux软件提供)网络
4.TFTP服务器响应pxe客户机的请求,将pxelinux.0发送给pxe客户机ide
5.服务器端经过http或vsftpd给pxe客户机提供安装源,即光盘镜像iso测试
6.服务器端经过kickstart文件ks.cfg,实现系统的自动化安装centos7
即:spa
pxe客户机 -------------> DHCP服务器 -----------------------> TFTP服务器 ----------------> FTP服务器
next-server:TFTP的IP地址 pxelinux.0 挂载系统镜像
filename: ”pxelinux.0” isolinux-->defaultks.cfg
实验环境搭建:
经过centos7 部署一台PXE服务器,实现经过PXE网络来给客户机手动或自动安装centos操做系统(这里我将所须要的服务都部署在192.168.11.11这台服务上):
首先检查防火墙和selinux有没有关:
getenforce && setenforce 0
systemctl status firewalld &&systemctl stop firewalld
安装PXE服务器须要的软件包:
yum -y install dhcp tftp-server syslinux mlocate vsftpd
搭建DHCP服务器:
修改DHCP的主配置文件/etc/dhcp/dhcpd.conf
重启服务,并设为开机自启:
systemctl restart dhcpd && systemctl enable dhcpd
部署TFTP服务器:
更改TFTP的配置文件(路径为/etc/xinetd.d/tftp),将disable=yes改成disable=no
重启TFTP服务并设为开机自启:
systemctl restart tftp && systemctl enable tftp
更新local数据库,并查找pxelinux.0文件:
而后共享指定的文件到/var/lib/tftpboot中:
部署vsftpd:
启动vsftpd,并设置开机自启
systemctl restart vsftpd && systemctl enable vsftpd
共享镜像文件:
生成ks.cfg文件:(能够经过vim建立也能够安装软件kickstart)
注:linux系统在安装时会在家目录自动生成一个anaconda-ks.cfg配置文件,里面记录的就是用户在安装系统时所作的操做
编辑tftp服务器上的pxelinux.0文件,添加镜像文件路径和ks自动化应答文件路径:
作测试时能够在虚拟机上新建一台centos7_64x的虚拟机,给足内存(测试的话1.3个G就足够了)进行测试,开机后它会自动部署:
到此,测试完成。