在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量.
但是批量自动化安装服务器的基础是网络启动服务器(bootserver).
下面我们就介绍一下网络启动服务器的安装和配置方法,供大家实践之用!
1.本文用到的术语解释
PXE
PXE(Pre-bootExecutionEnvironment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXEclient调入内存执行,并显示出命令菜单,经用户选择后,PXEclient将放置在远端的操作系统通过网络下载到本地运行.
DHCP
DHCP(DynamicHostControlProtocol)动态主机控制协议.用于集中、动态的给客户机分配IP地址.
TFTP
TFTP(trivialfiletransferprotocol),一种开销很小的文件传输协议,语法类似ftp.因简单、高效,常用于网络设备的OS和配置更新.
2.PXE原理
2.1.PXEClientApi(架构)
图PXEAPI架构图。(图片来源:PXESpecificationVersion2.1)
上图说明:当BIOS把PXEClient载入记忆体,此时便具有DHCPClient及TFTPClient的能力。
PXEClient具备DHCPClient能力,可以透过DHCPServer来取得IP位址。
PXEClient具备TFTPClient能力,可通过TFTP来下载kernelimage等文件。
2.2.PXE启动流程图(pxeboot)
上图启动流程说明如下:
PXEClient向UDP67端口广播DHCPDDISCOVER消息.
DHCPSERVER或者DHCPProxy收到广播消息后,发送DHCPOFFER(包含ip地址)消息到PXEClient的68端口.
PXEClient发送DHCPREQUEST消息到DHCPSERVER,获取启动文件(bootfilename).
DHCPSERVER发送DHCPACK(包含NetworkBootstrapProgramfilename)消息到PXEClient.
PXEClient向BootServer获取NBP(NetworkBootstrapProgram)文件.
PXEClient从TFTPSERVER下载NBP,然后在客户端执行NBP文件
注意:在NBP执行初始化后,NBP会按照自己默认的方式从TFTPSERVER中下载其他所需的配置文件.
这个时候PXE启动流程已经完成了,剩下的工作都是有NBP来执行完成的.
例如:pxelinux.0(NBP)他会下载default配置文件,来显示菜单,根据需要启动不同的kernelimage.
如果是RIS(window安装)的NBP,会启动Windowsbootloader来执行安装部署widows任务.
3.PXEBOOTServer配置过程
以下配置和测试都是在Centos5上完成的,其他系统请酌情参考!
3.1.DHCP的安装与配置
在PXE引导过程中,PXEClient通过DHCPServer获取ip地址,NBP文件名称,然后从TFTPSERVER下载NBP文件并在客户端执行,从而启动计算机。
请确认系统中安装dhcp软件包
编辑/etc/dhcpd.conf配置文件,配置文件内容如下
复制代码