如果主機發生故障而必須重新啟動其虛擬機器,您可使用虛擬機器重新啟動優先順序設定來控制重新啟動虛擬機器的順序。您也可以使用主機隔離回應設定,設定當主機與其他主機中斷管理網路連線時 vSphere HA 的回應方式。vSphere HA 在虛擬機器發生故障後將其重新啟動時也會考量其他因素。
下列設定適用於主機發生故障或主機隔離時叢集內的所有虛擬機器。此外,您也可以為特定虛擬機器設定例外狀況。請參閱自訂個別虛擬機器。
主機隔離回應
主機隔離回應可確定當 vSphere HA 叢集內的某台主機中斷其管理網路連線但仍繼續執行時出現的情況。您可使用隔離回應使 vSphere HA 關閉隔離主機上執行的虛擬機器電源,然後在非隔離主機上重新啟動虛擬機器。主機隔離回應需要啟用 [主機監控狀態]。如果 [主機監控狀態] 處於停用狀態,則主機隔離回應也會暫停。當主機無法與其他主機上執行的代理程式通訊且無法對其隔離位址執行 Ping 動作時,該主機確定已被隔離。然後,該主機會執行其隔離回應。回應為:關閉虛擬機器電源然後重新啟動,或關閉虛擬機器然後重新啟動。您可以針對個別虛擬機器自訂此內容。
若要使用 [關閉虛擬機器然後重新啟動] 設定,必須在虛擬機器的客體作業系統中安裝 VMware Tools。將虛擬機器關閉的優點在於可以保留其狀態。關閉操作優於關閉虛擬機器電源操作,關閉虛擬機器不會將最近的變更排清到磁碟中,也不會認可交易。在關閉完成時,正在關閉的虛擬機器需要更長時間進行容錯移轉。未在 300 秒內或在進階選項 das.isolationshutdowntimeout 中指定的時間內關閉的虛擬機器將被關閉電源。
建立 vSphere HA 叢集後,您可以覆寫特定虛擬機器的 [重新啟動優先順序] 和 [隔離回應] 的預設叢集設定。此覆寫操作對於用於特殊工作的虛擬機器相當有用。例如,可能需要先開啟提供基礎結構服務 (如 DNS 或 DHCP) 的虛擬機器電源,再開啟叢集內的其他虛擬機器電源。
主機被隔離或從主要主機劃分,且該主要主機無法使用活動訊號資料存放區來與虛擬機器通訊時,虛擬機器會發生「核心分裂」情況。在這種情況下,主要主機無法判定主機處於運作中狀態,因此會宣告其無作用。然後,主要主機會嘗試重新啟動正在隔離或已劃分的主機上執行的虛擬機器。如果虛擬機器仍在隔離/已劃分的主機上執行,且該主機已在隔離或劃分時遺失虛擬機器資料存放區的存取權限,則此次嘗試將會成功。因為有兩個虛擬機器執行個體,所以會存在核心分裂狀況。然而,僅有一個執行個體可以讀取或寫入虛擬機器的虛擬磁碟。虛擬機器元件保護可用於防止發生這種核心分裂狀況。啟用具有積極設定的 VMCP 時,它可監控已開啟電源之虛擬機器的資料存放區可存取性,並關閉無法存取其資料存放區的虛擬機器。
為了從此情況復原,ESXi 會針對已遺失磁碟鎖定的虛擬機器產生一個問題,關於主機何時脫離隔離狀態且無法重新取得磁碟鎖定。vSphere HA 會自動回答該問題,這會使已遺失磁碟鎖定的虛擬機器執行個體關閉電源,只留下具有磁碟鎖定的執行個體。
虛擬機器相依性
您可以在虛擬機器的群組之間建立相依性。若要如此,您必須先在 vSphere Client 中建立虛擬機器群組,方法是移至叢集的設定索引標籤並選取虛擬機器/主機群組。建立群組後,您就可以建立群組之間的重新啟動相依性規則,方法是瀏覽至虛擬機器/主機規則,在 [類型] 下拉式功能表中選取虛擬機器對虛擬機器。這些規則可以指定在指定的其他虛擬機器群組就緒之前不能重新啟動的特定虛擬機器群組。
適用於虛擬機器重新啟動的考量因素
發生故障後,叢集的主要主機會透過識別可開啟受影響虛擬機器電源的主機來嘗試重新啟動這些虛擬機器。選擇此類主機時,主要主機會考量多種因素。
- 檔案可存取性
- 必須可從其中一個作用中叢集主機 (主要主機可以透過網路與該主機通訊) 存取虛擬機器的檔案,才可以啟動該虛擬機器。
- 虛擬機器和主機相容性
- 如果存在可存取的主機,則虛擬機器必須至少與其中一個主機相容。為虛擬機器設定的相容性包括任意所需虛擬機器-主機相似性規則的效果。例如,如果某個規則僅允許虛擬機器在兩台主機上執行,則會考慮將此規則置於這兩台主機上。
- 資源保留
- 在可以執行虛擬機器的主機之中,至少有一個主機必須擁有足夠的未保留容量來因應虛擬機器的記憶體額外負荷以及任意資源保留需求。會考量以下四種類型的保留區:CPU、記憶體、vNIC 以及虛擬 Flash。此外,必須有足夠的網路連接埠可供開啟虛擬機器電源。
- 主機限制
- 除資源保留外,虛擬機器僅可置於主機上,前提是執行此操作不會違反允許的虛擬機器數目上限或使用中 vCPU 的數目。
- 功能限制
- 如果已設定的進階選項要求 vSphere HA 強制執行虛擬機器-虛擬機器反相似性規則,則 vSphere HA 不會違反此規則。此外,vSphere HA 也不會違反容錯虛擬機器的任何已設定的每台主機限制。
如果沒有主機能滿足上述考量事項,則主要主機會發出一個事件來說明沒有足夠的資源供 vSphere HA 啟動虛擬機器,並會在叢集狀況變更後再試一次。例如,如果虛擬機器無法存取,則主要主機會在檔案可存取性變更後再試一次。