群組自動化VM管理 WS2016出新招

當VM虛擬主機的規模越來越大時,如何輕鬆管理就變得非常重要了。其實只要利用Windows Server 2016內建的VM Group和VM Start Order兩項機制,就可讓工作類型相同的VM虛擬主機群能夠執行相同的管理動作,藉此大幅降低了IT人員的管理負擔。

在此實作環境中,目前VM1、VM2和VM3這三台VM虛擬主機,運作在名稱為HV1的Hyper-V主機上(FQDN為HV1.weithenn.org),稍後將透過PowerShell組態設定VM1、VM2及VM3這三台VM虛擬主機,複寫至名稱為「HV2.weithenn.org」的Hyper-V主機。

整個VM Groups啟用複寫作業只要執行兩行指令即可完成,首先使用Enable-VMReplication指令告訴Hyper-V主機要將VM虛擬主機複寫到哪台目的端Hyper-V主機,同時透過-VM參數指定哪些VM虛擬主機要啟用Hyper-V Replica複寫機制,此時便可以使用剛才VM1、VM2、VM3所加入的「TestVMG1」VM Collections。在執行指令後,便會在Hyper-V管理員操作介面中的「工作狀態」欄位內,看到VM1、VM2與VM3虛擬主機顯示「啟用複寫 - 成功」的訊息,如圖13所示。


▲ 圖13 整合VM Collections管理機制一次針對多台VM虛擬主機啟用複寫機制。

接著,執行Start-VMInitialReplication指令,告訴Hyper-V主機哪些VM虛擬主機要開始進行複寫初始化的動作,也就是開始將VM1、VM2、VM3這三台VM虛擬主機,透過Hyper-V Replica複寫技術傳送至目的端Hyper-V主機。同樣地,在指定VM虛擬主機時使用剛才VM1、VM2與VM3所加入的「TestVMG1」VM Collections即可。

認識VM Start Order運作機制

在過去舊版的Hyper-V虛擬化平台運作環境中,雖然可以在容錯移轉叢集內針對指定的VM虛擬主機指定優先順序,以便在執行Live Migration即時遷移大量VM虛擬主機時,能夠讓高優先順序的VM虛擬主機優先進行即時遷移的動作,或者在執行Quick Migration快速遷移時,讓高優先順序的VM虛擬主機優先遷移至目的端Hyper-V主機。

但是,這可能還是無法滿足企業和組織多變的環境需求,舉例來說,當Hyper-V虛擬化環境中部分叢集節點主機發生災難事件時,此時將會透過Quick Migration快速遷移機制,將VM虛擬主機快速遷移至容錯移轉叢集中其他存活的叢集節點主機,然而因為災難事件導致必須遷移數量眾多的VM虛擬主機,因此VM虛擬主機遷移及啟動的順序便無法完全掌握,但有些VM虛擬主機上所運作的服務有相依性或先後順序之分,例如應該先啟動擔任Active Directory服務VM虛擬主機,再啟動其他VM虛擬主機,或是應該先啟動擔任資料庫角色的VM虛擬主機後,再啟動擔任前端網頁伺服器角色的VM虛擬主機。

因此,在過往的Hyper-V虛擬化環境內倘若發生這樣的管理需求時,往往需要管理人員介入處理才行,例如VM虛擬主機服務如果有相依性問題而無法順利存取時,則重新啟動相關服務或重新啟動VM虛擬主機。

現在,透過Windows Server 2016容錯移轉叢集中「VM Start Order」新的特色功能,便能夠有效解決過往VM虛擬主機相依性或先後順序啟動的問題,如圖14所示。

舉例來做說明,透過VM Start Order特色功能,可以組態設定擔任資料庫角色的VM虛擬主機,一定要優先於擔任前端網頁伺服器角色的VM虛擬主機啟動,同時必須在擔任資料庫角色的VM虛擬主機啟動後間隔一段時間(例如5分鐘),前端網頁伺服器角色的VM虛擬主機才會接著啟動。


▲ 圖14 VM Start Order運作機制示意圖。(圖片來源:Windows Server Blog - What’s new in failover clustering)

此外,除了設定VM虛擬主機啟動順序及相依性外,在啟動順序的部分還可以指定「低、中、高」不同的優先順序。下列便是適合採用此機制的一些應用情境:

‧ 多層式應用程式架構:啟動順序為「Database VMs > Middle-Tier VMs > Front-End VMs」。

‧ CPS整合式系統:啟動順序為「Infrastructure VMs(例如Active Directory) > Application VMs(例如SQL) > Front-End VMs」。

‧ 超融合式容錯移轉叢集:啟動順序為「Utility VMs > Management VMs > Tenant VMs」。

‧ 融合式容錯移轉叢集:啟動順序為「Active Directory VM > Hosting VMs」。

實戰VM Start Order機制

在開始實作VM Start Order機制之前,為了讓大家能夠更了解整個組態設定的原則,以便VM虛擬主機能夠依照所想的優先順序進行啟動。在VM Start Order運作機制的組態設定上,如圖15所示共區分為Set、Group、Resource等三個層級,讓管理人員能夠更加彈性地調整VM虛擬主機啟動的優先順序。


▲ 圖15 VM Start Order運作機制三個層級架構示意圖。(圖片來源:Clustering and High-Availability Blog - Failover Clustering Sets for Start Ordering)

在本文實作環境中,容錯移轉叢集內共有三台VM虛擬主機,分別是Database、App01、App02,如圖16所示。那麼開始實作VM Start Order機制,組態設定Database這台VM虛擬主機開機後經過20秒,接著系統才會自動啟動App01、App02這兩台VM虛擬主機。


▲ 圖16 目前容錯移轉叢集內共有三台VM虛擬主機。

請開啟PowerShell指令視窗,首先以New-CimSession指令與容錯移轉叢集建立連線,接著透過New-ClusterGroupSet指令,建立兩個名稱為DB-VMs及App-VMs類型的Set層級。接著到圖17來了解一下目前已知欄位的意義為何:


▲ 圖17 建立兩個名稱為DB-VMs及App-VMs類型的Set層級。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!