如果您的主机使用旧版 BIOS 或 UEFI,则可以使用预引导执行环境 (PXE) 从网络设备引导 ESXi 主机。

或者,如果 ESXi 主机支持本机 UEFI HTTP,则可以使用超文本传输协议 (HTTP) 从网络设备引导主机。ESXi 以 ISO 格式进行分发,用于安装到闪存或本地硬盘上。可以提取文件并通过网络接口进行引导。

PXE 使用动态主机配置协议 (DHCP) 和简单文件传输协议 (TFTP) 通过网络引导操作系统。

以 PXE 方式引导需要一些网络基础设施以及一台具有支持 PXE 的网络适配器的计算机。大多数可运行 ESXi 的计算机拥有可以 PXE 方式引导的网络适配器。

本机 UEFI HTTP 使用 DHCP 和 HTTP 通过网络引导。UEFI HTTP 引导要求具有网络基础架构、包含 HTTP 引导功能的 ESXi 主机上的 UEFI 固件版本以及支持 UEFI 网络连接的网络适配器。

使用 HTTP 引导比使用 TFTP 更快、更可靠。这得益于 HTTP 底层 TCP 协议的功能,例如,内置流式传输和丢失的数据包恢复。如果 ESXi 主机不支持本机 UEFI HTTP,则可以在引导过程中使用 iPXE HTTP。

注: 使用旧版 BIOS 固件进行网络引导只能通过 IPv4 实现。使用 UEFI BIOS 固件进行网络引导可以通过 IPv4 或 IPv6 实现。

网络引导安装过程概述

可以从网络接口引导 ESXi 主机。网络引导过程随以下因素而异:目标主机是使用旧版 BIOS 还是 UEFI 固件,以及引导过程是使用 PXE TFTP、iPXE HTTP 还是 UEFI HTTP。

引导目标主机时,该主机会与环境中的不同服务器交互,以获得网络适配器、引导加载程序、内核、内核的 IP 地址,最后获得安装脚本。所有组件就位后,安装即会开始,如下图所示。

图 1. PXE 引导安装过程概览
ESXi 主机、DHCP 服务器、TFTP 服务器、Web 服务器和脚本库之间的交互流。

ESXi 主机与其他服务器之间的交互按如下所示进行:

  1. 用户引导目标 ESXi 主机。
  2. 目标 ESXi 主机生成 DHCP 请求。
  3. DHCP 服务器做出如下响应:提供 IP 信息、TFTP 或 HTTP 服务器的位置以及初始网络引导加载程序的文件名或 URL。
  4. ESXi 主机连接 TFTP 或 HTTP 服务器,并请求 DHCP 服务器指定的文件名或 URL。
  5. TFTP 或 HTTP 服务器发送网络引导加载程序,然后 ESXi 主机运行该程序。初始引导加载程序可能会从服务器加载更多引导加载程序组件。
  6. 引导加载程序在 TFTP 或 HTTP 服务器上搜索配置文件,下载配置文件中指定的内核和其他 ESXi 组件,并在 ESXi 主机上引导内核。
  7. 安装程序以交互方式或者使用 kickstart 脚本运行,如配置文件中所指定。

网络引导背景信息

了解网络引导过程可在故障排除过程中为您提供帮助。

TFTP 服务器

简单文件传输协议 (TFTP) 与 FTP 服务类似,通常仅用于网络引导系统或在网络设备(如路由器)上加载固件。TFTP 在 Linux 和 Windows 上都可用。
  • 大多数 Linux 发行版都包含 tftp-hpa 服务器的副本。如果您需要受支持的解决方案,请从选择的供应商处购买受支持的 TFTP 服务器。您也可以从 VMware Marketplace 中随附提供的一个设备中获取 TFTP 服务器。
  • 如果您的 TFTP 服务器在 Microsoft Windows 主机上运行,请使用 tftpd32 版本 2.11 或更高版本。请参见http://tftpd32.jounin.net/

SYSLINUX 和 PXELINUX

