一、PXE
Preboot ExecuteEnvironment:支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicasttrivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成Client端自动化基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。
二、PXE工作过程
下图中介绍了Linux中自动安装系统的详细工作过程:
基本原理及工作流程:
首先,在客户端主机的网卡要支持网络引导,当开机时网卡就会激活当中的程序,自行通过网络向DHCP请求IP地址,并配置在自己的网卡上。
其次,DHCP服务器回应给我们的主机,分配了IP地址,掩码什么的,再让DHCP服务器告诉我们的客户端主机tftp服务器在什么位置。
接着,客户端主机就去请求tftp服务器,当然,这里的DHCP服务器和tftp服务器可以是同一台,也可以不是同一台,看情况而定。
而后,tftp服务器就会给客户端主机提供一个pxe的文件、这个文件就是pxelinux.0,他相当于我们的bootloader、而这个文件是由syslinux这个程序包提供的。
再则,客户端主机利用tftp服务器提供的pxelinux.0这个文件,再次尝试到tftp服务器上获取内核,因为要启动安装就要启用引导内核。
之后,当引导内核启动后,客户端主机通过改名后的default(由pxelinux.0改名而来)文件成功的引导Linux安装内核后,通过httpd服务获取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
最后,将ks.cfg文件下载回来后,通过该文件找到ks.cfg文件的配置请求下载安装过程所需要的软件包,这样就可以实现生动化安装了。
三、PXE实验环境
1.实验环境
服务端:
客户端:
注:默认情况下,系统存在镜像,并且镜像已经挂载/media下
2.DHCP服务
3.tftp/xinetd服务
4.http服务
5.syslinux软件包
6.ks.cfg文件
参考:
http://tanxw.blog.51cto.com/4309543/1371355
http://www.2cto.com/net/201602/490925.html
http://xiexiaojun.blog.51cto.com/2305291/1735097
原文:http://weilantiankong.blog.51cto.com/9469693/1754892