vSphere 叢集服務 (vCLS) 預設處於啟用狀態並且在所有 vSphere 叢集中執行。vCLS 可確保在 vCenter Server 變得無法使用時,叢集服務仍可用於維持在叢集中執行之工作負載的資源和健全狀況。設定和執行 DRS 與 HA 仍需要 vCenter Server

在 vSphere 8.0 U3 中,引入了內嵌式 vCLS,新增了特性和功能。最初,vCLS 元件是執行 Photon OS 的完整虛擬機器。對於 vSphere 8.0 U3,vCLS 現在依據 vSphere 網繭技術,有時也稱為 PodCRX。在本文件中,PodCRX 稱為 vCLS 虛擬機器。vCLS 的 API 介面未變更,但這些 vCLS 元件的部署和管理已變更。這就需要進行名稱變更。繼平台服務控制器從外部變更為內嵌式的先例之後,對於 vSphere 8.0 U3 之前的版本,vCLS 現在稱為外部 vCLS。從 vSphere 8.0 U3 及更新版本開始,vCLS 現在稱為內嵌式 vCLS。

vCLS 會在 vCenter Server 升級過程中進行升級。對於內嵌式 vCLS,vCLS 升級與叢集中 ESXi 主機的升級相關聯。一旦 VC 為 8.0 U3 且位於具有一或多個 8.0 U3 ESXi 主機的叢集中,將啟用內嵌式 vCLS。8.0 U3 VC 可以根據叢集組合執行外部 vCLS 和內嵌式 vCLS。

vCenter 在執行 ESX 8.0 U3 或更新版本的受支援主機的叢集上部署內嵌式 vCLS。對於使用早期版本的主機叢集,vCenter 將部署外部 vCLS。vCenter 詳細目錄允許多個版本的 ESX 共存,在輪流 ESX 升級期間會發生這種情況。對於混合版本的叢集,只要叢集中的任何可用主機支援內嵌式 vCLS,vCenter 就會使用內嵌式 vCLS。這將建立一個點,當主機在升級到受支援的版本後結束維護模式時,將叢集從外部 vCLS 升級到內嵌式 vCLS。vCenter 會等待第一個內嵌式 vCLS 虛擬機器變為可用,然後停用外部 vCLS 並銷毀這些虛擬機器,從而無縫執行該升級。此外,如果所有受支援的主機都變得不可用,並且只剩下不受支援的主機,則 vCenter 可以還原為外部 vCLS。但是,由於此步驟是基於主機變得不可用,因此可能會導致內嵌式 vCLS 卸除和外部 vCLS 部署之間出現一段時間的 DRS 不可用情況。

vCLS 會使用代理程式虛擬機器來維持叢集服務健全狀況。將主機新增至叢集時,會建立 vCLS 代理程式虛擬機器 (vCLS 虛擬機器)。在外部 vCLS 中,在叢集內散佈的每個 vSphere 叢集中最多需要執行三個 vCLS 虛擬機器。此外,在僅包含一或兩台主機的叢集上也會啟用外部 vCLS。在這些叢集中,vCLS 虛擬機器的數目分別為一個和兩個。在內嵌式 vCLS 中,每個 vSphere 叢集中最多需要執行兩個 vCLS 虛擬機器。

將自動套用新的反相似性規則。在外部 vCLS 中,如果多個 vCLS 虛擬機器位於單一主機上,則每三分鐘會執行一次檢查,這些虛擬機器會自動重新散佈到不同的主機。在內嵌式 vCLS 中,每分鐘執行一次檢查。

即使叢集上未啟用 vSphere DRS 或 vSphere HA 等叢集服務,也會在每個叢集中執行 vCLS 虛擬機器。vCLS 虛擬機器的生命週期作業由 ESX Agent Manager 和工作負載控制平面等 vCenter Server 服務進行管理。vCLS 虛擬機器不支援 NIC。

如果 ESXi 版本與 vCenter Server 相容,則啟用了 vCLS 的叢集可以包含不同版本的 ESXi 主機。vCLS 可與 vSphere Lifecycle Manager 叢集搭配使用。

內嵌式 vCLS

