如果您的主機使用舊版 BIOS 或 UEFI,則可以使用開機前執行環境 (PXE) 從網路裝置將 ESXi 主機開機。

或者,如果您的 ESXi 主機支援原生 UEFI HTTP,則可以使用超文字傳輸通訊協定 (HTTP) 從網路裝置將主機開機。ESXi 是以 ISO 格式散佈,用於安裝到快閃記憶體或本機硬碟。您可以解壓縮檔案並透過網路介面將其開機。

PXE 使用動態主機組態通訊協定 (DHCP) 和簡單式檔案傳輸通訊協定 (TFTP) 來透過網路將作業系統開機。

進行 PXE 開機需要一些網路基礎結構和配有支援 PXE 之網路介面卡的電腦。大多數能夠執行 ESXi 的機器都具有能夠執行 PXE 開機的網路介面卡。

原生 UEFI HTTP 使用 DHCP 和 HTTP 透過網路進行開機。UEFI HTTP 開機需要網路基礎結構、ESXi 主機上包含 HTTP 開機功能的 UEFI 韌體版本,以及支援 UEFI 網路的網路介面卡。

開機時使用 HTTP 比 TFTP 更快更可靠。這是由於 TCP 通訊協定 (該通訊協定是 HTTP 的基礎) 的功能所致,例如內建串流和遺失封包復原。如果您的 ESXi 主機不支援原生 UEFI HTTP,則可以使用 iPXE HTTP 執行開機程序。

備註: 僅在透過 IPv4 時,才可使用舊版 BIOS 韌體進行網路開機。透過 IPv4 或 IPv6,可以使用 UEFI BIOS 韌體進行網路開機。

網路開機安裝程序概觀

您可以從網路介面將 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 將 mboot.c32 外掛程式建置成使用 SYSLINUX 3.86 版本,而且也僅對該版本測試 PXE 開機。其他版本可能不相容。 VMware vSphere Hypervisor 的開放原始碼公開套件包含 SYSLINUX 3.86 版本的錯誤修正。

iPXE

iPXE 是提供 HTTP 實作的開放原始碼軟體。您可以使用此軟體執行初始開機。如需詳細資訊,請參閱 https://ipxe.org/

VMware 將 iPXE 組建版本作為 Auto Deploy 的一部分包含在內。此組建版本的來源樹狀結構在 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 組態檔 (會根據 MAC 位址或其他準則選取下一個開機載入器) 使用 iPXE 做為初始開機載入器的方法。

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。