引言:企業中有多臺Hyper-v主機,每臺Hyper-v主機上跑著多個虛擬機,那么如果有一臺Hyper-v主機出現物理故障宕機后將導致所有虛擬機停止對外提供服務,或者有一臺虛擬突然出現宕機,如何快速恢復正常對外提供服務,怎么解決這個問題呢?
企業中有多臺Hyper-v主機每臺Hyper-v主機上跑著多個虛擬機,那么如果有一臺Hyper-v主機出現物理故障宕機后將導致所有虛擬機停止對外提供服務,或者有一臺虛擬突然出現宕機,怎么快速恢復正常對外提供服務,怎么解決這個問題呢?可以使用Windows Server 2012或者2012R2的Hyper-v的新功能Hyper-v復制來實現虛擬機的副本,這樣當一臺Hyper-v主機或者虛機出現故障后,另外一臺Hyper-v主機上因為有這些重要虛擬機的副本,那么我們啟用副本就可以來實現對外的繼續提供服務。這里給出了如何使用Hyper-v復制的這個功能實現災備。

圖1 測試拓撲圖

圖3 啟動復制
1.需要兩臺使用Hyper-V角色運行 Windows Server 2012或Windows Server 2012 R2的服務器用 于Hyper-v的 復 制(這里主服務器命名 hyper-v,副本服務器命名hvback)要加入域中。2.服務器的地理位置,服務器可以在物理上位于同一個位置,也可以位于完全不同的地理位置,主服務器和副本服務器會在同一個防火墻后面應該將防火墻配置為允許復制數據通過。
3.主服務器和副本服務器在物理上共置而且位于同一防火墻后面,則可以使用內置Kerberos身份驗證。測試拓撲如圖1所示。
下面我們開始逐步講解步驟:
1.在Hyper-V管 理器中,單擊“操作”窗格中的“Hyper-V 設 置”, 在“Hyper-V設置”對話框中,單擊“復制配置”。在“詳細信息”窗格中,選擇“將計算機啟用為副本服務器”。并選擇“使用Kerberos (HTTP)”端口保持80默認,在“授權和存儲”選項下,選擇“允許從任何經過身份驗證的服務器重進行服務”,并指定副本的默認存儲位置,可參考圖2設置。
2.設置后向導會提示防火墻設置的相關警告,我們只需要進入防火墻設置允許Hyper-V副本HTTP通過。
到此副本服務器就配置好了,但是如果公司也配置了故障轉移群集,副本服務器也是其中一部分,就需要考慮到故障轉移群集了。
3.在服務器管理器中,打開“故障轉移群集管理器”。
4.在左側窗格中連接至群集,并在群集名稱突出顯示之后,在“詳細信息”窗格的“導航”類別中單擊“角色”。
5.右鍵單擊該角色,然后選擇“復制設置”。
6.在“詳細信息”窗格中,選擇“將此群集啟用為副本服務器”。

圖4 選擇通過網絡復制

圖5 正在發送數據

圖6 正在接收數據

圖7 主副服務器的信息
7.在“身份驗證和端口”部分中,選擇你在步驟一:準備部署 Hyper-V副本中確定的身份驗證方法。對于任一身份驗證方法,指定要使用的端口(針對通過HTTP的 Kerberos,默認端口為80;針對通過HTTPS的基于證書的身份驗證,默認端口為 443)。
8.如果你使用的是基于證書的身份驗證,請單擊“選擇證書”并提供請求證書信息。
9.在“授權和存儲”部分中,使用單選按鈕指定是允許任何經過身份驗證的(主)服務器將復制數據發送到此副本服務器,還是限制從特定主服務器接受數據。你可以使用通配符來限制從特定域接受服務器,而無需單獨指定全部服務器(例如*.contoso.com)。如果指定單個主服務器,則可以為每個服務器的副本數據指定單獨存儲位置,也可以使用“信任組”標記對其進行分組。
1.在主服務器Hyper-V管理器的“詳細信息”窗格中,通過單擊選中虛擬機,右鍵單擊選定的虛擬機,然后指向“啟用復制”。這將打開“啟用復制”向導。在“指定副本服務器”頁面的“副本服務器”框中,輸入你在前面中配置的副本服務器的NetBIOS或完全限定的國際域名 (FQIDN),然后選擇啟動復制,如圖3所示。
2.指定的副本服務器,填寫服務器名稱,點擊“下一步”。
3.因為之前選擇的是僅允許使用Kerberos身份驗證(HTTP),如果網絡帶寬比較緊張,建議勾選“壓縮通過網絡傳輸的數據”,繼續“下一步”。
4.選擇復制VHD,選擇要復制的VHD,也可以單獨將虛機的VHD文件拷貝到副本服務器上,這個根據實際情況而定,對于附加的VHD磁盤或者,備份用的VHD可以不用勾選就不會復制到副本服務器上。
5.根據需要配置復制頻率,這里我選擇的是默認為每5分鐘將更改發送到副本服務器。
6.可以根據自己的實際情況去進行選擇,在容災級別不高,可以“僅保留最新恢復點”。
7.“選擇初始復制方法”下,可以結合場景并根據實際情況進行選擇。如果當前場景是局域網環境,并且此時網絡帶寬并不擁擠,那么可使用默認的“通過網絡發送初始副本”作為初始復制方法,并“立即啟動復制”。或者設置啟動復制時間,包括初始復制方法,就是前面說的VHD文件,也可以根據實際情況在這里通過網絡復制,或者選擇介質復制的方式,在這里我選擇的是網絡發送并且立即發送,發送的時間也是蠻快的,如圖4。