在 vSphere 8.0 U3 中引入了具有新功能與改進的內嵌式 vCLS。

外部 vCLS 與內嵌式 vCLS 之間的差異

在外部 vCLS 中,仲裁一詞表示 DRS 正常執行所需的已開啟電源的 vCLS 虛擬機器的最小數目,即 1。在內嵌式 vCLS 中,我們使用最小 vCLS 虛擬機器計數一詞,其用途和值 1 保持不變。為了提高 DRS 的可用性,這兩種類型的 vCLS 都為虛擬機器提供了冗餘。如果具有一個 vCLS 虛擬機器的主機出現故障,則其他 vCLS 虛擬機器可用於保留 DRS 的功能。叢集中部署的 vCLS 虛擬機器總數 (假設有足夠的可用主機和資源來部署冗餘 vCLS 虛擬機器) 稱為所需冗餘計數。對於外部 vCLS,所需冗餘計數為 3。對於內嵌式 vCLS,此計數減少到 2。

什麼是 vCLS 虛擬機器?

vSphere 8.0 Update 3 中引入的 vCLS 虛擬機器以 vSphere 網繭技術為基礎。vCLS 服務做為 ESXi 主機上的虛擬機器部署在主機或叢集上。但是,這是一個特殊的虛擬機器,其作業系統非常小,並且使用容器執行階段,這使得 vCLS 虛擬機器可以在 vSphere 上執行。新的 vCLS 虛擬機器可提供安全且高效能的執行階段。

vCLS 虛擬機器關閉電源

可以關閉內嵌式 vCLS 虛擬機器的電源。當此類虛擬機器的電源關閉時,vSphere 會將此狀況解譯為故障,並繼續重新啟動虛擬機器並向 hostd 重新登錄 vCLS 虛擬機器。

當 vCLS 虛擬機器的電源關閉時,它會等待 vSphere 重新啟動該虛擬機器。如果 vSphere 逾時後未重新啟動該虛擬機器,則 vCLS 虛擬機器重新設定會起始。

每當系統撤除內嵌式 vCLS 虛擬機器,例如因為主機進入維護模式,該虛擬機器將被銷毀並在其他主機上被取代,而不是使用 vMotion。

備註: 此行為與外部 vCLS 行為不同,即 vCLS 偵測到虛擬機器關閉電源並立即繼續開啟該虛擬機器的電源。

vCLS 虛擬機器

內嵌式 vCLS 中的 vCLS 虛擬機器的可見性和存取權與外部 vCLS 相同。

  • vCLS 虛擬機器在 VC 中可見。
  • 在 VC 詳細目錄階層中,vCLS 虛擬機器位於名為 vCLS 的專用虛擬機器資料夾中。
  • vCLS 虛擬機器上的某些作業不可用。
  • vCLS 虛擬機器的查詢要求可用。
  • 內嵌式 vCLS 虛擬機器的命名與外部 vCLS 虛擬機器相同:vCLS-{UUID},其中 UUID 是 ESX 主機的 UUID (summary.hardware.uuid)。

虛擬機器 ExtraConfig

為了識別 vCLS 虛擬機器,內嵌式 vCLS 會繼續使用虛擬機器 ExtraConfig 中的特定選項。

識別內嵌式 vCLS 虛擬機器的額外組態選項為 vCLSCRX.agent,值為 true

備註: 此額外組態選項是在設定外部 vCLS 虛擬機器額外組態選項 HDCS.agent 之外,另外設定的一項組態選項。內嵌式和外部 vCLS 虛擬機器非常相似,都可以使用 HDCS.agent 的存在偵測出它們以排除在大多數作業之外,但不同之處是,某些作業仍然需要使用 vCLSCRX.agent 的存在來區分它們。

內嵌式 vCLS 將管理這些虛擬機器的延伸變更為內部/系統 vpxd 延伸。

  • 在內嵌式 vCLS 虛擬機器的虛擬機器組態中,內容 managedBy 被設定為該 VC 延伸的識別鍵。具有此內容有助於識別內嵌式 vCLS 虛擬機器並區分它們與外部 vCLS 虛擬機器,因為此內容顯示在 vSphere 中。
  • 內容 config.managedBy.extensionKey 已設定為 VirtualCenter
  • 內容 config.managedBy.type 已設定為 vcls-entity

