【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

JUNIOR_MU發表於2024-07-25

VMware Cloud Foundation 管理域部署要求至少準備 4 臺 ESXi 主機作為最小計算單元,如果採用整合部署(管理域和 VI 工作負載域合併),還需要根據實際情況適量增加 ESXi 計算主機。但是,對於測試學習來說,我們不需要準備這麼多物理主機,可以採用巢狀虛擬化部署的方式來完成實驗目的。

雖然巢狀虛擬機器的確可以很容易的部署我們所需要的環境,但是要部署一套完整的 VMware Cloud Foundation 解決方案,對巢狀虛擬機器所在的物理宿主機的配置和效能要求可不低,這在一定程度上增加了學習和使用的門檻。所以,要是當前沒有條件的小夥伴,不妨可以先試試 VMware Hands-on Labs 體驗一下官方的模擬環境。

一、準備巢狀 ESXi 主機環境

1)物理 ESXi 主機資訊

本次準備用於部署 VCF 巢狀實驗環境的物理宿主機的配置資訊如下圖所示。其實,部署 VCF 環境主要對記憶體的大小要求比較高,部署完整的管理域相關元件下來差不多就要佔用 200 GB左右記憶體,而對 CPU 和儲存的需求可以根據實際情況適當進行分配。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

2)物理 ESXi 主機網路配置資訊

VCF 部署要求不同的網路流量型別使用不同的 VLAN 進行隔離,這對於有物理交換機的環境來說可以很方便的進行配置,但是如果沒有這種環境,那可以參考下面這種方法在 ESXi 主機上建立一個沒有連線網路卡的標準交換機,然後在這個標準交換機上面再建立埠組來模擬實現相同的效果。

如下圖所示,在物理宿主機上面建立了一個標準交換機 vSwitch2,並且沒有連線任務物理介面卡。在 vSwitch2 下面建立了兩個主要的埠組 vcf-mgmt-vmotion 和 vcf-nsx-vsan,之前文章(VMware Cloud Foundation Part 03:準備 Excel 參數列。)中瞭解了 VCF 將按照 Excel 參數列中所選擇的 Profile 配置檔案,並根據 Profile 配置檔案對 ESXi 主機所用於 VCF 網路流量的網路卡進行分配,比如 Profile-2 配置檔案將 ESXi 主機的 vmnic0 和 vmnic1 網路卡用作管理網路和 vMotion 網路,將 vmnic2 和 vmnic3 網路卡用於 NSX Overlay 網路和 vSAN 網路,而這裡所建立的兩個埠組的可以達到分離的目的;另外四個埠組分別用於這幾種網路型別的虛擬閘道器。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

關於這個 vSwitch2 標準交換機的設定,請在“安全”配置下將混雜模式、MAC 地址更改以及偽傳輸的功能調整為“接受”。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

網路埠組 vcf-mgmt-vmotion 用於 VCF 管理網路和 vMotion 網路的流量傳輸,當然除了分配給巢狀 ESXi 主機以外,用於部署 VCF 管理域的 Cloud Builder(vcf-builder) 也連線到這個網路,還有提供 VCF 管理相關元件外部服務的 DNS 和 NTP 伺服器(同一虛擬機器 vcf-dns)也連線了該埠組,最後還有一個跳板機(vcf-win11)也連線到了該埠組,由於無法從外部訪問到該交換機上面的網路,所以需要一個同屬於該網路上面的跳板機去訪問 Cloud Builder 工具並部署 VCF 管理域以及後續的管理。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

關於這個 vcf-mgmt-vmotion 埠組的設定,請一定要將 VLAN ID 配置為“全部(4095)”,並在“安全”配置下將混雜模式、MAC 地址更改以及偽傳輸的功能調整為“接受”。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

網路埠組 vcf-mgmt-vmotion 用於 VCF 的 NSX Overlay 網路和 vSAN 網路,主要分配給巢狀 ESXi 主機使用。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

關於這個 vcf-nsx-vsan 埠組的設定,請一定要將 VLAN ID 配置為“全部(4095)”,並在“安全”配置下將混雜模式、MAC 地址更改以及偽傳輸的功能調整為“接受”。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

其他 VMkernel 埠組是用於 VCF 幾種網路型別的虛擬閘道器,這是可選項,沒有閘道器只會提示警告並不會影響 VCF 管理域的部署。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

關於這幾個 VMkernel 埠組的設定,請根據不同網路型別的設定配置不同 VLAN ID ,並在“安全”配置下將混雜模式、MAC 地址更改以及偽傳輸的功能調整為“接受”。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

3)虛擬機器彙總資訊

建立了一個 vcf 虛擬機器資料夾,在這個資料夾下面建立了 mgmt workload domain 和 vi workload domain 資料夾分別用於放置不同工作負載域的巢狀 ESXi 主機,如下圖所示。在 vcf 資料夾下面有用於部署 VCF 管理域的 Cloud Builder 虛擬機器(vcf-builder)、DNS 和 NTP 伺服器(vcf-dns)以及跳板機(vcf-win11)。在 mgmt workload domain 資料夾下面建立了用於部署 VCF 管理域的巢狀 ESXi 虛擬機器(vcf-mgmt01-esxi01~vcf-mgmt01-esxi04),vi workload domain 資料夾後續可能會用於放置部署 VI 管理域的巢狀 ESXi 虛擬機器。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

4)巢狀 ESXi 虛擬機器配置資訊