圖8 副本服務器的設置

圖9 選擇要使用的恢復點

圖10 選擇要使用的恢復點

圖11 服務器宕機
8.點擊完成向導,就可以看到在發送數據了。
9.主服務器是正在發送初始副本,副本服務器顯示正在接收,如圖5、圖6所示。
10.發送接收完成之后,可以看到副本服務器上了多了虛機,是關機的,兩臺不能同時開啟,因為信息都是一樣的,包括角色,IP地址等,同時也可以看到主服務器和副本服務器的信息,以及上傳同步的時間等,如圖7所示。
11.當然了,根據實際情況如果有需求也是可以副本服務器中的反向復制也是可以將副本服務器變成主服務器。
Hyper-V副本通常將在主虛擬機上發生的更改發送到副本虛擬機,但在故障轉移后,它可反向發送數據。通過執行此操作,當你將操作從當前的主服務器故障轉移到副本服務器時,一旦主服務器重新聯機可用,即可將復制方向從副本服務器更改回主服務器。通過此方式,可以為目前用于處理虛擬機負載的副本服務器提供復制保護。若要執行此操作,只需使用用于副本服務器的Hyper-v上的相同設置即可,如圖8所示。
為了確保復制的虛擬機(和其中運行的應用程序)在副本服務器上如同在主服務器上一樣正常運行,你可以隨時執行測試故障轉移。當你執行測試故障轉移時,副本服務器上會創建一個臨時的虛擬機。你可以在不中斷進行中的復制的同時在測試虛擬機上測試任何應用程序。當你結束測試時,臨時虛擬機將會刪除。請注意:
1)在故障轉移后,測試虛擬機不會連接到任何網絡。如果你必須執行需要網絡的測試,則用修改任何普通虛擬機設置的同樣方式修改測試虛擬機的設置。
2)若要成功執行測試故障轉移,你必須針對至少一個虛擬機啟用了復制,并通過任何可用方法完成初始復制。若要使用最新恢復點以外的恢復點驗證故障轉移,復制必須運行足夠長的時間,以便創建至少一個額外的恢復點。
1.訪問副本服務器,然后在Hyper-V管理器中,右鍵單擊要為其測試故障轉移的虛擬機,指向“復制…”,然后指向“測試故障轉移”。
2.選擇要使用的恢復點。這將創建和啟動名稱 為“
3.然后可以在測試虛擬機上進行測試。可以驗證虛擬機的啟動、暫停和停止,以及虛擬機中的任何應用程序是否正常運行。在結束了測試之后,通過選擇“復制”選項下的“停止測試故障轉移”放棄測試虛擬機。如果要刪除同步復制的狀態,在復制下面點擊刪除復制即可,如圖10所示。
分為三種:
1.計劃內故障轉移,顧名思義也就是按照預先確定的計劃來進行故障轉移。該方式需要滿足兩個前提條件:在初始故障轉移前,虛擬機必須關閉;主服務器必須也啟用復制功能,并允許接收來自副本服務器的復制,注意要先關機才能執行故障轉移。這樣的話,就成功的進行了轉移,可以看到在副本服務器上,轉移的虛機正常運行,沒有文件丟失。
2.測試故障轉移,在副本服務器上進行操作,允許在不中斷當前持續的復制配置下,生成并啟動一個新的用于測試用途的虛擬機
3.計劃外故障轉移,主服務器意外宕機時,我們便可以在副本服務器上執行“故障轉移”,將該虛機啟動上線。
如圖11,主服務器宕機,虛機管理服務也不可用,這時是屬于計劃外的故障轉移,在副本服務器上,右鍵宕機的虛機”復制“,故障轉移。點擊故障轉移會出現一個選擇使用的恢復點,點擊確認,宕機的虛機就可以正常使用了。然后,出現意外的虛機就可以正常運行了。
通過Windows Server 2012/2012 R2下的Hyperv復制的功能我們可以實現Hyper-v主服務器的整體災備,同時也是定期的復制,如果發生問題,可快速在副本服務器上啟動服務,復制的虛機角色和IP地址都不會發生變化。可以正常運行,同時也測試了故障轉移的情況,可以實現需求!