中斷連線的 vCLS 虛擬機器

vCLS 虛擬機器在 VC 中可能會中斷連線。下面的各種情形都會發生此問題。

  • 具有執行 vCLS 虛擬機器的 ESX 主機
  • 透過停止主機上的 vpxa 來模擬連線問題;連線狀態轉換為 notResponding
  • 停止主機上的 vCLS 虛擬機器。
  • 在主機上重新啟動 vpxa;連線狀態轉換為 connected

執行上述步驟後,vCLS 虛擬機器位於 VC 詳細目錄中,但不在 ESX 主機上。因此,此虛擬機器被標記為 orphaned。HdcsManager 負責偵測和刪除已中斷連線的 vCLS 虛擬機器。在外部 vCLS 中,vCLS 會偵測並刪除已中斷連線的 vCLS 虛擬機器。

叢集虛擬內容 vclsVmType

vSphere 提供了叢集是執行由外部 vCLS 管理的 vCLS 虛擬機器還是由 vSphere 管理的內嵌式 vCLS 虛擬機器的相關資訊。此內容的值對於內嵌式 vCLS 虛擬機器叢集是 Embedded,對於外部 vCLS 虛擬機器叢集是 external

清理 vCLS 虛擬機器

如果執行 vCLS 虛擬機器的叢集 ESX 主機與 VC 中斷連線並從 VC 詳細目錄中移除,則 vCLS 虛擬機器將繼續在該 ESX 主機上執行。換言之,未受管理的 ESX 主機可能會執行 vCLS 虛擬機器。

將執行 vCLS 虛擬機器的非受管 ESX 主機新增為獨立主機時,vpxd 偵測到意外存在的 vCLS 虛擬機器並停止它。

將執行 vCLS 虛擬機器的非受管 ESX 主機新增到 VC 叢集時,vCLS 在將主機新增到叢集之前不會停止 vCLS 虛擬機器。新增主機將觸發 vCLS 重新設定工作流程。該工作流程會停止無關的 vCLS 虛擬機器。

停用 vCLS

備註: 在外部 vCLS 中,停用 vCLS (全域或按叢集) 的功能稱為 撤回模式

外部 vCLS 實作了此功能,允許按叢集停用 vCLS 虛擬機器部署。從某種意義上說,此功能是在意外情況下停用外部 vCLS 功能的停止開關。此功能在多個範例場景下都很有用:

  • 叢集已停用 DRS 和 HA。在這種情況下,vCLS 虛擬機器沒有任何用處,並且您不希望 VC 詳細目錄中存在系統虛擬機器。
  • 叢集已停用 DRS,並且已啟用 HA。在這種情況下,雖然 vCLS 虛擬機器確實有助於最佳化虛擬機器的容錯移轉,但您可能不希望出於微小的好處而將系統虛擬機器存在於 VC 詳細目錄中。
  • 叢集已啟用 DRS。在這種情況下,您可能希望暫時停用外部 vCLS 部署,以解決一些暫時性組態或暫時性執行階段問題。例如,您可能希望停用外部 vCLS 直到 VSAN 資料存放區可用,以確保 vCLS 虛擬機器部署在該 VSAN 資料存放區上。

內嵌式 vCLS 保留了為叢集啟用或停用 vCLS 的相同功能。

vSphere DRS 和 vCLS 虛擬機器

vSphere DRS 是 vSphere 的一項重要功能,需要此功能才能維持 vSphere 叢集內執行之工作負載的健全狀況。DRS 取決於 vCLS 虛擬機器的可用性。

備註: 如果您嘗試在 vCLS 虛擬機器出現問題的叢集上啟用 DRS,則 叢集摘要頁面上會顯示警告訊息。
備註: 如果 DRS 已開啟,但 vCLS 虛擬機器存在問題,您必須解決這些問題才能讓 DRS 運作。 叢集摘要頁面上會顯示警告訊息。

