VMware vSphere叢集的負載平衡

洪朝欽 C.C Hung

  • 精誠資訊/恆逸教育訓練中心-資深講師
  • 技術分類:虛擬化應用

 

 

VMware vSphere是企業伺服器虛擬化解決方案中相當傑出的產品,最主要的兩個元件是安裝在實體主機上的虛擬化平台ESXi,以及管理監控整個vSphere環境的vCenter Server。透過vCenter Server的設定,vSphere可以將一群ESXi主機組成叢集,當實體主機故障或計劃中停機時,虛擬機器可以透過各種保護機制,自動切換到其他實體主機運行,達到高可用及資源共享的目的。


從vSphere 6.0版以後,單一叢集裡面的ESXi主機數量最多可以到64台,而叢集裡的虛擬機器數量更可以高達8000台!為了確保這麼多的虛擬機器都有足夠的效能,並且盡量發揮ESXi主機的運算資源,vSphere Cluster提供了一個很強大的功能稱為Distributed Resource Scheduler (DRS),意即分散式資源排程。原本受到vCenter Server管理的ESXi主機就會持續地將虛擬機器和實體主機的資源使用狀況傳送給vCenter Server,而vCenter Server會將這些統計數據保存在資料庫。DRS即根據這些統計數據,評估ESXi主機的CPU/RAM/Network這三類資源的使用量,從而決定各個虛擬機器最適合的主機,並在兩種情況下做出搬遷虛擬機器的判斷:一、正要啟動的虛擬機器;二、已經運行中的虛擬機器。


當從關機狀態下啟動虛擬機器時,如果原本虛擬機器所屬的ESXi主機負載已經偏高,DRS可以透過Cold Migration的技術將虛擬機器搬遷到其他比較合適的ESXi主機,然後才將虛擬機器啟動。如果虛擬機器已經在運行中,DRS也可以透過vMotion的技術在不停機的狀態下,將虛擬機器搬遷到其他比較合適的ESXi主機。


要透過Cold Migration和vMotion來自動搬遷虛擬機器,vSphere必須符合以下條件:

  1. 虛擬機器必須放在共用的儲存設備上,例如SAN/NAS/vSAN/vVOL等。
  2. ESXi主機之間需有啟用vMotion功能的VMkernel Port。
  3. 參與虛擬機器搬遷的ESXi主機CPU必須相容,這部分也可以透過啟用叢集的Enhanced vMotion Compatibility (EVC)功能來確保。

假使客戶對虛擬機器完全自動化的搬遷還不太有信心,DRS也提供了三種選擇: 手動(Manual)、半自動(Partially Automated)、全自動(Fully Automated)。在手動的情況下,DRS只會提出搬遷的建議,供客戶參考,不會執行動作。在半自動的情況下,DRS對正要啟動的虛擬機器會直接搬遷,但對於已經運行中的虛擬機器則只會提出建議,客戶可自行決定是否搬遷。而在全自動的情況下,DRS只要判斷虛擬機器需要搬遷,就會直接執行,客戶可以完全不需要介入。


此外,決定虛擬機器是否要搬遷的閾值(Threshold)也有五個等級可選,比較保守的客戶可以從等級1開始,而追求更高效能與平衡的客戶則可以考慮等級5。啟動DRS的方式相當簡單,只要在叢集的設定頁面裡勾選DRS這個選項,預設值就是全自動了,不過要使用DRS,vSphere的License至少要有Enterprise喔!