您可以將 vSphere HA 設定為透過保留特定百分比的叢集 CPU 和記憶體資源來執行許可控制,用於從主機故障進行復原。

使用此類型的許可控制,vSphere HA 可確保保留指定百分比的 CPU 和記憶體資源總量以用於容錯移轉。

使用叢集資源百分比選項,vSphere HA 可強制執行下列許可控制:

  1. 計算叢集內所有已開啟電源虛擬機器的總資源需求。
  2. 計算可用於虛擬機器的主機資源總數。
  3. 計算叢集的 [目前的 CPU 容錯移轉容量] 和 [目前的記憶體容錯移轉容量]。
  4. 確定 [目前的 CPU 容錯移轉容量] 和 [目前的記憶體容錯移轉容量] 是否小於對應的 [設定的容錯移轉容量] (由使用者提供)。

    如果是,則許可控制不允許執行此作業。

vSphere HA 將使用虛擬機器的實際保留區。如果虛擬機器沒有保留區 (即保留量為 0),則會套用預設值 (0 MB 記憶體和 32 MHz CPU)。

備註: 許可控制的叢集資源百分比選項還會檢查叢集中是否至少有兩台已啟用 vSphere HA 的主機 (不包括正在進入維護模式的主機)。如果只有一台已啟用 vSphere HA 的主機,即使有足夠的資源百分比可以使用,也不允許執行此作業。進行此次額外檢查的原因在於如果叢集中只有一台主機,則 vSphere HA 無法執行容錯移轉。

計算目前容錯移轉容量

已開啟電源的虛擬機器的總資源需求由兩個元件組成,即 CPU 和記憶體。vSphere HA 將計算這些值。

  • CPU 元件值的計算方法是:加總已開啟電源虛擬機器的 CPU 保留區。如果沒有為虛擬機器指定 CPU 保留區,則系統會為其指派 32MHz 預設值 (可以使用 das.vmcpuminmhz 進階選項變更此值)。
  • 記憶體元件值的計算方法是:加總每台已開啟電源虛擬機器的記憶體保留區 (以及記憶體額外負荷)。

計算出主機的 CPU 和記憶體資源總和,從而得出虛擬機器可使用的主機資源總數。這些值包含在主機的根資源集區中,而不是主機的總實體資源中。不包含用於虛擬化目的資源。只有處於連線狀態、未處於維護模式且沒有 vSphere HA 錯誤的主機才列入計算範疇。

先用主機 CPU 資源總數減去總 CPU 資源需求,然後再用這個結果除以主機 CPU 資源總數,從而計算出 [目前的 CPU 容錯移轉容量]。[目前的記憶體容錯移轉容量] 的計算方式與之相似。

使用叢集資源百分比的許可控制

範例中顯示了使用此許可控制原則計算和使用 [目前的容錯移轉容量] 的方式。對叢集進行如下假設:

  • 叢集包括三台主機,每台主機上可用的 CPU 和記憶體資源數各不相同。第一台主機 (H1) 的可用 CPU 資源和可用記憶體分別為 9 GHz 和 9 GB,第二台主機 (H2) 為 9 GHz 和 6 GB,而第三台主機 (H3) 則為 6 GHz 和 6 GB。
  • 叢集中有五個已開啟電源的虛擬機器,其 CPU 和記憶體需求各不相同。虛擬機器 1 所需的 CPU 資源和記憶體分別為 2 GHz 和 1 GB,虛擬機器 2 為 2 GHz 和 1 GB,虛擬機器 3 為 1 GHz 和 2 GB,虛擬機器 4 為 1 GHz 和 1 GB,虛擬機器 5 則為 1 GHz 和 1 GB。
  • CPU 和記憶體的 [設定的容錯移轉容量] 均設定為 25%。
圖 1. 使用 [保留的叢集資源百分比] 原則的許可控制範例
以下是使用 [保留的叢集資源百分比] 原則的許可控制範例。

已開啟電源的虛擬機器的總資源需求為 7 GHz CPU 和 6 GB 記憶體。可用於虛擬機器的主機資源總數為 24 GHz CPU 和 21 GB 記憶體。根據上述情況,[目前的 CPU 容錯移轉容量] 為 70% ((24 GHz - 7 GHz)/24 GHz)。同樣的,[目前的記憶體容錯移轉容量] 為 71% ((21 GB - 6 GB)/21 GB)。

由於叢集的 [設定的容錯移轉容量] 設定為 25%,因此仍然可使用 45% 的叢集 CPU 資源總數和 46% 的叢集記憶體資源來開啟其他虛擬機器電源。