如果 DRS 無法正常運作,這並不表示 DRS 已停用。當 vCLS 虛擬機器不在執行中並因此略過了第一個 DRS 執行個體時,vCLS 健全狀況僅在已啟用 DRS 的叢集中變得狀況不良。如果至少有一個 vCLS 虛擬機器不在執行中,vCLS 健全狀況將在已啟用非 DRS 的叢集上保持已降級狀態。vCenter 具有避免意外進入降級狀態的措施。例如,叢集維護模式建議不包括一次將所有支援 vCLS 的主機置於維護模式的選項。

外部 vCLS 的資料存放區選取

將根據連線至叢集內主機的所有資料存放區排名自動選取 vCLS 虛擬機器的資料存放區。

如果叢集中的主機將免費保留的 DRS 插槽連線到了某個資料存放區,則更有可能選取該資料存放區。如有可能,演算法會嘗試將 vCLS 虛擬機器置於共用資料存放區中,然後再選取本機資料存放區。將優先使用具有更多可用空間的資料存放區,並且演算法不會嘗試將多個 vCLS 虛擬機器置於同一資料存放區上。只有在 vCLS 虛擬機器進行部署並開啟電源後,才能變更其資料存放區。

如果您想要將 vCLS 虛擬機器的 VMDK 移至其他資料存放區或連結其他儲存區原則,則可以重新設定 vCLS 虛擬機器。執行此作業時,將會顯示一則警告訊息。

您可以執行 Storage vMotion,將 vCLS 虛擬機器移轉到其他資料存放區。如果要將 vCLS 虛擬機器與工作負載虛擬機器分開分組,例如,如果您對資料中心內執行的所有虛擬機器有一個特定的中繼資料策略,則可以標記 vCLS 虛擬機器或連結自訂屬性。

備註: 將資料存放區置於維護模式時,如果資料存放區主控 vCLS 虛擬機器,則必須手動對 vCLS 虛擬機器套用 Storage vMotion 以將其移轉到新位置,或將叢集置於撤回模式。隨即顯示一則警告訊息。
「進入維護模式」工作將會啟動但無法完成,因為有 1 個虛擬機器位於資料存放區上。如果決定繼續,一律可以在 [最近的工作] 中取消此工作。
選取的資料存放區可能儲存了無法關閉電源的 vSphere 叢集服務虛擬機器。為確保 vSphere 叢集服務的健全狀況,必須手動對這些虛擬機器執行 vMotion 以移轉到叢集內的其他資料存放區,然後再將此資料存放區關閉以進行維護。請參閱此知識庫文章:知識庫 79892。
選取核取方塊 讓我移轉所有虛擬機器的儲存區,並在移轉後繼續進入維護模式。以繼續進行。
備註: 內嵌式 vCLS 不使用資料存放區且忽略放置設定。

外部 vCLS 資料存放區放置

可以覆寫預設 vCLS 虛擬機器資料存放區放置。

vSphere 叢集服務 (vCLS) 虛擬機器資料存放區位置是按預設資料存放區選取邏輯選擇的。若要覆寫叢集的預設 vCLS 虛擬機器資料存放區放置,您可以透過瀏覽到叢集並按一下設定 > vSphere 叢集服務 > 資料存放區下的新增,指定一組允許的資料存放區。無法為 vCLS 選取某些資料存放區,因為無法設定 vCLS 的 SRM 或 vSAN 維護模式等解決方案會阻止這些資料存放區。使用者無法為 vCLS 虛擬機器新增或移除解決方案封鎖的資料存放區。

監控 vSphere 叢集服務

您可以監控 vCLS 虛擬機器所耗用的資源及其健全狀況狀態。

vCLS 虛擬機器不會顯示在主機和叢集索引標籤中的詳細目錄樹狀結構中。將資料中心內所有叢集中的 vCLS 虛擬機器放置在名為 vCLS 的單獨虛擬機器和範本資料夾內。僅在 vSphere Client虛擬機器和範本索引標籤中顯示此資料夾和 vCLS 虛擬機器。這些虛擬機器透過與一般工作負載虛擬機器不同的圖示進行識別。您可以在 vCLS 虛擬機器的摘要索引標籤中,檢視 vCLS 虛擬機器用途的相關資訊。

您可以在監控索引標籤中監控 vCLS 虛擬機器所耗用的資源。

