在windows下使用gpxelinux进行ESXi 5.x的PXE自动化安装。网上许多的教程都是使用Linux作为PXE服务器,对于不怎么熟悉Linux的孩纸这着实是件头疼的事情,like me。所以我通过收集资料,尝试出一个在windows下就可以搭建PXE服务器并用其批量安装ESXi 5.x。
首先自我总结下服务器使用PXE启动的过程。1、ESXi服务器以PXE方式启动后,首先从DHCP服务器拿到IP地址、网关、DNS服务器、TFTP服务器地址、指定的pxelinux.0或者gpxelinux.0文件位置。2、向DHCP提供的TFTP服务器地址发起请求下载pxelinux.0或者gpxelinux.0文件和PXE配置文件。3、根据配置文件找到相应的安装源后载入内存开始安装。
接下来是实际操作几个步骤:
Step 1:准备工作。Windows7电脑一台,需要的软件FileZilla_Server、Tftpd32(文章最后提供下载链接)。syslinux-3.86软件包(https://www.kernel.org/pub/linux/utils/boot/syslinux/3.xx/)中的gpxelinux.0文件。
Step 2:使用Tftpd32配置TFTP和DHCP服务器我的电脑IP为10.132.253.246。我在本地电脑的F盘新建一个名为“PXE”的文件夹,并将其作为TFTP根目录,复制syslinux-3.86软件包中的gpxelinux.0文件和ESXi镜像中的MENU.C32文件到根目录。最终配置如图1。DHCP服务器配置地址池以及附加选项(网关、DNS、TFTP服务器(一定不能漏)),最终配置如图2。
图1-TFTP服务器配置
图2-DHCP服务器配置
Step 3:使用FileZilla_Server搭建FTP服务器,具体教程网上百度。最终也是将根目录设置为F盘的“PXE”文件夹。在该文件夹下新建名为“ESXi”的文件夹,将ESXi安装镜像文件解压到该文件夹。
Step 4:配置文件准备。在根目录下新建名为“pxelinux.cfg”的文件夹,并将ESXi镜像文件中的“ISOLINUX.CFG”文件复制到该文件夹,并将文件重命名为“default”作为PXE配置文件,将文件内容更改为如图3。修改ESXi目录下的“BOOT.CFG”文件内容成如图4,将原始文件中的“/”全部替换为“ftp://10.132.253.246/esxi/”,并设置kernelopt参数指定自动化配置脚本位置。
图3-PXE配置文件内容
图4-BOOT.CFG文件
Step 5:在根目录新建“ks.cfg”文件夹,并将自动化配置脚本“ks.cfg”文件存入其中。该脚本在文章最后提供下载,用户根据需求更改即可使用。
Step 6:开启ESXi,稍作休息,安装完成。
关于 PXE 配置文件
PXE 配置文件用于定义在目标 ESXi 主机引导并与 TFTP 服务器联系时将对其显示的菜单。您需要 PXE 配置文件才能实现以 PXE 方式引导 ESXi 安装程序。
TFTP 服务器经常对网络上的 PXE 客户端进行侦听。当 TFTP 服务器检测到有 PXE 客户端请求 PXE 服务时,它会向该客户端发送一个包含引导菜单的网络数据包。
在 PXE 配置文件中,必须包括以下文件的路径:mboot.c32 是引导加载程序和boot.cfg 是引导加载程序配置文件。
PXE 配置文件的文件名
对于 PXE 配置文件的文件名,请选择以下选项之一:
(1)01-mac_address_of_target_ESXi_host。例如,01-23-45-67-89-0a-bc。
(2)以十六进制表示的目标 ESXi 主机 IP 地址。
(3)default
初始引导文件(pxelinux.0 或 gpxelinux.0)尝试加载一个 PXE 配置文件。它会尝试加载目标 ESXi 主机的 MAC 地址,此地址以其 ARP 类型代码为前缀(如果是以太网,则为 01)。如果尝试失败,则会尝试加载以十六进制表示的目标 ESXi 系统 IP 地址。最后,它会尝试加载名为 default 的文件。
所需软件下载链接:http://pan.baidu.com/s/1ntFq2KT。如有疑问欢迎交流。