如果在旧版 BIOS 环境中使用 PXE,则必须了解不同的引导环境。
  • SYSLINUX 是一个开源引导环境,适用于运行旧版 BIOS 固件的计算机。用于 BIOS 系统的 ESXi 引导加载程序 mboot.c32 作为 SYSLINUX 插件运行。可以将 SYSLINUX 配置为从多种类型的介质(包括磁盘、ISO 映像和网络)引导。可以从以下网址找到 SYSLINUX 软件包:http://www.kernel.org/pub/linux/utils/boot/syslinux/
  • PXELINUX 是一种 SYSXLINUX 配置,用于根据 PXE 标准从 TFTP 服务器引导。如果使用 PXELINUX 引导 ESXi 安装程序,则 pxelinux.0 二进制文件、mboot.c32、配置文件、内核以及其他文件将通过 TFTP 传输。
注: VMware 构建了用于 SYSLINUX 版本 3.86 的 mboot.c32 插件,并且仅对该版本测试了 PXE 引导。其他版本可能不兼容。 Open Source Disclosure Package for VMware vSphere Hypervisor 包括 SYSLINUX 版本 3.86 的错误修复。

iPXE

iPXE 是提供 HTTP 实现的开源软件。可以使用该软件执行初始引导。有关详细信息,请参见https://ipxe.org/

VMware 将 iPXE 内部版本作为 Auto Deploy 的一部分包括在内。Open Source Disclosure Package for VMware vCenter Server 提供此内部版本的源树。

UEFI PXE 和 UEFI HTTP

大多数 UEFI 固件本身包含 PXE 支持,允许从 TFTP 服务器引导。固件可直接加载用于 UEFI 系统的 ESXi 引导加载程序 mboot.efi,而不需要 PXELINUX 等其他软件。

某些 UEFI 固件支持本机 UEFI HTTP 引导。UEFI 规范版本 2.5 中引入了该功能。固件可以从 HTTP 服务器加载 ESXi 引导加载程序,而无需其他软件,如 iPXE。

注: Apple Macintosh 产品不支持 PXE 引导,但支持通过 Apple 特定协议从网络引导。

网络引导的替代方法

除了网络引导外,还可以使用其他方法在不同主机上引导不同软件,例如:
  • 将 DHCP 服务器配置为根据 MAC 地址或其他标准为不同主机提供不同的初始引导加载程序文件名。请参见相应 DCHP 服务器文档。
  • 这些方法使用 iPXE 作为初始引导加载程序,并通过 iPXE 配置文件根据 MAC 地址或其他标准选择下一个引导加载程序。

PXELINUX 配置文件

需要有 PXELINUX 配置文件才能在传统 BIOS 系统上引导 ESXi 安装程序。该配置文件定义了目标 ESXi 主机启动时向其显示的菜单。

本节提供有关 PXELINUX 配置文件的常规信息。

有关语法详细信息,请参见 SYSLINUX 网站,网址为 http://www.syslinux.org/

需要的文件

在 PXE 配置文件中,必须包括以下文件的路径:

  • mboot.c32 是引导加载程序。
  • boot.cfg 是引导加载程序配置文件。

请参见关于 boot.cfg 文件

PXE 配置文件的文件名

对于 PXE 配置文件的文件名,请选择以下选项之一:

  • 01-mac_address_of_target_ESXi_host。例如,01-23-45-67-89-0a-bc
  • 以十六进制表示的目标 ESXi 主机 IP 地址。
  • default
初始引导文件 pxelinux.0 尝试按以下顺序加载 PXE 配置文件:
  1. 它会尝试加载目标 ESXi 主机的 MAC 地址,此地址以其 ARP 类型代码为前缀(如果是以太网,则为 01)。
  2. 如果尝试失败,则会尝试加载以十六进制表示的目标 ESXi 系统 IP 地址。
  3. 最后,它会尝试加载名为 default 的文件。

PXE 配置文件的文件位置

将文件保存在 TFTP 服务器上的 /tftpboot/pxelinux.cfg/ 中。

例如,您可能会将文件保存在 TFTP 服务器的 /tftpboot/pxelinux.cfg/01-00-21-5a-ce-40-f6 下。目标 ESXi 主机的网络适配器 MAC 地址为 00-21-5a-ce-40-f6。