您可以在叢集摘要索引標籤中顯示的叢集服務 Portlet 中監控 vCLS 的健全狀況狀態。

表 1. vCLS 健全狀況狀態
狀態 色彩編碼 摘要
狀況良好 綠色 如果至少有一個 vCLS 虛擬機器正在執行中,無論叢集中的主機數目為何,仍保持狀況良好的狀態。
已降級 黃色 如果沒有一個 vCLS 虛擬機器的執行時間少於 3 分鐘 (180 秒),則狀態會降級。
狀況不良 紅色 如果沒有一個 vCLS 虛擬機器的執行時間為 3 分鐘或更長時間,則在已啟用 DRS 的叢集中狀態為 [狀況不良]。

維持 vSphere 叢集服務的健全狀況

vCLS 虛擬機器一律會開啟電源,因為 vSphere DRS 取決於這些虛擬機器的可用性。這些虛擬機器應視為系統虛擬機器。只有管理員才能對 vCLS 虛擬機器執行選擇性作業。若要避免叢集服務發生故障,請避免在 vCLS 虛擬機器上執行任何設定或作業。

vCLS 虛擬機器受到保護,以防被意外刪除。叢集虛擬機器和資料夾受到保護,以防被使用者 (包括管理員) 修改。

只有屬於管理員 SSO 群組的使用者可以執行下列作業:

  • 對 vCLS 虛擬機器進行唯讀存取
  • 為 vCLS 虛擬機器使用標籤和自訂屬性

可能會中斷 vCLS 虛擬機器正常運作的作業:

  • 變更 vCLS 虛擬機器的電源狀態
  • 重新設定 vCLS 虛擬機器的資源,例如變更 CPU、記憶體、磁碟大小、磁碟放置
  • 虛擬機器加密
  • 對 vCLS 虛擬機器觸發 vMotion
  • 變更 BIOS
  • 從詳細目錄中移除 vCLS 虛擬機器
  • 從磁碟中刪除 vCLS 虛擬機器
  • 對 vCLS 虛擬機器啟用 FT
  • 複製 vCLS 虛擬機器
  • 設定 PMem
  • 將 vCLS 虛擬機器移至其他資料夾
  • 重新命名 vCLS 虛擬機器
  • 重新命名 vCLS 資料夾
  • 在 vCLS 虛擬機器上啟用 DRS 規則和覆寫
  • 在 vCLS 虛擬機器上啟用 HA 許可控制原則
  • 在 vCLS 虛擬機器上啟用 HA 覆寫
  • 將 vCLS 虛擬機器移至資源集區
  • 從快照復原 vCLS 虛擬機器

在 vCLS 虛擬機器上執行任何破壞性作業時,會出現警告對話方塊。

疑難排解:

vCLS 虛擬機器的健全狀況 (包括電源狀態) 由 VMware ESX Agent Manager 和工作負載控制平面服務管理。如果 vCLS 虛擬機器開啟電源失敗,或者因缺少 vCLS 虛擬機器仲裁而略過叢集的第一個 DRS 執行個體,則 [叢集摘要] 頁面中會顯示一個橫幅以及知識庫文章的連結,以協助您對錯誤狀態進行疑難排解。

由於 vCLS 虛擬機器被視為系統虛擬機器,因此,不需要備份這些虛擬機器或為其建立快照。這些虛擬機器的健全狀況狀態由 vCenter Server 服務管理。

將叢集置於撤回模式

將資料存放區置於維護模式時,如果資料存放區主控 vCLS 虛擬機器,則必須手動對 vCLS 虛擬機器執行 Storage vMotion 以移轉到新位置,或將叢集置於撤回模式。

此工作說明如何將叢集置於撤回模式。

程序

  1. 登入 vSphere Client。
  2. 導覽至必須停用 vCLS 的叢集。
  3. 導覽至 vCenter Server 設定索引標籤。
  4. 組態下,選取一般
  5. 選取預設的系統管理選項或撤回模式 (這會停用 vCLS)。
  6. 按一下確定

結果

如果叢集已啟用 DRS,則它會停止運作,並且在 叢集摘要中顯示其他警告。即使 DRS 已啟用,仍無法正常運作,直到從撤回模式中移除 vCLS 以將其重新設定為止。

