PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。
pxe的工作流程
1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
3.客户机向本网络中的TFTP服务器索取bootstrap文件
4.客户机取得bootstrap文件后之执行该文件
5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
6.进入安装画面,此时可以通过选择FTP,HTTP,NFS方式之一进行安装(常用HTTP)
1 服务安装
yum install dhcp tftp-server httpd syslinux -y
systemctl stop firewalld
httpd ##共享安装资源
dhcp ##分配ip以及让客户主机获取pexlinux.0文件
syslinux ##提供pxelinux.0文件
tftp-server ##提供tftp协议,令客户主机可以读取到预安装环境
2 开启tftp服务
tftp服务器由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后再启动xinetd服务即可。
cd /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 .
mkdir pxelinux.cfg
寻找镜像文件中的isolinux中的所有文件
cp isolinux.cfg pxelinux.cfg/default
isolinux/目录下有目录有内核和初始化文件等,复制到/var/lib/tftpboot/,在pexlinux.0引导客户主机访问tftp时,访问这些文件
pxelinux.0:预安装环境头文件,用来指定读取后续文件的程序
3 配置dhcp服务器
[root@server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[root@server ~]# vim /etc/dhcp/dhcpd.conf
[root@server ~]# systemctl restart dhcpd
13 filename “pxelinux.0”; ##客户主机获得到的预安装环境头文件
12 next-server 172.25.254.11; ##指定头文件所在主机的ip
整一个虚拟机,让它从网卡启动: