基于IPXE的网络部署文档(完整资料)(可以直接使用,可编辑 优秀版资料,欢迎下载)基于iPXE的网络启动系统部署方案2016年11月30日目 录第一章 前言— 2 -1iPXE介绍- 2 -2.网络启动流程- 2 -3.Tiny PXE Server介绍- 2 -4.PE介绍- 2 —第二章 部署前准备- 3 -5服务器准备— 3 -6.网络准备— 3 -7.软件准备- 3 -8.客户机准备- 3 -第三章 配置流程- 4 -9.配置pxesrv— 5 -10.配置Netboot目录- 6 -11.配置menu.txt- 7 —12实现的效果图- 9 -13.配置文件夹— 10 -14.配置PE的目录- 11 -第四章 使用流程- 12 —15.客户端网络引导至菜单:— 12 —16.选择PXE引导— 12 —17执行PE中的选项— 13 —18.进入PE中加载网络— 14 -19.挂载PXE服务器上的共享— 15 -20.系统安装— 18 —第五章 Linux的安装- 22 —21.Linux的安装原理— 22 -22.安装文件配置流程- 22 —23.执行安装- 23 —24.完成安装- 25 -第一章 前言1. iPXE介绍PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此进行网络启动和安装iPXE是PXE的一个开源实现,通过iPXE能让网卡直接支持网络启动,而不依赖于网卡自带的PXE固件。
同时相比PXE,iPXE支持更多的协议.传统的PXE只能通过TFTP进行传输,而iPXE支持HTTP,iSCSI和ATA over Ethernet(AoE),因此传输速率大大提升2. 网络启动流程大体流程:客户机从DHCP(获取IP,寻找iPXE服务器)>tftp获取开机启动文件>HTTP/TFTP/FTP(加载安装文件)〉本地安装3. Tiny PXE Server介绍Tiny PXE Server是一款小巧但又功能非常强大的网络启动服务器软件,它支持DHCP/TFTP/HTTP/BINL/DNS等多个协议,并且能够直接加载自定义的外置脚本菜单,因此搭配IPXE启动是非常方便的4. PE介绍Windows预先安装环境(Microsoft Windows Preinstall Environment,简称Windows PE或WinPE)是简化版的Windows XP、Windows Server 2003、Windows Vista、Windows 7或Windows 8WinPE作用是方便企业进行工作站和服务器的企划,Windows PE可理解为Windows的LiveCD第二章 部署前准备5. 服务器准备安装Windows2008R2服务器,配置网络,并关闭防火墙6. 网络准备确保路由器/防火墙的DHCP功能正常,确保服务器、客户端在同一网段7. 软件准备l Tiny PXE Server v。
1.0.0.17 l Win7安装ISO //安装原版系统l 封装好的WIM文件 //安装自定义的优化系统l EditPlus 或 Notepad++ //用于编写启动目录l 带网络功能的PE系统ISO 8. 客户机准备 提前在客户端设置好第一启动为PXE,并保证安装前硬盘无重要资料第三章 配置流程Tiny PXE Server主程序目录如下:可以看到分为netboot目录和两个文件其中pxesrv.exe为程序可执行文件,config.ini为其配置文件9. 配置pxesrv说明:ProxyDhcp:网络内有DHCP服务器或DHCP路由,请勾选,它会进行DHCP中继取消勾选,则会广播DHCP信号,Option 54项会生效Boot file为PXE启动的bootfile,它会调用下面的menu.txt菜单,供开机引导时选择也可以替换为目录下的undionly.kpxe文件,区别如下:· pxe is an image designed to be chain loaded, unloading both the underlying PXE and UNDI code sections· .kpxe is a PXE image that keeps UNDI loaded and unloads PXE· .kkpxe is a PXE image that keeps PXE+UNDI loaded and return to PXE (instead of int 18h).10. 配置Netboot目录Netboot目录存放有ipxe的引导文件和PE文件ISO说明:Boot目录存放有以kernel方式远程引导的操作系统启动文件,通常安装windows需要winboot、bootmgr、bio、boot、boot.wim。
安装linux则需要放置pxelinux0、pxelinux.cfgEFI目录存放有以UEFI的PXE引导方式存放的相关文件UI和字体,UEFI本身引导依托与Netboot目录下的bootx64.efiISO目录存放自定义的WINPE系统Bootx64.efi是用来以UEFI进行PXE引导的bootstrap文件Ipxepxe和undionlykpxe在设置主程序时提到的引导文件,也是此次部署的核心文件Menutxt是配置菜单,通过对其进行编辑,可以实现多系统引导选择Memdisk是提取于syslinux的一个程序,其目的是可以将ISO装载于内存中,从而方进行配置部署工作11. 配置menutxt文件代码如下: 说明:l #之后的文字为注释,仅供说明,不执行l Set menu-timeout定义了菜单的默认显示时间,单位毫秒,10000即10秒l Isset {ip} || dhcp含义为检测客户端IP是否从DHCP获取l http://${next—server} 含义为使用http协议定位到PXE服务器上next-serverl :start 开始批处理执行下列指令l Menu 显示l Item 项目,每一项都可以执行l :shell、:reboot、:winPE为Item下的分别选项,选择哪像则批处理会跳转到冒号后,执行该项下面的命令l sanboot -—no-describe --drive 0x80 执行硬盘的0x80扇区,意为退出PXE环境,从本机的C盘分区或linux的boot区引导l initrd http://${next—server}/ISO/PE。
iso 此为ipxe内核中的Linux指令initrd,该指令可以加载内核模块供启动l chain http://${next-server}/memdisk iso raw 此命令可以配合initrd、memdisk将iso镜像文件加载到系统内存供启动12. 实现的效果图13. 配置文件夹Initrd指令固然强大,但是其问题在于,如果ISO的容量大于了我们内存的可用容量,就无法加载了,这也是无法直接将安装ISO指向其的原因.因此,需要用WinPE环境进行挂载安装配置远程SMB共享是具体实现的一个方法,我们需要回到在PXE服务器,建立目录,将Windows的安装文件(installwim)或我们自定义的封装文件wim放置,并共享,就可以了14. 配置PE的目录在PXESERVER\netboot\ISO这个目录下,放置我们所需要的PE文件需要注意的是,PE文件名,需要与启动菜单中的批处理命令如果initrd http://${next—server}/ISO/PEiso需要将PE的名称修改为PEISO第四章 使用流程15. 客户端网络引导至菜单:默认选项为从C盘引导,安装系统则需要选择第二项,进入PXE PE16. 选择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. 安装文件配置流程我们以CentOS 63安装镜像为例,只需要将安装光盘文件提取后复制到netboot目录下的二级目录,这里建议按照系统名称+版本的命名方式建立目录,如:\netboot\centos\6注意,这里一定要使用UltraISO或类似的虚拟光驱提取,不可用解压缩软件直接打开ISO,否则会出现安装时提示找不到安装源文件的问题其原因是ISO有很多目录结构格式,解压缩软件与虚拟光驱打开这些目录结构时的原理不同,会导致一部分文件信息丢失,文件虽然还在,但是后缀名不一致。
之后,我们需要修改menu.txt的菜单,在其中加入相关的引导信息,一共有两项,第一项为启动后显示菜单处,如图:另一处为item CentOS的批处理而批处理处的文件位置与之前的安装文件解压的位置要一致23. 执行安装添加了相关信息后,就可以正式进行Linux的安装了。