您可以使用 iPXE 從 HTTP 伺服器將 ESXi 安裝程式開機。下列主題討論了以下兩類主機的必要條件和步驟:支援 UEFI 開機的 ESXi 主機和僅支援舊版 BIOS 的主機。
- 對於舊版 BIOS 機器,該程序透過針對所有目標機器使用相同的 pxelinux.0 初始開機載入器,支援將多個不同版本的 ESXi 安裝程式開機,但 PXELINUX 組態檔可能會有所不同,具體取決於目標主機的 MAC 位址。
- 針對 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 識別碼規格。
確認您的環境也滿足下列使用 HTTP 伺服器進行 PXE 開機所需的必要條件:
- 確認 HTTP 伺服器可透過您的目標 ESXi 主機進行存取。
- 如果您的 ESXi 主機僅執行舊版 BIOS 韌體,請取得 SYSLINUX 套件 3.86 版。如需詳細資訊,請參閱 網路開機背景資訊。
程序
- 取得並設定 iPXE。
- 取得 iPXE 原始程式碼。
- 在 iPXE 下載頁面上,依照組建指示進行操作,但執行下列其中一個命令。
- 對於僅執行舊版 BIOS 韌體的 ESXi 主機,執行 make bin/undionly.kpxe。
- 對於執行 UEFI 韌體的 ESXi 主機,執行 make bin-x86_64-efi/snponly.efi。
- 將 undionly.kpxe 或 snponly.efi 檔案複製到 TFTP 伺服器上的 /tftpboot 目錄。
- 如果您的 ESXi 主機僅執行舊版 BIOS 韌體,請取得並設定 PXELINUX。
- 取得 SYSLINUX 3.86 版,將其解除封裝,然後將 pxelinux.0 檔案複製到 TFTP 伺服器上的 /tftpboot 目錄。
- 使用下列程式碼模型建立 PXELINUX 組態檔。
ESXi-7.x.x-XXXXXX 為包含
ESXi 安裝程式檔案的 TFTP 子目錄名稱。
DEFAULT install
NOHALT 1
LABEL install
KERNEL ESXi-7.x.x-XXXXXX/mboot.c32
APPEND -c ESXi-7.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 檔案從 ESXi 安裝程式 ISO 映像複製到 TFTP 伺服器上的 /tftpboot 資料夾,然後將該檔案重新命名為 mboot.efi。
備註: 較新版本的
mboot.efi 通常可將較舊版本的
ESXi 開機,但較舊版本的
mboot.efi 可能無法將較新版本的
ESXi 開機。如果您計劃設定不同的主機將不同版本的
ESXi 安裝程式開機,請使用最新版本的
mboot.efi。
- 設定 DHCP 伺服器。
- 在 HTTP 伺服器上建立目錄,其名稱與它將保留的 ESXi 版本相同。例如,/var/www/html/ESXi-7.x.x-XXXXXX。
- 將 ESXi 安裝程式映像的內容複製到新建立的目錄中。
- 修改 boot.cfg 檔案
- 新增下列行:
prefix=http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX
其中,
http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX
為 HTTP 伺服器上安裝程式檔案的位置。
- 如果
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 的子目錄,以目標主機電腦 (01-mac_address_of_target_ESXi_host) 的 MAC 位址命名,例如,01-23-45-67-89-0a-bc。
- 在該目錄中放置主機的 boot.cfg 檔案的複本 (或連結),例如,/tftpboot/01-23-45-67-89-0a-bc/boot.cfg。
|