VMware vSphere HA 與 DRS 的比較與說明
VMware 虛擬化平台可讓您在單一伺服器上執行虛擬機器。您可以在獨立的 ESXi 主機上執行多台虛擬機器,並部署多台主機以執行更多虛擬機器。若您有多台透過網路相互連線的 ESXi 主機,即可將虛擬機器從一台主機遷移至另一台主機。
有時,僅透過網路連接多個主機來執行虛擬機器,仍不足以滿足業務需求。例如,若其中一台主機發生故障,該主機上所有虛擬機器也將隨之停止運作。此外,ESXi 主機上的虛擬機器工作負載可能不均衡,且在主機之間手動遷移虛擬機器是常有的情況。為解決這些問題,VMware 提供了諸如以下等叢集特點: VMware High Availability (HA) 以及 Distributed Resource Scheduler (DRS). 透過 vSphere 叢集功能,您可以減少虛擬機器 (VM) 的停機時間,並合理運用硬體資源。這篇部落格文章將探討 VMware HA 以及 DRS 以及各項聚類特點的使用情境。
什麼是 vSphere 叢集?
vSphere 叢集是一組相互連線的 ESXi 主機,這些主機共享處理器、記憶體和儲存等硬體資源。VMware vSphere 叢集是在 vCenter. 叢集的資源會彙整至資源池中,因此當您將一台主機新增至 叢集, 主機的資源便會成為整個叢集資源的一部分。身為叢集成員的 ESXi 主機,亦稱為叢集節點。vSphere 叢集主要分為兩種類型: vSphere High Availability 以及 Distributed Resource Scheduler (VMware HA 以及 DRS).
VMware 叢集需求
部署 VMware HA 以及 DRS, 應符合一組叢集需求:
- 兩個或以上 ESXi 配置完全相同的主機 (同系列處理器(例如:ESXi 版本和修補程式等級等)必須一致。舉例來說,您可以使用兩台搭載同系列 Intel 處理器的伺服器(或
AMD處理器)以及ESXi 7.0 Update 3安裝在伺服器上。為獲得更好的保護與效能,建議您至少使用三個主機。 - 管理網路、儲存網路及 vMotion 網路需具備高速網路連線。冗餘網路連線的需求。
- 一個可供叢集內所有 ESXi 主機存取的共用資料存放區。儲存區域網路 (SAN)、網路附加儲存裝置 (NAS) 以及 VMware vSAN 可用作共用資料存放區。支援 NFS 和 iSCSI 協定,用以存取共用資料存放區中的資料。虛擬機器檔案必須儲存於共用資料存放區中。
VMware vCenter Server且與主機上安裝的 ESXi 版本相容。
與……不同的是 Hyper-V Failover Cluster, 無需達到法定人數,也不需要使用複雜的網路名稱。
什麼是 VMware HA 在 vSphere 中嗎?
VMware vSphere High Availability (HA) 這是一項叢集特點,旨在於發生故障時自動重新啟動虛擬機器(VM)。 VMware vSphere High Availability 讓組織能夠確保 vSphere 叢集中虛擬機器及其上執行的應用程式具備高可用性(與正在執行的應用程式無關)。 VMware HA 可提供針對 ESXi 主機故障的防護機制——發生故障的虛擬機器將在正常運作的主機上重新啟動。因此,您可以大幅減少停機時間。
對……的需求 vSphere HA
對……的需求 vSphere HA 必須與一般的 vSphere 叢集需求一併考量。為了設定 VMware vSphere High Availability, 您必須具備:
- A
VMware vSphere Standard許可證 - 每台主機至少需配備 4 GB 記憶體
- 可進行 ping 測試的閘道器
vSphere 是如何運作的 HA 工作?
VMware vSphere High Availability 檢查 ESXi 主機以偵測主機故障。 若偵測到主機故障(該主機上運行的虛擬機器亦隨之故障),則故障的虛擬機器將遷移至叢集內的正常運作 ESXi 主機。遷移完成後,虛擬機器會在新主機上註冊,隨後這些虛擬機器將被啟動。遷移後,虛擬機器檔案(VMX、VMDK 及其他檔案)仍位於同一資源(即共用資料存放區)中。虛擬機器檔案並不會被遷移。 遷移後,新 ESXi 主機僅提供故障虛擬機器所使用的 CPU、記憶體及網路元件。
停機時間等同於在另一台主機上重新啟動虛擬機器所需的時間。但請注意,還需加上作業系統開機以及在虛擬機器上載入所需應用程式所需的時間。VMware HA 是一項運作於虛擬機器層級的解決方案,即使應用程式本身不具備原生高可用性特點,亦可使用此解決方案。 VMware vSphere High Availability 這與虛擬機器上安裝的客體作業系統無關。
一個 vSphere HA 下圖所示即為叢集的示意圖。此範例中,有一個包含三個 ESXi 主機的叢集。所有主機上皆有虛擬機器正在執行。虛擬機器及其檔案之間的連線以虛線表示。
1. 叢集的正常運作狀態。所有虛擬機器皆在其原生主機上執行。
2. ESXi 主機 1 發生故障。位於 ESXi 主機 1 上的虛擬機器(VM1 和 VM2)發生故障(這些虛擬機器已關機)。一個 vSphere HA 叢集會在其他運作正常的 ESXi 主機上啟動虛擬機器重啟程序。
3. 虛擬機器已遷移至狀態良好的主機並重新啟動。VM1 已遷移至 ESXi 主機 2,而 VM2 已遷移至 ESXi 主機 3。虛擬機器檔案位於 vSphere 叢集中所有 ESXi 主機皆已連線的共用儲存裝置上的相同位置。
HA 上司與下屬
之後 vSphere High Availability 若在叢集中已啟用此功能,則會選取一台 ESXi 主機作為 HA 主節點。其他 ESXi 主機則為從屬節點(從屬主機)。主節點會監控從屬節點的狀態,以便及時偵測主機故障,並啟動故障虛擬機器的重啟程序。主節點還會監控叢集節點上虛擬機器的電源狀態。若偵測到虛擬機器故障,主節點將啟動虛擬機器重啟程序(在重啟故障的虛擬機器之前,主節點會先選定最適合的主機)。該 HA 主機傳送有關 HA 叢集的運作狀態至 vCenter。VMware vCenter 透過由 HA 主節點。
主節點可如同叢集內的其他節點一樣執行虛擬機器。若某個主節點發生故障,系統將選取另一個主節點。在選舉主要 ESXi 節點時,連接到最多資料存放區的節點將具有優先權。未處於維護模式的節點皆會參與主要節點的選舉。
從屬節點可執行虛擬機器、監控虛擬機器的狀態,並將虛擬機器狀態的最新資訊回報給 HA 主主機。
Fault Domain Manager (FDM) 是用於監控實體伺服器可用性的代理程式名稱。該 FDM 代理程式會在一個 HA 叢集。
主機故障類型
ESXi 主機的故障主要分為三種類型:
失敗。 某台 ESXi 主機因故停止運作。
孤立。 某台 ESXi 主機及其上的虛擬機器仍可正常運作,但由於網路問題,該主機已與叢集中的其他主機隔離。
分區。 與主主機的網路連線已中斷。
如何偵測故障
透過交換心跳訊號來偵測 vSphere 中的故障 HA 叢集。主節點透過每秒接收來自次要節點的心跳訊號,來監控次要節點的狀態。主節點會傳送 ICMP 向次要主機發送心跳訊號,並等待回覆。若主要主機無法直接與次要主機的代理程式通訊,則次要主機可能處於正常狀態,也可能已故障,但透過網路無法存取。
若主要主機未收到心跳訊號,則主要主機將透過以下方式檢查該可疑主機: Datastore Heartbeating. 在正常運作期間,同一網域內的每個主機 HA叢集會與共用資料存放區交換心跳訊號。主 ESXi 主機除了向可疑主機發送 ping 請求外,還會檢查是否已與該主機交換資料存放區的心跳訊號。若與可疑主機之間未交換資料存放區的心跳訊號,且該主機未發送 ICMP 若未收到任何回應,則該主機將被視為故障主機。
註: 一則特別報導 .vSphere-HA 會在共用資料存放區的根目錄下建立一個目錄,用於執行心跳檢測及識別受保護的虛擬機器清單。請注意,vSAN 資料存放區無法用於資料存放區心跳檢測。
若主主機無法與次要主機的代理程式建立連線,但次要主機仍能與共用資料存放區交換心跳訊號,則主主機將該可疑主機標記為"網路隔離主機"。 若主主機判定次要主機正在隔離的網路區段中運行,主主機將繼續監控該隔離主機上的虛擬機器。若隔離主機上的虛擬機器已關機,則主主機會啟動在另一台 ESXi 主機上重新啟動這些虛擬機器的程序。您可以設定 vSphere HA 叢集對 ESXi 主機陷入網路隔離狀態的回應方式。
監控個別虛擬機器。 VMware vSphere High Availability 具備監控個別虛擬機器,並偵測特定虛擬機器是否發生故障的機制。 VMware Tools 安裝於來賓作業系統(OS)上的程式會用於判斷虛擬機器的狀態。 VMware Tools 將來賓作業系統的心跳訊號傳送至 ESXi 主機。
心跳訊號與輸入/輸出 (I/O) 由…所產生的活動 VMware Tools 由 VM 監控服務進行監控。如果位於 HA 叢集偵測到 VMware Tools 受保護的虛擬機器上的服務均無回應,且沒有 I/O 活動發生時,主機會啟動虛擬機器重啟程序。監控虛擬機器 I/O 此活動允許一個 HA 叢集,以避免在以下情況下發生不必要的虛擬機器重置: VMware Tools 不知為何沒有傳送心跳訊號,但虛擬機器仍在運行。您可以設定監控靈敏度,以配置當由來客作業系統產生心跳訊號後,若超過該時間間隔,則必須重新啟動虛擬機器的時限。 VMware Tools ESXi 主機未收到這些訊息。VMware vSphere HA 若單一虛擬機器發生故障,則會在同一台 ESXi 主機上重新啟動該虛擬機器。
VMware Tools 心跳訊號會傳送至 hostd 在虛擬化平台層級(ESXi)上進行,而非透過網路堆疊。接著,ESXi 主機會將接收到的資訊傳送至 vCenter。 VMware Tools 如果虛擬機器與網路斷開連接,甚至即使該虛擬機器未連接任何虛擬網路介面卡,ESXi 主機仍可接收心跳訊號。
虛擬機器與應用程式監控。 您可以使用 SDK 透過第三方供應商來監控虛擬機器上安裝的特定應用程式是否發生故障。另一種選擇是使用已支援 VMware 應用程式監控功能的應用程式。在 vSphere 環境中運行的 VMware 虛擬機器上,會利用應用程式的心跳訊號來進行應用程式監控 HA 叢集。
主要參數: HA 叢集配置
在開始設定高可用性(HA)叢集之前,您需要定義一些關鍵參數。
隔離應對措施 是一個用來定義 ESXi 主機在未接收到心跳訊號時應如何處理的參數。其選項包括 Leave powered on, Power off (預設),以及 Shutdown.
Reservation 是一個根據叢集內資源消耗量最大的虛擬機器之最大特性所計算出的參數。此參數用於估算故障移轉容量。一個 HA 叢集會根據"Reservation"參數的值來建立預約時段。
故障移轉能力。 此參數以整數為單位,用以定義叢集中最多可發生多少台伺服器故障,而不會對工作負載造成負面影響(當此數量的 ESXi 主機發生故障後,叢集及所有虛擬機器仍能正常運作)。
允許的主機故障次數。 此參數由系統管理員定義,用以設定在多少台主機發生故障的情況下,叢集仍能繼續運作。 故障移轉容量 在設定此參數的值時,會將此因素納入考量。
Admission Control 此參數用於確保在 ESXi 主機發生故障後,預留有足夠的資源來恢復虛擬機器。此參數由管理員設定,並定義當 ESXi 主機發生故障後,若可用插槽不足以啟動虛擬機器時,虛擬機器的運作行為。 Admission Control 定義了故障移轉容錯能力,也就是 vSphere 中可容忍的資源效能下降百分比 HA 故障移轉後的叢集。
Restart Priority 由管理員設定,用以定義叢集節點發生故障移轉後啟動虛擬機器的順序。管理員可以設定 vSphere HA 先啟動關鍵的虛擬機器,然後再啟動其他虛擬機器。
故障移轉能力與主機故障
讓我們來看兩個案例,每個案例都有三個 ESXi 主機,但其故障移轉容量值不同。在第一個案例中,當其中一台 ESXi 主機發生故障時,HA 叢集仍能正常運作(參見下圖左側)。在第二個案例中,該 HA 該叢集可容忍兩台 ESXi 主機發生故障(請參見圖片右側)。
1. 每台 ESXi 主機擁有 4 個插槽。叢集中共有 6 台虛擬機器。若其中一台 ESXi 主機發生故障(例如第三台主機),則其中三台虛擬機器(VM4、VM5 和 VM6)可遷移至其餘兩台 ESXi 主機。 在我的範例中,這三個虛擬機器正遷移至第二台 ESXi 主機。若再有一台 ESXi 主機發生故障,則將沒有空閒插槽可用來遷移並執行其他虛擬機器。
2. 每台 ESXi 主機有 4 個插槽。VMware vSphere 中正在執行 4 個虛擬機器 HA 叢集。在此情況下,即使有兩台 ESXi 主機發生故障,叢集內仍有足夠的插槽來執行所有虛擬機器。
為了計算 Failover Capacity, 請執行以下步驟:從叢集中的所有節點總數中,減去叢集中虛擬機器數量與單一節點插槽數量之比。若計算結果為非整數(即非整數的數值),請將該數值向下捨入至最接近的整數。讓我們來計算 Failover Capacity 關於這兩個例子。
範例 1:
3–6/4=1.5
將 1.5 四捨五入為 1。同一組中的所有虛擬機器 HA 若……,叢集便能存活 1 ESXi 主機發生故障。
範例 2:
3–4/4=2
由於 2 是一個整數,因此無需向下取整。若 2 ESXi 主機會發生故障。
入場管制
如前所述,存取控制是確保在叢集中發生主機故障後,仍有足夠資源來執行虛擬機器所需的參數。您也可以定義 Admission Control State 參數,以提升使用便利性。 Admission Control State 其計算方式為 Failover Capacity 至 允許的主機故障次數 (NHF).
如果 Failover Capacity 大於 NHF, 然後是 HA 叢集已正確設定。否則,您需要設定 Admission Control 手動設定。共有兩種選項可供選擇:
1. 若虛擬機器違反可用性限制,則不予啟動(若硬體資源不足,則不啟動虛擬機器)。
2. 即使虛擬機器違反可用性限制,仍允許其啟動(即使硬體資源不足,仍啟動虛擬機器)。
請選擇符合您需求的選項 vSphere High Availability 叢集使用情境最為合適。若您的目標是確保 HA 叢集,請選擇第一個選項(Do not power on VMs). 若對您而言,最重要的是讓所有虛擬機器都能正常運作,請選擇第二個選項(Allow VMs to be started)。請注意,在第二種情況下,叢集的運作行為可能難以預測。在最壞的情況下,高可用性叢集可能會變得毫無用處。
虛擬機器覆寫設定
VM 覆寫(或 HA 在以下情況下會覆寫: HA (叢集)此選項可讓您停用 HA 針對在 HA 叢集。您可以設定您的 vSphere HA 透過在叢集層級啟用此選項,可對叢集進行更細粒度的管理。
容錯能力
VMware 為 vSphere 提供了一項特點 HA 一種叢集架構,可讓您在 ESXi 主機發生故障時實現零停機時間。此特點稱為 Fault Tolerance. 雖然的標準配置為 vSphere High Availability 若發生失敗,則需要重新啟動虛擬機器, Fault Tolerance 若虛擬機器所註冊的主 ESXi 主機發生故障,此功能可讓虛擬機器繼續運行。 Fault Tolerance 可用於執行關鍵應用程式的任務關鍵型虛擬機器。
由於有兩個受保護的虛擬機器執行個體同時運作,因此要實現最高等級的業務連續性並達到零停機時間,會產生一定的開銷,因為 Fault Tolerance. 第二台幽靈虛擬機器運行於第二台 ESXi 主機上,原始虛擬機器的所有變更(CPU、RAM、網路狀態)都會從初始 ESXi 主機複製到次要 ESXi 主機。受保護的虛擬機器稱為"主虛擬機器",而複製的虛擬機器則稱為"次要虛擬機器"。 主虛擬機器與次虛擬機器必須位於不同的 ESXi 主機上,以確保能抵禦 ESXi 主機故障。
這兩台虛擬機器(主虛擬機器與次虛擬機器)會同時運行,並消耗兩台 ESXi 主機上的 CPU、記憶體及網路資源(因此,透過"容錯"特點受保護的虛擬機器,在 vSphere 中的資源消耗量會增加一倍 HA 叢集)。這些虛擬機器會持續進行即時同步。使用者僅能操作主(原始)虛擬機器,而副(影子)虛擬機器對他們而言是不可見的。
若第一個 ESXi 主機發生故障(即主虛擬機器所在的主機),則工作負載將遷移至運行於第二個 ESXi 主機上的次要虛擬機器(即虛擬機器克隆或幽靈虛擬機器)。次要虛擬機器將立即轉為活躍狀態並可供存取。在透明故障移轉的過程中,使用者可能會察覺到輕微的網路延遲。 在故障移轉過程中,不會發生服務中斷或資料遺失。故障移轉成功完成後,系統會在另一台狀態良好的 ESXi 主機上建立新的"幽靈虛擬機器",以提供冗餘機制,並持續保護虛擬機器免受 ESXi 主機故障的影響。
Fault Tolerance 透過共用儲存裝置上的檔案鎖定機制來協調故障移轉,從而避免發生"腦裂"情境(即受保護虛擬機器的兩個活躍副本同時執行)。然而, Fault Tolerance 無法防止虛擬機器(VM)內部發生的軟體故障(例如客體作業系統故障或特定應用程式故障)。若主虛擬機器發生故障,備用虛擬機器也會隨之故障。
對……的需求 Fault Tolerance
- 一個 vSphere
HA包含至少兩台 ESXi 主機的叢集。 vMotion以及FT logging.- 一款相容且支援硬體加速的 CPU
MMU虛擬化。
使用專用的 Fault Tolerance vSphere 中的網路 HA 建議使用叢集。
一份針對 Fault Tolerance
- ESXi 主機必須取得授權才能使用
Fault Tolerance. - vSphere
Standard以及Enterprise單一虛擬機器最多可支援 2 個 vCPU。 - vSphere
Enterprise Plus讓您每台虛擬機器最多可使用 8 個 vCPU。
Fault Tolerance 限制
使用時存在一些限制 VMware Fault Tolerance 在 vSphere 中。與以下特點不相容的 VMware vSphere 特點: FT:
- 虛擬機器快照。受保護的虛擬機器不得具有快照。
- 連結克隆體
- VMware
vVol資料存放區
不支援的裝置:
Raw device mapping裝置- 伺服器上的實體 CD-ROM 及其他裝置,這些裝置作為虛擬裝置連接至虛擬機器
- 音訊裝置與 USB 裝置
- 大小超過 2 TB 的 VMDK 虛擬磁碟
- 具備 3D 圖形處理功能的視訊裝置
- 並列埠與序列埠
Hot-plug裝置NIC (network interface controller)轉嫁Storage vMotion(必須暫時停用此功能,才能將虛擬機器檔案遷移至另一個儲存空間)
什麼是 DRS 在 VMware vSphere 中嗎?
Distributed Resource Scheduler (DRS) 這是一項 VMware vSphere 叢集特點,可讓您對叢集中運行的虛擬機器進行負載平衡。 DRS 檢查虛擬機器(VM)的負載,以及 vSphere 叢集內各台 ESXi 伺服器的負載。如果 DRS 偵測到有過載的主機或虛擬機器, DRS 將虛擬機器遷移至具備充足可用硬體資源的 ESXi 主機,以確保服務品質 (QoS). DRS 在叢集中建立新虛擬機器時,可為該虛擬機器選取最適合的 ESXi 主機。
VMware DRS 讓您能在平衡的叢集中執行虛擬機器,並避免系統過載,以及因硬體資源不足而導致虛擬機器及運行於虛擬機器上的應用程式無法正常運作的情況(在此情況下,整個叢集必須具備足夠的資源)。
DRS 需求
有關需求 DRS, 加上 vSphere 叢集的一般需求,包括:
- vSphere
Enterprise或 vSphereEnterprise Plus許可證 - 一款配備CPU的
Enhanced vMotion Compatibility用於 VM 即時遷移,搭配vMotion - 一個專用的
vMotion網路
已設定好的 VMware vMotion 必須具備以下條件才能操作一個 DRS 叢集,有別於一個 HA 叢集,其中僅在使用時有 vMotion 的需求 Fault Tolerance. 此外,VMware 所需的 vSphere 授權 DRS 高於使用該許可證的 vSphere High Availability.
……的作用 vMotion
使用 將虛擬機器從一個 ESXi 主機遷移至另一個 ESXi 主機 vMotion,我們在解釋如何……時曾提到這一點 Fault Tolerance 運作正常。搭配 VMware vMotion, 虛擬機器遷移(CPU、記憶體、網路狀態)可在不中斷正在運行的虛擬機器的情況下進行(無停機時間)。VMware vMotion 是確保以下特點正常運作的關鍵特點: DRS.
讓我們來看看 vMotion 操作的主要步驟:
1. vMotion 在目標 ESXi 主機上建立一個影子虛擬機器。目標 ESXi 主機會預先分配足夠的資源,以供該虛擬機器進行遷移。該虛擬機器將被置於中間狀態,且在遷移過程中無法變更其配置。
2. 預複製流程。透過使用一個 vMotion 網路。
3. 接著會執行將記憶體頁面從來源複製到目的地的下一步驟,因為在虛擬機器運作期間,記憶體頁面會發生變更。這是一個迭代過程,會持續執行直到不再有變更過的記憶體頁面為止。這些變更過的記憶體頁面稱為"髒頁面"。若採用 vMotion 若在虛擬機器上執行記憶體密集型操作,是因為有更多記憶體頁面被修改所致。
4. 虛擬機器在來源 ESXi 主機上停止運作,並在目標主機上恢復運作。此時,在已遷移的虛擬機器內部,可察覺到約一秒鐘的輕微網路延遲。
的工作原理 DRS 在 VMware 中
VMware DRS 每 5 分鐘(此為預設間隔)從 CPU 和 RAM 兩個角度檢查工作負載,以評估 vSphere 叢集的平衡狀況。VMware DRS 檢查叢集資源池中的所有資源,包括虛擬機器所消耗的資源,以及叢集內各 ESXi 主機中可用於執行虛擬機器的資源。資源檢查是根據已設定的政策進行的。
同時也會將虛擬機器的需求納入考量(即在檢查當下,虛擬機器運作所需的硬體資源)。以下公式用於計算虛擬機器的記憶體需求:
虛擬機器記憶體需求 = 函數(已使用的活躍記憶體、已交換的記憶體、共享記憶體) + 25% (閒置狀態下的記憶體消耗量)
CPU 需求是根據虛擬機器(VM)目前所佔用的處理器資源數量來計算的。在上次檢查期間收集到的 VM CPU 最大值和 VM CPU 平均值有助於 DRS 以確定特定虛擬機器的資源使用趨勢。如果 vSphere DRS 若偵測到叢集出現不平衡,且部分 ESXi 主機過載,則該 DRS 啟動將運行於資源過載主機上的虛擬機器,即時遷移至具有閒置資源的主機。
讓我們來看看 vSphere 是如何 DRS 透過附有圖解的範例,說明在 VMware 中的運作方式。在下圖中,您可以看到一個 DRS 一個包含 3 台 ESXi 主機的叢集。所有主機皆連接到共用儲存裝置,虛擬機器檔案即儲存於此。第一台主機負載極高,第二台主機尚有閒置的 CPU 和記憶體資源,而第三台主機則負載沉重。第一台(VM1)和第三台(VM4、VM5)ESXi 主機上的部分虛擬機器,幾乎耗盡了所有已分配的 CPU 和記憶體資源。在此情況下,這些虛擬機器的效能可能會下降。
VMware DRS 判定出合理的做法是將負載過重的 VM2 從已超載的 ESXi 主機 1 遷移至具備充足閒置資源的 ESXi 主機 2,並將 VM4 從 ESXi 主機 3 遷移至 ESXi 主機 2。如果 DRS 若已設定為自動模式,則會將正在運行的虛擬機器遷移至 vMotion (下圖中以綠色箭頭標示此動作)。包含虛擬磁碟的 VM 檔案(VMDK),設定檔(VMX),而其他檔案在虛擬機器遷移期間及遷移後,皆位於共用儲存空間的同一位置(圖中以虛線標示虛擬機器與其檔案之間的關聯)。
一旦選定的虛擬機器完成遷移,該 DRS 叢集達到平衡狀態。叢集內的每台 ESXi 主機皆有閒置資源,足以有效執行虛擬機器並確保高效能。
由於虛擬機器工作負載分布不均,情況可能會發生變化,叢集也可能再次出現不平衡。在這種情況下, DRS 將檢查叢集中已佔用的資源與可用資源,以再次啟動虛擬機器遷移。
vSphere 的關鍵參數 DRS 設定
VMware vSphere DRS 這是一項高度可自訂的叢集特點,可讓您在不同情境下更有效地使用 DRS。讓我們來看看影響其運作行為的主要參數: DRS 在 vSphere 叢集中。
VMware DRS 自動化程度
當 DRS 偵測到 vSphere 叢集出現不平衡, DRS 針對虛擬機器(VM)的配置與遷移,提供以下建議: vMotion. 此建議可透過以下三種自動化層級之一來實施:
Fully automated. 虛擬機的初始配置以及 vMotion 建議會由 DRS (無需使用者介入)。
Partially automated. 只有針對新虛擬機器初始配置的建議才會自動套用。其餘建議可手動啟動並套用,或直接忽略。
Manual. DRS 提供有關虛擬機器初始配置位置及虛擬機器遷移的建議,但需由使用者進行操作才能套用這些建議。您也可以忽略由 DRS.
DRS 侵略程度(遷徙閾值)
DRS 侵略程度或遷徙閾值,是控制某個系統可接受的最大失衡程度的選項,該失衡程度為 DRS 叢集。共有五個閾值,從 1(最保守)到 5(最積極)。
採用"積極"設定時,即使虛擬機器重新配置帶來的效益微乎其微,系統仍會啟動虛擬機器遷移;採用"保守"設定時,即使虛擬機器遷移後能帶來顯著效益,系統也不會啟動虛擬機器遷移。預設選取的是第 3 級(中等積極程度),這也是建議的設定。
VMware 中的親和性規則 DRS
當您需要將特定的虛擬機器 (VM) 配置在特定的 ESXi 主機上時,親和性與反親和性規則便能派上用場。例如,您可能需要將某些虛擬機器一起運行在叢集內的某一台 ESXi 主機上,或者反之(您需要將兩台或更多虛擬機器僅配置在不同的 ESXi 主機上,且這些虛擬機器不得配置在同一台主機上)。使用情境包括:
- 將虛擬網域控制器虛擬機器(包含一個主要網域控制器與一個附加網域控制器)部署在不同的主機上,以避免當其中一台主機發生故障時,兩台虛擬機器同時失效。在此情況下,這些虛擬機器絕不能在同一台 ESXi 主機上共同運作。
- 運行軟體的虛擬機器,該軟體已取得在特定硬體上運行的授權,且因授權限制而無法在其他實體電腦上運行(例如 Oracle 資料庫)。
親和性規則可分為:
- VM-VM 親和性規則(適用於個別虛擬機器)
- VM-主機親和性規則(主機群組與虛擬機器群組之間的關聯)
虛擬機器主機規則可分為"建議性"(虛擬機器應…)與"強制性"(虛擬機器必須…)兩類。即使 DRS 已停用,因此您無法手動使用 vMotion 遷移相關的虛擬機器。此原則旨在避免當 vCenter 暫時無法使用或發生故障時,違反適用於在 ESXi 主機上執行的虛擬機器的規則。
共有四種選項可供選擇: DRS 親和度規則:
將虛擬機器集中存放。 所選的虛擬機器必須在單一 ESXi 主機上共同運作(若需進行虛擬機器遷移,則所有這些虛擬機器都必須一併遷移)。當您希望將所選虛擬機器之間的網路流量局限於同一主機內時,可運用此規則(以避免虛擬機器產生大量網路流量時,導致 ESXi 主機之間的網路過載)。另一種使用情境是執行一套複雜的應用程式,該應用程式會使用安裝在多台虛擬機器上且相互依賴的元件,或是執行一個 vApp. 例如,這可能包括資料庫伺服器和應用程式伺服器。
將虛擬機器分開。 選定的虛擬機器不得在單一 ESXi 主機上執行。此選項是用於實現高可用性。
虛擬機器對應至主機。 新增至虛擬機器群組的虛擬機器必須在指定的 ESXi 主機或主機群組上執行。您需要進行設定 DRS 群組(虛擬機器/主機群組)。A DRS 該群組包含多台虛擬機器或 ESXi 主機。
從虛擬機器到虛擬機器。 當您希望先啟動一個虛擬機器群組,再啟動另一個(依賴型)虛擬機器群組時,可選取此規則將虛擬機器相互關聯。此選項適用於 VMware HA 以及 DRS 在叢集中一同進行配置。
若規則發生衝突,則較舊的規則優先。
VM Override 適用於 VMware DRS
這與在 vSphere 中使用虛擬機器覆寫功能類似 HA 叢集、虛擬機器覆寫功能用於對 DRS 在 VMware vSphere 中,並讓您能夠覆寫在 DRS 在叢集層級設定,並為個別虛擬機器定義特定設定。當針對特定虛擬機器套用虛擬機器覆寫設定時,叢集中的其他虛擬機器不會受到影響。
Predictive DRS
《》的主要概念是 Predictive DRS 目的是蒐集有關虛擬機器配置的資訊,然後根據先前蒐集到的資訊,預測何時何地會出現高資源使用率。利用這些資訊, Predictive DRS 可在 ESXi 伺服器過載且虛擬機器資源不足之前,將虛擬機器在主機之間移動,以實現更好的負載平衡。當叢集中的虛擬機器需求隨時間變化時,此特點將十分實用。 Predictive DRS 預設為停用狀態。 VMware vRealize Operations Manager 必須使用 Power DRS。
Distributed Power Manager
Distributed Power Manager (DPM) 這是一項用於遷移虛擬機的特點,當叢集中有足夠的閒置資源時,可將某個 ESXi 主機關閉(將該主機置於待機模式),並將虛擬機移轉至叢集內的其餘 ESXi 主機上執行(其餘主機必須提供足夠的資源來執行所需的虛擬機)。
當叢集中需要更多資源來執行虛擬機器時, DPM 啟動已關機的伺服器,使其恢復運作並以正常模式運行。透過其中一種受支援的電源管理協定,經由網路為主機供電。這些協定包括智慧型 Platform Management Interface (IPMI), Hewlett-Packard Integrated Lights-Out (iLO),或 Wake-On-LAN (WOL). 然後 DRS 將部分虛擬機器遷移至此伺服器,以分散工作負載並平衡叢集。預設情況下, Distributed Power Management 已停用。 DPM 建議可自動或手動套用。
Storage DRS
雖然 DRS 根據 CPU 和 RAM 等運算資源來遷移虛擬機器, Storage DRS 根據資料存放區的使用狀況(例如可用磁碟空間),將虛擬機器檔案從一個資料存放區遷移至另一個資料存放區。透過親和性與反親和性規則,您可以設定是否 Storage DRS 必須將虛擬機器的虛擬磁碟檔案集中儲存於同一個資料存放區中。例如,您可以設定反親和性規則,將執行 I/O 在不同的資料存放區上進行密集型操作。這樣做是為了避免虛擬機器及其初始資料存放區的效能下降(I/O (當使用反親和性規則時,磁碟工作負載將分散至多個資料存放區)。
Storage DRS 在使用虛擬機器時,這項功能相當實用,特別是當 精簡配置 在過度配置的情況下,磁碟。 Storage DRS 有助於避免因薄磁碟大小增加,導致資料存放區上沒有可用空間的情況。可用空間不足會導致將虛擬磁碟儲存於該資料存放區的虛擬機器發生故障。虛擬機器的磁碟檔案可透過以下方式從一個資料存放區遷移至另一個資料存放區: Storage vMotion 在虛擬機器運行的過程中。
監控 CPU 與記憶體使用量
VMware 提供了一項功能,可透過其網頁介面監控資源使用狀況, VMware vSphere Client. 您可透過前往以下位置來監控叢集中的 CPU 使用率: Settings > Monitor > vSphere DRS > CPU Utilization. 此外,還有其他選項可用於監控個別 ESXi 主機的記憶體和儲存空間。VMware 監控功能支援 NAKIVO Backup & Replication 10.5. 欲進一步了解基礎設施監控,請參閱 這篇部落格文章.
使用 VMware HA 以及 DRS 攜手
VMware HA 以及 DRS 並非相互競爭的技術。它們是相輔相成的,您可以同時使用 VMware DRS 以及 HA 在 vSphere 叢集中,若虛擬機器因以下原因而重新啟動,可為虛擬機器提供高可用性並平衡工作負載: HA 在其他 ESXi 主機上。建議您在生產環境中運行的 vSphere 叢集中同時使用這兩種技術,以實現自動故障移轉和負載平衡。
當 ESXi 主機發生故障時, 虛擬機器故障移轉 是由……發起的 HA,而虛擬機器則會在其他主機上重新啟動。在此情況下,首要任務是確保虛擬機器可正常運作。但在虛擬機器遷移完成後,部分 ESXi 主機可能會過載,這將對運行於這些主機上的虛擬機器造成負面影響。VMware DRS 會檢查叢集內各主機的資源使用狀況,並針對故障移轉後虛擬機器(VM)的最合理配置提供建議。因此,您可以始終確保在故障移轉後,虛擬機器有足夠的資源來以適當的效能執行工作負載。透過 VMware DRS 以及 HA 啟用此功能後,您的叢集將能運作得更有效率。
結論
VMware 在 vSphere 中提供強大的叢集功能性,以滿足最嚴苛的 vSphere 客戶需求。我們由 VMware 提供支援 DRS 以及 HA 並闡述了這些聚類特點各自的工作原理與主要參數。VMware DRS 以及 HA 彼此互補,並使使用叢集的最終成效更佳。
即使您使用 VMware DRS 以及 HA,別忘了在 vSphere 中備份 VMware 虛擬機器。下載 NAKIVO Backup & Replication 免費版本適用於 VMware 備份 在您的環境中。













