您可以使用 Web 伺服器對 ESXi 安裝程式進行 PXE 開機。因為大部分環境均包含支援 UEFI 開機的 ESXi 主機和僅支援舊版 BIOS 的主機,本主題將討論這兩類主機的必要條件和步驟。
- 針對舊版 BIOS 機器,該程序透過針對所有目標機器使用相同的 pxelinux.0 或 gpxelinux.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 識別碼規格。
確認您的環境也滿足下列使用 Web 伺服器進行 PXE 開機所需的必要條件:
程序
- 設定 DHCP 伺服器以進行 HTTP 開機。
- (僅限 UEFI) 取得並設定 iPXE:
- 取得 iPXE 原始程式碼,如 http://ipxe.org/download 中所述。
- 依照該頁面上的指示,但使用下列 make 命令:
make bin-x86_64-efi/snponly.efi
- 將產生的檔案 snponly.efi 複製到您 TFTP 伺服器上的 /tftpboot 目錄。
- (僅限 UEFI) 將檔案 efi/boot/bootx64.efi 從 ESXi 安裝程式 ISO 映像複製到您 TFTP 伺服器上的 /tftpboot/mboot.efi。
備註: 較新版本的
mboot.efi 通常可將較舊版本的
ESXi 開機,但較舊版本的
mboot.efi 可能無法將較新版本的
ESXi 開機。如果您計劃設定不同的主機將不同版本的
ESXi 安裝程式開機,請使用最新版本的
mboot.efi。
- (僅限舊版 BIOS) 取得並設定 PXELINUX:
- 取得 SYSLINUX 3.86 版,將其解除封裝,然後將 gpxelinux.0 檔案複製到您 TFTP 伺服器上的頂層 /tftpboot 目錄。
- 使用下列程式碼模型建立 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
- 以可判定是否所有主機都能依預設將此安裝程式開機的檔案名稱,將 PXELINUX 檔案儲存在您 TFTP 伺服器上的 /tftpboot/pxelinux.cfg 目錄中:
選項 |
說明 |
相同的安裝程式 |
如果您希望所有主機都能依預設將此 ESXi 安裝程式開機,請將檔案命名為 default。 |
不同的安裝程式 |
如果您希望使用此檔案僅可將某特定主機開機,請使用目標主機電腦 (01-mac_address_of_target_ESXi_host) 的 MAC 位址為檔案命名,例如,01-23-45-67-89-0a-bc。 |
- 在您的 HTTP 伺服器上建立目錄,以其將保留的 ESXi 的版本命名,例如,/var/www/html/ESXi-6.x.x-XXXXXX。
- 將 ESXi 安裝程式映像的內容複製到您剛建立的目錄中。
- 修改 boot.cfg 檔案
- 新增下列行:
prefix=http://XXX.XXX.XXX.XXX/ESXi-6.x.x-XXXXXX
其中,
http://XXX.XXX.XXX.XXX/ESXi-6.x.x-XXXXXX
為 HTTP 伺服器上安裝程式檔案的位置。
- 如果
kernel=
和 modules=
行中的檔案名稱以正斜線 (/) 字元開頭,請刪除該字元。
- (選擇性) 對於指令碼式安裝,請在 boot.cfg 檔案中核心命令的下一行新增
kernelopt
選項,來指定安裝指令碼的位置。
使用下列程式碼做為模型,其中
XXX.XXX.XXX.XXX 為安裝指令碼所在伺服器的 IP 位址,
esxi_ksFiles 為包含
ks.cfg 檔案的目錄。
kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
- (僅限 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。
|