详解Linux系统下PXE服务器的部署过程
在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量. 但是批量自动化安装服务器的基础是网络启动服务器(bootserver). 下面我们就介绍一下 网络启动服务器的 安装和配置方法,供大家实践之用!1. 本文用到的术语解释PXEPXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行.DHCPDHCP(Dynamic Host Control Protocol) 动态主机控制协议.用于集中、动态的给客户机分配IP地址.TFTPTFTP(trivial file transfer protocol),一种开销很小的文件传输协议,语法类似ftp.因简单、高效,常用于网络设备的OS和配置更新.2. PXE 原理2.1. PXE Client Api (架构)
图 PXE API架构图。(图片来源:PXE Specification Version 2.1)上图说明: 当BIOS把PXE Client载入记忆体,此时便具有DHCP Client及TFTP Client的能力。PXE Client具备DHCP Client能力,可以透过DHCP Server来取得IP位址。 PXE Client具备TFTP Client能力”,可通过TFTP来下载kernel image等文件。2.2. PXE启动流程图(pxe boot)
上图启动流程说明如下:PXE Client 向 UDP 67端口 广播 DHCPDDISCOVER 消息.DHCP SERVER 或者 DHCP Proxy 收到广播消息后,发送DHCPOFFER(包含ip地址)消息 到 PXE Client的 68 端口.PXE Client 发送 DHCPREQUEST 消息到 DHCP SERVER ,获取启动文件(boot file name).DHCP SERVER 发送DHCPACK(包含Network Bootstrap Program file name)消息 到PXE Client.PXE Client 向 Boot Server 获取 NBP(Network Bootstrap Program) 文件.PXE Client 从TFTP SERVER 下载 NBP,然后在客户端执行NBP文件注意: 在NBP执行初始化后,NBP会按照自己默认的方式从TFTP SERVER中下载其他所需的配置文件. 这个时候 PXE 启动流程已经完成了,剩下的工作都是有NBP来执行完成的. 例如: pxelinux.0(NBP) 他会下载 default 配置文件,来显示菜单,根据需要启动不同的kernel image. 如果是RIS(window安装)的NBP,会启动 Windows boot loader 来执行安装部署widows任务.3. PXE BOOT Server 配置过程以下配置和测试 都是在 Centos5 上完成的,其他系统请酌情参考!3.1. DHCP的安装与配置在PXE引导过程中,PXE Client通过DHCP Server 获取ip地址,NBP文件名称,然后从TFTP SERVER 下载NBP文件并在客户端执行,从而启动计算机。请确认系统中安装 dhcp 软件包编辑 /etc/dhcpd.conf 配置文件,配置文件内容如下
代码如下:
注意:在 /etc/dhcpd.conf 配置文件中 filename "pxelinux.0"; 文件目录是相对于 tftp 的根目录(默认是 /tftpboot),所以文件的绝对路径就是: /tftpboot/pxelinux.0";当然也可以指定为其它的路径.配置完成后,重启DHCP服务,并将它设为开机自启动
代码如下:
3.2. 安装配置TFTP服务器在PXE引导过程中,PXE Client 使用TFTP协议从TFTP服务器下载bootstrap文件并执行.请确认系统中安装 tftp-server 软件包配置tftp服务,tftp 服务由xinetd服务管理 编辑 /etc/xinetd.d/tftp 文件,将 disable = yes 改为:disable = no .配置文件内容如下:
代码如下:
注意:TFTP服务器的根目录是 /tftpboot,配置完成后重启xinetd服务,使TFTP服务器生效.
代码如下:
bootstrap 文件配置 (NBP),这里使用 pxelinux.0bootstrap文件由syslinux软件包提供,我们只要安装了syslinux,将 pxelinux.0 这个文件复制到 /tftpboot 目录即可:
代码如下:
配置 pxelinux.0(NBP) 使用的配置文件接下来创建/tftpboot/pxelinux.cfg/ 目录,该目录用于存放客户端的配置文件
代码如下:
默认配置文件default,文件内容如下、
代码如下:
注意事项: 默认 pxelinux.0 和 pxelinux.cfg 一定要在同一个目录下3.3. pxelinx.0(NBP)程序配置文件搜索顺序由于多个客户端可以从一个PXE服务器引导,PXE引导映像使用了一个复杂的配置文件搜索方式来查找针对客户机的配置文件. 假设 客户端服务器的网卡的MAC地址为 88:99:AA:BB:CC:DD ,对应的IP地址为192.168.1.195,那么客户端的pxelinux.0 程序 搜索顺序如下:首先以MAC地址为文件名匹配的配置文件,如果不存在,继续查找.其次以IP地址来查找.根据IP地址16进制命名的配置文件查找,从小范围到打大分为查找(子网掩码由小到大),如果不存在,继续查找.最后尝试default文件总体来说,pxelinux.0 搜索的文件的顺序是(可以通过tcpdum得到结果):
代码如下:
4. 总结(Summary)
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 详解Linux系统下PXE服务器的部署过程
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html