在主機發生故障期間,vSphere HA 不會執行最佳放置。HA 相依於 DRS 的放置建議。HA 仍將開啟虛擬機器的電源,但可能會在非最佳主機上開啟這些虛擬機器的電源。

擷取外部 vCLS 的密碼

您可以擷取密碼以登入 vCLS 虛擬機器。

為了確保叢集服務健全狀況,請避免存取 vCLS 虛擬機器。本文件適用於 vCLS 虛擬機器的明確診斷。

程序

  1. 使用 SSH 登入 vCenter Server Appliance。
  2. 執行下列 python 指令碼:
    /usr/lib/vmware-wcp/decrypt_clustervm_pw.py
  3. 讀取密碼的輸出。

    pwd-script-output

    Read key from file

    Connected to PSQL

    PWD: (password displayed here)

結果

透過已擷取的密碼,可以登入 vCLS 虛擬機器。

vCLS 虛擬機器反相似性原則

vSphere 支援 vCLS 虛擬機器與另一工作負載虛擬機器群組之間的反相似性。

運算原則提供了一種方法來指定 vSphere Distributed Resource Scheduler (DRS) 應如何將虛擬機器置於資源集區中的主機上。使用 vSphere 運算原則編輯器建立和刪除運算原則。您可以建立或刪除運算原則,但不能修改該原則。如果刪除原則定義中使用的類別標記,也會刪除該原則。在 vSphere 中開啟虛擬機器摘要頁面,以檢視套用到虛擬機器的運算原則及其與每個原則的符合性狀態。您可以為一個與 vCLS 虛擬機器群組具有反相似性的工作負載虛擬機器群組建立運算原則。vCLS 反相似性原則可以包含用於一個工作負載虛擬機器群組的單個使用者可見標記,另一個 vCLS 虛擬機器群組則透過內部進行辨識。

建立或刪除 vCLS 虛擬機器反相似性原則

vCLS 虛擬機器反相似性原則說明了某類虛擬機器與 vCLS 系統虛擬機器之間的關係。

vCLS 虛擬機器反相似性原則不支援將 vCLS 虛擬機器和應用程式虛擬機器放置在同一主機上。如果您不希望 vCLS 虛擬機器和執行關鍵工作負載的虛擬機器在同一主機上執行,則此類原則會非常有用。執行關鍵工作負載 (如 SAP HANA) 的一些最佳做法需要專用主機。建立原則後,放置引擎會嘗試將 vCLS 虛擬機器放置在未執行原則虛擬機器的主機上。

強制執行 vCLS 虛擬機器反相似性原則可能會在多個方面受到影響:
  • 如果原則套用至不同主機上的多個虛擬機器,並且無法提供足夠的主機來分佈 vCLS 虛擬機器,則 vCLS 虛擬機器將整併到不含原則虛擬機器的主機中。
  • 如果佈建作業指定目的地主機,則即使違反原則,也會始終遵守該指定。DRS 會在後續修復週期中嘗試將 vCLS 虛擬機器移至符合標準的主機。

程序

  1. 針對要包含在 vCLS 虛擬機器反相似性原則中的每個虛擬機器群組建立類別和標籤。
  2. 標記要包含的虛擬機器。
  3. 建立 vCLS 虛擬機器反相似性原則。
    1. 從 vSphere 中,按一下原則和設定檔 > 計算原則
    2. 按一下新增以開啟新增計算原則精靈。
    3. 填寫原則名稱,然後從原則類型下拉式控制項中選擇 vCLS 虛擬機器反相似性
      原則 名稱必須是唯一的。
    4. 提供原則的說明,然後使用虛擬機器標籤選擇將原則套用到的類別標籤
      除非有多個虛擬機器標籤與某個類別相關聯,否則精靈會在您選取標籤 類別後填寫虛擬機器標籤。
    5. 按一下建立以建立原則。
  4. (選擇性) 若要刪除計算原則,請開啟 vSphere,按一下原則和設定檔 > 計算原則,以卡片形式顯示每個原則。按一下 [刪除] 以刪除原則。