2017年5月25日 星期四

HyperV建置完整流程(2) - 建置可複寫容錯的HyperV系統


在網路基礎建設做好之後,接著我們就是要對HyperV主機做設定了。

首先要規畫的就是將主機佈署於容錯移轉環境,預先考量主機掛點或因其他因素導致主機故障,無法作用時的狀況。


HyperV建置可容錯之備援架構,主要有二種方法,一種是建立高可用性(High Availability)方案,透過建立容錯移轉叢集、,將VM檔案放在一個超大的Storage,透過iSCSI等介面傳輸複寫資料與Windows Server 2012支援的叢集功能達成,在主機或VM掛掉時,可透過叢集技術即時將備援機器啟動,替代掛掉的機器,官方名稱為「叢集共用磁碟區即時移轉」

另外一種主要作為災難復原(DR)則只要使用二台主機作為DR複寫的用途,在災難發生時手動將備援機器啟動(非計劃性移轉),達成災難復原的目的,此為HyperV 3.0才開始支援的新功能,官方名稱為「無共用移轉」

前者叢集架構,要實現複寫移轉功能,需要比較大的空間與複雜的主機佈署,小弟公司的環境因種種原因無法實現,故採用後者架構較為簡單,且不需要複雜設定的方式,雖無法達到100%的HA效果,且一旦災難發生,系統無法自動移轉,需透過人工操作,但在某些企業有限的成本與資源下,仍舊不失為一個解決問題的方法。

至於機器如何佈署? 複寫如何設定? 以及架構圖等等,網路上已經很多文章,筆者在此就不獻醜了 (分明是偷懶XD),一樣可參考微軟官方說明或強者大大們的文章:

HyperV複寫移轉前置設定:
Day-14 Hyper-V 3.0實戰之-Replica(複本)設定

簡化說明就是要準備二台硬體規格相同,且支援HyperV指令的CPU主機,並且將二台主機放在同一網路,並加入AD網域,再安裝Win Server 2012的HyperV功能,開啟複寫主機的HyperV設定,將複寫主機設定為複寫用,將Windows的防火牆規則打開。接著再對要複寫的VM啟用複寫,視情況排程或即時啟動初始複寫(因初始複寫的VM資料量非常大,可能會影響內部網路效能)。

確認這些步驟都設定無誤,HyperV 3.0即時複寫 (Replica) 的前置作業大致都完成了。

HyperV複寫移轉移轉實作:
Day-15 Hyper-V 3.0實戰之-Replica 容錯移轉

這個階段開始執行複寫移轉。複寫移轉又分為三種:

  1. 測試容錯移轉
  2. 計畫性容錯移轉
  3. 非計劃性容錯移轉

移轉1是在複寫前置作業都建置完成後,想測試是否能成功移轉可測試的方式(畢竟營運VM正在運作中無法隨意測試),直接在複寫主機上選取測試性移轉就能確認主要機器是否有將資料正確完整的複寫至複寫機器上;

移轉2是指當HyperV主機需要停機維護,但Guest VMs又無法停機時,就可啟動計畫性複寫移轉,方法是將VM關機,並且啟用「計畫性的容錯移轉」,移轉成功後,複寫主機上的VM就會自行啟動了。
要注意的是,在複本主機的VM啟動後,複寫順序仍舊不會改變,原本已經停機的主要主機仍舊作為主要角色,若要變更複寫順序,需要在複本主機上設定反轉複寫方向,原本作為複寫的主機就會變成主要的,主要的變成複寫的,角色顛倒。

若之後要再將主機角色對換,則再執行一次計畫性複寫與反轉程序即可。

移轉3是指當主要Host主機掛掉或VM損毀,無法啟動VM,這時就要強制複寫主機上的VM複本啟動,即時接管原本掛掉的VM,減少停機損失時間。

若以上三階段的複寫移轉都能清楚執行順序,那麼虛擬化+DR即時備援的工程就已經完成3/2了! 可喜可賀!

要注意的是,設定複寫移轉功能需要透過Windows Active Directory 授權或是自帶憑證,因本人嫌使用憑證麻煩,日後若要建置多組DR,故架設AD,處理主機之間的複寫功能。
也因此要注意,在啟動移轉時(不論測試或計劃移轉) ,要確定你登入的是AD網域帳號,而非本機帳號,筆者就曾發生因登入的非AD帳號,無法透過AD授權複寫,總是出現失敗情形,後來想想覺得蠻愚蠢的XD

以上,特別感謝阿榮背影大大的詳盡圖文教學。