pxe的作用与原理
什么是pxe?
这里我们拿<安装系统>来介绍pxe的作用与原理
安装系统的方法有:
1.光盘(镜像)
2.U盘
3.网络(批量) 批量部署 无人值守(非交互模式) —— pxe技术实现
pxe的作用是什么呢?假如我有一批服务器,几十台二十几台,现在需要装系统,你不可能要去一个个装的,装完一个需要几十分钟半个小时,那全装完需要很长的时间,所以这时候我们就可以启用网络安装,所有服务器通过网络同时安装系统,这时候可能两个小时就全装完了,一百台也装完了。
需要做笔记可以任取——
要网络启动,首先你是得需要网络的,所以我们第一步要配置一个DHCP服务器来为new服务器提供ip地址,那new服务器是如何来寻找网络的?这就依赖于它网卡中的pxe模块,当获取到地址后,它就要开始获取它安装系统时所需要的文件,DHCP肯定是不能传输文件的,什么可以传输文件?nfs是可以的,ftp也可以,http也行,这些服务都是可以传输文件的,但是这些服务都是需要客户端的,比如ftp,他需要你有lftp命令或者其他ftp客户端的命令才可以下载;http呢,他需要浏览器,或者说wget;nfs呢,它需要你用mount命令来进行挂载
这些服务都依赖于你操作系统自身的客户端软件,但是你的new服务器里面是没有系统的,所以操作系统层面的软件它都是没有的,那怎么办?这时候就到了第二步,我们需要启动一个服务叫做tftp,这个tftp呢,他和ftp有同样的功能,它是琐碎文件传输协议(小文件传输协议),这里的“t”是琐碎的意思。tftp的客户端在pxe模块里面是有集成的,我们只需要通过它来下载对应的文件就行,下载一个叫做pxelinux的文件(同时也会把pxelinux.cfg/default内核文件下载下来),这个是预安装文件。
总结下来,我们通过第一个服务来获取ip,通过第二个服务来获取对应的文件,可是new服务器是怎么知道tftp服务器的地址是什么的?怎么知道下载的文件是什么?所以DHCP服务器不仅要给new服务器提供ip,还要为它提供下一个服务器的地址以及要下载的文件名,同样tftp也会告诉new服务器下一个服务器的地址以及需要的文件名linuz和initrd-ramfs(这两个文件用于启动内存中的系统来给自己硬盘装系统,这两个文件是通过tftp获取不了的)
之后是第三步,第三步的服务可以是nfs、http、ftp里面的任何一个服务,我们可以通过其中的任意一个来下载inuz和initrd-ramfs这两个文件以及光盘中的所有安装包,下载完成之后pxe批量部署的整个流程就结束了。