基于IPXE的网络部署文档.docx
《基于IPXE的网络部署文档.docx》由会员分享,可在线阅读,更多相关《基于IPXE的网络部署文档.docx(20页珍藏版)》请在冰豆网上搜索。
基于IPXE的网络部署文档
基于iPXE的
网络启动系统部署方案
2022年4月28日
第一章前言
1.iPXE介绍
PXE(prebootexecuteenvironment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此进行网络启动和安装
iPXE是PXE的一个开源实现,通过iPXE能让网卡直接支持网络启动,而不依赖于网卡自带的PXE固件。
同时相比PXE,iPXE支持更多的协议。
传统的PXE只能通过TFTP进行传输,而iPXE支持HTTP,iSCSI和ATAoverEthernet(AoE),因此传输速率大大提升
2.网络启动流程
大体流程:
客户机从DHCP(获取IP,寻找iPXE服务器)>tftp获取开机启动文件>HTTP/TFTP/FTP(加载安装文件)>本地安装
3.TinyPXEServer介绍
TinyPXEServer是一款小巧但又功能非常强大的网络启动服务器软件,它支持DHCP/TFTP/HTTP/BINL/DNS等多个协议,并且能够直接加载自定义的外置脚本菜单,因此搭配IPXE启动是非常方便的
4.PE介绍
Windows预先安装环境(MicrosoftWindowsPreinstallEnvironment,简称WindowsPE或WinPE)是简化版的WindowsXP、WindowsServer2003、WindowsVista、Windows7或Windows8。
WinPE作用是方便企业进行工作站和服务器的企划,WindowsPE可理解为Windows的LiveCD。
第二章部署前准备
5.服务器准备
安装Windows2008R2服务器,配置网络,并关闭防火墙
6.网络准备
确保路由器/防火墙的DHCP功能正常,确保服务器、客户端在同一网段
7.软件准备
●TinyPXEServerv.1.0.0.17
●Win7安装ISO//安装原版系统
●封装好的WIM文件//安装自定义的优化系统
●EditPlus或Notepad++//用于编写启动目录
●带网络功能的PE系统ISO
8.客户机准备
提前在客户端设置好第一启动为PXE,并保证安装前硬盘无重要资料
第三章配置流程
TinyPXEServer主程序目录如下:
可以看到分为netboot目录和两个文件
其中pxesrv.exe为程序可执行文件,config.ini为其配置文件
9.配置pxesrv
说明:
ProxyDhcp:
网络内有DHCP服务器或DHCP路由,请勾选,它会进行DHCP中继。
取消勾选,则会广播DHCP信号,Option54项会生效
Bootfile为PXE启动的bootfile,它会调用下面的menu.txt菜单,供开机引导时选择。
也可以替换为目录下的undionly.kpxe文件,区别如下:
∙.pxeisanimagedesignedtobe chainloaded,unloadingboththeunderlyingPXEandUNDIcodesections
∙.kpxeisaPXEimagethatkeepsUNDIloadedandunloadsPXE
∙.kkpxeisaPXEimagethatkeepsPXE+UNDIloadedandreturntoPXE(insteadofint18h).
10.配置Netboot目录
Netboot目录存放有ipxe的引导文件和PE文件ISO
说明:
Boot目录存放有以kernel方式远程引导的操作系统启动文件,通常安装windows需要winboot、bootmgr、bio、boot、boot.wim。
安装linux则需要放置pxelinux.0、pxelinux.cfg
EFI目录存放有以UEFI的PXE引导方式存放的相关文件UI和字体,UEFI本身引导依托与Netboot目录下的bootx64.efi
ISO目录存放自定义的WINPE系统
Bootx64.efi是用来以UEFI进行PXE引导的bootstrap文件
Ipxe.pxe和undionly.kpxe在设置主程序时提到的引导文件,也是此次部署的核心文件
Menu.txt是配置菜单,通过对其进行编辑,可以实现多系统引导选择
Memdisk是提取于syslinux的一个程序,其目的是可以将ISO装载于内存中,从而方进行配置部署工作。
11.配置menu.txt
文件代码如下:
说明:
●#之后的文字为注释,仅供说明,不执行
●Setmenu-timeout定义了菜单的默认显示时间,单位毫秒,10000即10秒
●Isset{ip}||dhcp含义为检测客户端IP是否从DHCP获取
●http:
//${next-server}含义为使用http协议定位到PXE服务器上next-server
●:
start开始批处理执行下列指令
●Menu显示
●Item项目,每一项都可以执行
●:
shell、:
reboot、:
winPE为Item下的分别选项,选择哪像则批处理会跳转到冒号后,执行该项下面的命令
●sanboot--no-describe--drive0x80执行硬盘的0x80扇区,意为退出PXE环境,从本机的C盘分区或linux的boot区引导
●initrdhttp:
//${next-server}/ISO/PE.iso此为ipxe内核中的Linux指令initrd,该指令可以加载内核模块供启动
●chainhttp:
//${next-server}/memdiskisoraw此命令可以配合initrd、memdisk将iso镜像文件加载到系统内存供启动
12.实现的效果图
13.配置文件夹
Initrd指令固然强大,但是其问题在于,如果ISO的容量大于了我们内存的可用容量,就无法加载了,这也是无法直接将安装ISO指向其的原因。
因此,需要用WinPE环境进行挂载安装。
配置远程SMB共享是具体实现的一个方法,我们需要回到在PXE服务器,建立目录,将Windows的安装文件(install.wim)或我们自定义的封装文件wim放置,并共享,就可以了
14.配置PE的目录
在PXESERVER\netboot\ISO这个目录下,放置我们所需要的PE文件
需要注意的是,PE文件名,需要与启动菜单中的批处理命令
如果initrdhttp:
//${next-server}/ISO/PE.iso
需要将PE的名称修改为PE.ISO
第四章使用流程
15.客户端网络引导至菜单:
默认选项为从C盘引导,安装系统则需要选择第二项,进入PXEPE
16.选择PXE引导
17.执行PE中的选项
根据工作需要,选择不同的选项
安装系统则进入WIN8PE或2003PE(较老的机型)
检测硬件则可以运行硬盘坏道或内存测试
分区则可以运行Disk精灵
根据自定义PE的版本不同,这个界面也会有所不同
18.进入PE中加载网络
进入PE后,加载网络是实现网络挂载的前提
19.挂载PXE服务器上的共享
开启网络后,桌面出现网络相关的程序图标
点击后,配置挂载的目录
挂载成功后,会有相关提示
可以看到之前挂载的文件了
20.系统安装
系统安装下的SGI工具是一个小巧的备份还原工具,支持WIM和GHO文件的备份还原。
此外,对于ISO安装文件,可以通过挂载虚拟光驱的方式安装
映像文件选择挂载的目录下的wim
分区选择硬盘上的C盘,如果是新机器,注意先提前分区并激活启动分区
之后点击执行,如果是多合一系统会提示选择所安装的系统种类
会提示格式化磁盘,需在格式化前保证无重要资料
格式化后,就进入了恢复过程,此过程速度取决于电脑运行速度和网络带宽
百兆网络,虚拟机中安装原版的时间在半小时
完成后,重启机器,此时可以关闭PXE引导,安装程序会进入最后的设置
完成
第五章Linux的安装
21.Linux的安装原理
传统的PXE安装Linux通常需要部署tftp服务器,之后通过分发pxelinux.0来使客户端进行网络启动,再通过tftp协议进行安装,而tftp速度很慢,无法有效利用网络。
而ipxe改进了相关机制,它的源码中已经直接支持http协议,可以在通过tftp启动后调用http进行安装,用户只需要解压Linux相关文件到指定目录并修改启动菜单相关项,即可完成安装。
由于引导机制不同,Linux不能通过进入WinPE安装
22.安装文件配置流程
我们以CentOS6.3安装镜像为例,只需要将安装光盘文件提取后复制到netboot目录下的二级目录,这里建议按照系统名称+版本的命名方式建立目录,如:
\netboot\centos\6
注意,这里一定要使用UltraISO或类似的虚拟光驱提取,不可用解压缩软件直接打开ISO,否则会出现安装时提示找不到安装源文件的问题
其原因是ISO有很多目录结构格式,解压缩软件与虚拟光驱打开这些目录结构时的原理不同,会导致一部分文件信息丢失,文件虽然还在,但是后缀名不一致。
之后,我们需要修改menu.txt的菜单,在其中加入相关的引导信息,一共有两项,第一项为启动后显示菜单处,如图:
另一处为itemCentOS的批处理
而批处理处的文件位置与之前的安装文件解压的位置要一致
23.执行安装
添加了相关信息后,就可以正式进行Linux的安装了。
启动与引导后,会发现修改的MENU.TXT可以正确显示Centos了,这里选择它:
接下来就与我们使用光盘介质安装的流程基本一致了
选择语言
选择存储,这里也要在安装前确保无重要数据
Linux在安装时会格式化系统所在分区
选择区域
安装Package软件包
24.完成安装