關於建立用於部署 VCF 管理域的巢狀 ESXi 虛擬機器(vcf-mgmt01-esxi01~vcf-mgmt01-esxi04)的配置資訊,如下圖所示。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

每個巢狀 ESXi 虛擬機器分配了 16 CPU,並開啟了硬體虛擬化。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

每個巢狀 ESXi 虛擬機器分配了 96 GB 記憶體,VCF 對 ESXi 主機記憶體的需求比較大,如果配置較低一點的記憶體應該也能部署成功,不過如果後面要部署 VI 工作負載域並在上面執行 VI 工作負載域管理相關虛擬機器,建議分配高一點。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

每個巢狀 ESXi 虛擬機器分配了一塊 60 GB 的硬碟用於安裝 ESXi 系統,型別是厚置備延遲置零,並配置單獨了 NVMe 控制器。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

每個巢狀 ESXi 虛擬機器分配了兩塊 500 GB 的硬碟用於 vSAN ESA 儲存,型別是精簡置備,並配置單獨了 NVMe 控制器。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

每個巢狀 ESXi 虛擬機器分配了兩個 NVMe 控制器分別用於 ESXi 系統和 vSAN 儲存,建議將兩種型別的儲存分開。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

每個巢狀 ESXi 虛擬機器分配了四張網路卡,前面兩張網路卡用於管理網路和 vMotion 網路,後面兩張網路卡用於 NSX 網路和 vSAN 網路。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

二、規劃巢狀 ESXi 主機地址

規劃巢狀 ESXi 主機的管理網路,DNS 和 NTP 伺服器為同一個,請一定提前在 DNS 伺服器上配置好巢狀 ESXi 主機的正反向域名解析。

主機名 IP 地址 子網掩碼 閘道器 DNS/NTP 伺服器
vcf-mgmt01-esxi01.mulab.local 192.168.32.61 255.255.255.0 192.168.32.254 192.168.32.3
vcf-mgmt01-esxi02.mulab.local 192.168.32.62 255.255.255.0 192.168.32.254 192.168.32.3
vcf-mgmt01-esxi03.mulab.local 192.168.32.63 255.255.255.0 192.168.32.254 192.168.32.3
vcf-mgmt01-esxi04.mulab.local 192.168.32.64 255.255.255.0 192.168.32.254 192.168.32.3

三、配置巢狀 ESXi 主機資訊

關於巢狀 ESXi 主機系統的安裝過程,直接就跳過了,有需要可以查閱官方文件,所以從 ESXi 主機的配置開始,下面將以一臺主機的配置為例,請根據這些步驟執行相同的操作,這裡就不再贅述。

1)配置 ESXi 地址

安裝完 ESXi 系統後,透過 DCUI 配置 ESXi 主機的地址資訊。按 F2 輸入安裝過程設定的 Root 密碼進入配置介面。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

選擇“Configure Management Network”選項,配置管理網路。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

網路卡和 VLAN 預設即可,選擇“IPv4 Configuration”選項配置 ESXi 主機管理地址。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

選擇靜態 IPv4 地址並輸入之前規劃好的 ESXi 主機 IP 地址、子網掩碼和閘道器。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

選擇“DNS Configuration”選項配置 ESXi 主機的 DNS 伺服器和主機名。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

選擇“Custom DNS Suffixes”選項配置 ESXi 主機的 DNS 字尾。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

按 ESC 退出並選擇 YES 儲存配置。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

2)配置 NTP 服務

透過 ESXi 主機的管理地址訪問並登入到 ESXi Host Client 管理介面。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

導航到主機->管理->系統->時間和日期,點選“編輯 NTP 設定”,輸入 NTP 伺服器的地址並選擇隨主機啟動和停止。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

導航到主機->管理->服務,找到 ntpd 服務,點選“啟動”服務。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

3)配置 SSL 證書

ESXi 主機安裝完系統後,導航到主機->管理->安全和使用者->證書,可以看到主機 SSL 證書預設是以 localhost.localdomain 域名進行簽發的,需要將 SSL 證書重新生成我們配置的主機名。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

導航到主機->管理->服務,找到 SSH 服務,點選“啟動”服務。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

透過 SSH 以 Root 使用者登入到 ESXi 主機的命令列,使用以下命令重新生成新的 SSL 證書。

/sbin/generate-certificates
/etc/init.d/hostd restart && /etc/init.d/vpxa restart

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

如果你不想一個一個 SSH 登入到 ESXi 主機,也可以執行下面的 Powershell 指令碼(管理員身份)來重新生成新的 SSL 證書。

# Install the Posh-SSH module if not already installed
Install-Module -Name Posh-SSH -Force

# Define the ESXi host details
$esxiHost = "192.168.32.62"
$username = "root"
$password = "Vcf5@password"

# Convert the password to a secure string
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force

# Create the credential object
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)

# Establish the SSH session
$session = New-SSHSession -ComputerName $esxiHost -Credential $credential

# Run the command to regenerate certificates
Invoke-SSHCommand -SessionId $session.SessionId -Command '/sbin/generate-certificates'

# Restart the hostd service
Invoke-SSHCommand -SessionId $session.SessionId -Command '/etc/init.d/hostd restart && /etc/init.d/vpxa restart'

# Close the SSH session
Remove-SSHSession -SessionId $session.SessionId

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

執行上述步驟後,重新登入到 ESXi ,導航到主機->管理->安全和使用者->證書,可以看到主機 SSL 證書已經變成主機名。

【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。

相關文章