您可以使用 TFTP 伺服器對 ESXi 安裝程式進行 PXE 開機。依據您是使用 UEFI 還是從舊版 BIOS 開機,該程序會略微不同。因為大部分環境均包含支援 UEFI 開機的 ESXi 主機和僅支援舊版 BIOS 的主機,本主題將討論這兩類主機的必要條件和步驟。

執行這項作業的原因和時機

  • 針對舊版 BIOS 機器,該程序透過針對所有目標機器使用相同的 pxelinux.0gpxelinux.0 初始開機載入器,支援將多個不同版本的 ESXi 安裝程式開機,但取決於目標主機的 MAC 位址,可能存在不同的 PXELINUX 組態檔。

  • 針對 UEFI 機器,該程序透過針對所有目標機器使用相同的 mboot.efi 初始開機載入器,支援將多個不同版本的 ESXi 安裝程式開機,但取決於目標主機的 MAC 位址,可能存在不同的 boot.cfg 檔案。

先決條件

確認您的環境滿足下列必要條件。

  • 從 VMware 網站下載的 ESXi 安裝程式 ISO 映像。

  • 目標主機具有您的 ESXi 版本支援的硬體組態。請參閱《VMware 相容性指南》

  • 目標 ESXi 主機上支援 PXE 的網路介面卡。

  • 已針對 PXE 開機設定的 DHCP 伺服器。請參閱範例 DHCP 組態

  • TFTP 伺服器。

  • 允許 TFTP 流量的網路安全性原則 (UDP 連接埠 69)。

  • 針對舊版 BIOS,您僅可使用 IPv4 網路功能。針對 UEFI PXE 開機,您可以使用 IPv4 或 IPv6 網路功能。

  • (選擇性) 安裝指令碼 (kickstart 檔案)。

  • 在大多數情況下使用原生 VLAN。如果您要指定用於 PXE 開機的 VLAN 識別碼,請檢查您的 NIC 是否支援 VLAN 識別碼規格。

針對舊版 BIOS 系統,SYSLINUX 套件的 3.86 版可從 https://www.kernel.org/pub/linux/utils/boot/syslinux/ 取得。

程序

  1. 設定 DHCP 伺服器以進行 TFTP 開機。
  2. (僅限舊版 BIOS) 取得並設定 PXELINUX:
    1. 取得 SYSLINUX 3.86 版,將其解除封裝,然後將 pxelinux.0 檔案複製到您 TFTP 伺服器上的頂層 /tftpboot 目錄。
    2. 使用下列程式碼模型建立 PXELINUX 組態檔。

      ESXi-6.x.x-XXXXXX 為包含 ESXi 安裝程式檔案的 TFTP 子目錄名稱。

      DEFAULT install
      NOHALT 1
      LABEL install
        KERNEL ESXi-6.x.x-XXXXXX/mboot.c32 					
        APPEND -c ESXi-6.x.x-XXXXXX/boot.cfg
        IPAPPEND 2
      
    3. 以可判定是否所有主機都能依預設將此安裝程式開機的檔案名稱,將 PXELINUX 檔案儲存在您 TFTP 伺服器上的 /tftpboot/pxelinux.cfg 目錄中:

      選項

      說明

      相同的安裝程式

      如果您希望所有主機都能依預設將此 ESXi 安裝程式開機,請將檔案命名為 default

      不同的安裝程式

      如果您希望使用此檔案僅可將某特定主機開機,請使用目標主機電腦 (01-mac_address_of_target_ESXi_host) 的 MAC 位址為檔案命名,例如,01-23-45-67-89-0a-bc

  3. (僅限 UEFI) 將檔案 efi/boot/bootx64.efiESXi 安裝程式 ISO 映像複製到您 TFTP 伺服器上的 /tftpboot/mboot.efi
    備註︰

    較新版本的 mboot.efi 通常可將較舊版本的 ESXi 開機,但較舊版本的 mboot.efi 可能無法將較新版本的 ESXi 開機。如果您計劃設定不同的主機將不同版本的 ESXi 安裝程式開機,請使用最新版本的 mboot.efi

  4. 建立您 TFTP 伺服器之頂層 /tftpboot 目錄的子目錄,並以其保留的 ESXi 版本命名,例如,/tftpboot/ESXi-6.x.x-xxxxx
  5. ESXi 安裝程式映像的內容複製到您剛建立的目錄中。
  6. 修改 boot.cfg 檔案
    1. 新增下列行:
      prefix=ESXi-6.x.x-xxxxxx

      此處,ESXi-6.x.x-xxxxxx 是與 TFTP 伺服器的根目錄相關之安裝程式檔案的路徑名稱。

    2. 如果 kernel=modules= 行中的檔案名稱以正斜線 (/) 字元開頭,請刪除該字元。
  7. (選擇性) ︰ 對於指令碼式安裝,請在 boot.cfg 檔案中核心命令的下一行新增 kernelopt 選項,來指定安裝指令碼的位置。

    使用下列程式碼做為模型,其中 XXX.XXX.XXX.XXX 為安裝指令碼所在伺服器的 IP 位址,esxi_ksFiles 為包含 ks.cfg 檔案的目錄。

    kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
  8. (僅限 UEFI) 指定您是否希望所有 UEFI 主機將相同的安裝程式開機。

    選項

    說明

    相同的安裝程式

    boot.cfg 檔案複製或連結至 /tftpboot/boot.cfg

    不同的安裝程式

    1. 建立 /tftpboot 的子目錄,以目標主機電腦 (01-mac_address_of_target_ESXi_host) 的 MAC 位址命名,例如,01-23-45-67-89-0a-bc

    2. 在該目錄中放置主機的 boot.cfg 檔案的複本 (或連結),例如,/tftpboot/01-23-45-67-89-0a-bc/boot.cfg