可以使用 TFTP 服务器以 PXE 方式引导 ESXi 安装程序。具体过程将根据您是使用 UEFI 还是从旧版 BIOS 进行引导而稍有不同。
- 对于旧版 BIOS 计算机,该过程支持引导多个不同版本的 ESXi 安装程序,方法是对所有目标计算机使用同一 pxelinux.0 初始引导加载程序,但 PXELINUX 配置文件可能不同,具体视目标计算机的 MAC 地址而定。
- 对于 UEFI 计算机,该过程支持引导多个不同版本的 ESXi 安装程序,方法是对所有目标计算机使用同一 mboot.efi 初始引导加载程序,但 boot.cfg 文件可能不同,具体视目标计算机的 MAC 地址而定。
前提条件
因为大多数环境都包括支持 UEFI 引导的
ESXi 主机和仅支持旧版 BIOS 的主机,所以本主题讨论这两种主机类型的必备条件和步骤。
确认您的环境满足以下必备条件。
- 从 VMware 网站下载的 ESXi 安装程序 ISO 映像。
- 硬件配置受 ESXi 版本支持的目标主机。请参见《VMware 兼容性指南》。
- 目标 ESXi 主机上支持 PXE 的网络适配器。
- 可以配置以进行 PXE 引导的 DHCP 服务器。请参见示例 DHCP 配置。
- TFTP 服务器。
- 允许 TFTP 流量的网络安全策略(UDP 端口 69)。
- 对于旧版 BIOS,您只能使用 IPv4 网络连接。对于 UEFI PXE 引导,可以使用 IPv4 或 IPv6 网络连接。
- (可选)安装脚本(kickstart 文件)。
- 多数情况下使用本地 VLAN。如果要指定用于 PXE 引导的 VLAN ID,请检查您的网卡是否支持 VLAN ID 规范。
对于旧版 BIOS 系统,请获取 3.86 版本的 SYSLINUX 软件包。有关详细信息,请参见
网络引导背景信息。
过程
- 如果 ESXi 主机仅运行旧版 BIOS 固件,请获取并配置 PXELINUX。
- 获取 SYSLINUX 版本 3.86 并进行解压,然后将 pxelinux.0 文件复制到 TFTP 服务器的顶级 /tftpboot 目录。
- 使用以下代码模型创建 PXELINUX 配置文件。
ESXi-8.x.x-XXXXXX 是包含
ESXi 安装程序文件的 TFTP 子目录的名称。
DEFAULT install
NOHALT 1
LABEL install
KERNEL ESXi-8.x.x-XXXXXX/mboot.c32
APPEND -c ESXi-8.x.x-XXXXXX/boot.cfg
IPAPPEND 2
- 将 PXELINUX 文件保存在 TFTP 服务器的 /tftpboot/pxelinux.cfg 目录中,所用文件名将确定所有主机是否都默认引导此安装程序:
选项 |
描述 |
同一安装程序 |
如果希望所有主机都默认引导此 ESXi 安装程序,请将文件命名为 default。 |
不同安装程序 |
如果只希望特定主机使用此文件进行引导,请使用目标主机的 MAC 地址 (01-mac_address_of_target_ESXi_host) 来命名此文件,例如 01-23-45-67-89-0a-bc。 |
- 如果 ESXi 主机运行 UEFI 固件,请将 efi/boot/bootx64.efi 和 efi/boot/crypto64.efi 文件从 ESXi 安装程序 ISO 映像复制到 TFTP 服务器的 /tftpboot 文件夹中。
- 将 efi/boot/bootx64.efi 文件重命名为 mboot.efi。
注: 新版本的
mboot.efi 通常可以引导旧版本的
ESXi,但旧版本的
mboot.efi 可能无法引导新版本的
ESXi。如果您计划配置不同的主机以引导不同版本的
ESXi 安装程序,请使用最新版本中的
mboot.efi。
- 配置 DHCP 服务器。
- 创建 TFTP 服务器顶级 /tftpboot 目录的子目录,并以其将保存的 ESXi 版本命名,例如 /tftpboot/ESXi-8.x.x-xxxxx。
- 将 ESXi 安装程序映像的内容复制到新创建的目录。
- 修改 boot.cfg 文件
- 添加以下行:
prefix=ESXi-8.x.x-xxxxxx
其中,
ESXi-8.x.x-xxxxxx
是安装程序文件相对于 TFTP 服务器 root 目录的路径名称。
- 如果
kernel=
和 modules=
行中的文件名以正斜杠 (/) 字符开头,请删除该字符。
- 如果 kernelopt= 行包含字符串 cdromBoot,请只移除该字符串。
- (可选) 对于脚本式安装,在 boot.cfg 文件中内核命令后的一行添加
kernelopt
选项以指定安装脚本的位置。
将以下代码用作模型,其中
XXX.XXX.XXX.XXX 是安装脚本所在的服务器的 IP 地址,
esxi_ksFiles 是包含
ks.cfg 文件的目录。
kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
- 如果您的 ESXi 主机运行 UEFI 固件,请指定是否希望所有 UEFI 主机引导同一安装程序。
选项 |
描述 |
同一安装程序 |
将 boot.cfg 文件复制或链接到 /tftpboot/boot.cfg |
不同安装程序 |
- 创建 /tftpboot 的子目录,并以目标主机的 MAC 地址 (01-mac_address_of_target_ESXi_host) 命名,例如 01-23-45-67-89-0a-bc。
- 将主机 boot.cfg 文件的副本(或链接)置于此目录中,例如 /tftpboot/01-23-45-67-89-0a-bc/boot.cfg。
|