單位有多臺Hyper-V主機(jī),每臺Hyper-V主機(jī)上運(yùn)行著多個虛擬機(jī),那么如果有一臺Hyper-V主機(jī)出現(xiàn)物理故障宕機(jī)后,將導(dǎo)致所有虛擬機(jī)停止對外提供服務(wù),或者有一臺虛擬機(jī)突然出現(xiàn)宕機(jī),怎樣快速恢復(fù)正常對外提供服務(wù)呢?我們可以使用Windows Server 2012或者2012 R2的Hype-V新功能Hyper-V復(fù)制來實(shí)現(xiàn)虛擬機(jī)的副本,這樣當(dāng)一臺Hyper-V主機(jī)或者虛機(jī)出現(xiàn)故障后,另外一臺Hyper-V主機(jī)上因?yàn)橛羞@些重要虛擬機(jī)的副本,我們啟用副本就可以對外繼續(xù)提供服務(wù)。這里給出了如何使用Hyper-V復(fù)制這個功能實(shí)現(xiàn)災(zāi)備。
1.兩臺使用 Hyper-V角色運(yùn)行 Windows Server 2012或Windows Server 2012 R2的服務(wù)器用于Hyper-V的復(fù)制(這里主服務(wù)器命名hype-v,副本服務(wù)器命名hvback)要加入域中。
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖2 HYPE-V的Hyper-V設(shè)置
2.服務(wù)器的地理位置,可以在物理上位于同一個位置,也可以位于完全不同的地理位置,主服務(wù)器和副本服務(wù)器在同一個防火墻后面,應(yīng)該將防火墻配置為允許復(fù)制數(shù)據(jù)通過。
3.主服務(wù)器和副本服務(wù)器在物理上共置而且位于同一防火墻后面,則可以使用內(nèi)置Kerberos身份驗(yàn)證。
測試拓?fù)浣Y(jié)構(gòu)如圖1所示。
步驟:配置副本服務(wù)器→啟用復(fù)制→配置主服務(wù)器→測試部署→故障轉(zhuǎn)移→總結(jié)。
1.在 Hyper-V管理器中,單擊“操作”窗格中的“Hyper-V設(shè)置”,在出現(xiàn)的對話框中,單擊“復(fù)制配置”。在“詳細(xì)信息”窗格中,選擇“將計算機(jī)啟用為副本服務(wù)器”,并選擇“使用 Kerberos(HTTP)”端口保持80默認(rèn),在“授權(quán)和存儲”選項(xiàng)下,選擇“允許從任何經(jīng)過身份驗(yàn)證的服務(wù)器中進(jìn)行服務(wù)”,并指定副本的默認(rèn)存儲位置。可參考圖2進(jìn)行設(shè)置。
2.設(shè)置后向?qū)崾痉阑饓υO(shè)置的相關(guān)警告,我們只需進(jìn)入防火墻設(shè)置允許Hyper-V副本HTTP通過。
到此,副本服務(wù)器就配置好了,但是如果公司也配置了故障轉(zhuǎn)移群集,副本服務(wù)器也是其中一部分,就需要考慮到故障轉(zhuǎn)移群集了。接下來配置作為故障轉(zhuǎn)移群集部分的副本服務(wù)器。
3.在服務(wù)器管理器中,打開“故障轉(zhuǎn)移群集管理器”。
4.在左側(cè)窗格中連接至群集,并在群集名稱突出顯示之后,在“詳細(xì)信息”窗格的“導(dǎo)航”類別中單擊“角色”
5.右鍵單擊該角色,然后選擇“復(fù)制設(shè)置”。
6.在“詳細(xì)信息”窗格中,選擇“將此群集啟用為副本服務(wù)器”。
7.在“身份驗(yàn)證和端口”部分中,選擇我們在步驟 1:準(zhǔn)備部署Hyper-V副本中確定的身份驗(yàn)證方法。對于任一身份驗(yàn)證方法,指定要使用的端口(針對通過HTTP的Kerberos,默認(rèn)端口為80。針對通過HTTPS的基于證書的身份驗(yàn)證,默認(rèn)端口為443)。
8.如果您使用的是基于證書的身份驗(yàn)證,請單擊“選擇證書”,并提供請求證書信息。
圖3 填寫服務(wù)器名
9.在“授權(quán)和存儲”部分中,使用單選按鈕指定是允許任何經(jīng)過身份驗(yàn)證的(主)服務(wù)器將復(fù)制數(shù)據(jù)發(fā)送到此副本服務(wù)器,還是限制從特定主服務(wù)器接受數(shù)據(jù)。你可以使用通配符來限制從特定域接受服務(wù)器,而無需單獨(dú)指定全部服務(wù)器(例如 *.contoso.com)。如果指定單個主服務(wù)器,則可以為每個服務(wù)器的副本數(shù)據(jù)指定單獨(dú)存儲位置,也可以使用“信任組”標(biāo)記對其進(jìn)行分組。
1.在主服務(wù)器Hyper-V管理器的“詳細(xì)信息”窗格中,通過單擊選中虛擬機(jī),右鍵單擊選定的虛擬機(jī),然后指向“啟用復(fù)制”。這將打開“啟用復(fù)制”向?qū)АT凇爸付ǜ北痉?wù)器”頁面的“副本服務(wù)器”框中,輸入前面步驟中配置的副本服務(wù)器的NetBIOS或完全限定的國際域名(FQIDN)。開機(jī)下可以運(yùn)行復(fù)制
2.指定的副本服務(wù)器,填寫服務(wù)器名稱(如圖3)。
3.因?yàn)橹斑x擇的是僅允許使用Kerberos身份驗(yàn)證(HTTP),如果網(wǎng)絡(luò)帶寬比較緊張,建議勾選“壓縮通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)”。
4.選擇復(fù)制VHD,選擇要復(fù)制的VHD,也可以單獨(dú)將虛機(jī)的VHD文件拷貝到副本服務(wù)器上,這個根據(jù)實(shí)際情況而定。對于附加的VHD磁盤或者,備份用的VHD可以不用勾選就不會復(fù)制到副本服務(wù)器上。
5.根據(jù)需要配置復(fù)制頻率,這里筆者選擇的是默認(rèn)為每5分鐘將更改發(fā)送到副本服務(wù)器。
6.根據(jù)自己的實(shí)際情況配置恢復(fù)點(diǎn),在容災(zāi)級別不高,可以“僅保留最新恢復(fù)點(diǎn)”。
7.“選擇初始復(fù)制方法”下,可以結(jié)合場景并根據(jù)實(shí)際情況進(jìn)行選擇。如果當(dāng)前場景是局域網(wǎng)環(huán)境,并且此時網(wǎng)絡(luò)帶寬并不擁擠,那么可使用默認(rèn)的“通過網(wǎng)絡(luò)發(fā)送初始副本”作為初始復(fù)制方法,并“立即啟動復(fù)制”。或者設(shè)置啟動復(fù)制時間,包括初始復(fù)制方法,就是前面說的VHD文件。也可以根據(jù)實(shí)際情況在這里通過網(wǎng)絡(luò)復(fù)制,或者選擇介質(zhì)復(fù)制的方式,在這里我選擇的是網(wǎng)絡(luò)發(fā)送并且立即發(fā)送,發(fā)送的時間也是蠻快的。
8.點(diǎn)擊完成向?qū)?,就可以看到在發(fā)送數(shù)據(jù)了,主服務(wù)器是正在發(fā)送初始副本,副本服務(wù)器顯示正在接收。
9.發(fā)送接收完成之后,可以看到副本服務(wù)器上多了虛擬機(jī),是關(guān)機(jī)的,兩臺不能同時開啟,因?yàn)樾畔⒍际且粯拥?,包括角色、IP地址等。同時,也可以看到主服務(wù)器和副本服務(wù)器的信息,以及上傳同步的時間等。
10.如果有需求,副本服務(wù)器中的反向復(fù)制也可以將副本服務(wù)器變成主服務(wù)器。
Hyper-V副本通常將在主虛擬機(jī)上發(fā)生的更改發(fā)送到副本虛擬機(jī),但在故障轉(zhuǎn)移后,它可反向發(fā)送數(shù)據(jù)。通過執(zhí)行此操作,當(dāng)你將操作從當(dāng)前的主服務(wù)器故障轉(zhuǎn)移到副本服務(wù)器時,一旦主服務(wù)器重新聯(lián)機(jī)可用,即可將復(fù)制方向從副本服務(wù)器更改回主服務(wù)器。通過此方式,可以為目前用于處理虛擬機(jī)負(fù)載的副本服務(wù)器提供復(fù)制保護(hù)。
若要執(zhí)行此操作,只需使用用于副本服務(wù)器的Hype-V上的相同設(shè)置即可。
為了確保復(fù)制的虛擬機(jī)(和其中運(yùn)行的應(yīng)用程序)在副本服務(wù)器上如同在主服務(wù)器上一樣正常運(yùn)行,我們可以隨時執(zhí)行測試故障轉(zhuǎn)移。當(dāng)執(zhí)行測試故障轉(zhuǎn)移時,副本服務(wù)器上會創(chuàng)建一個臨時的虛擬機(jī),在不中斷進(jìn)行中的復(fù)制的同時,在測試虛擬機(jī)上測試任何應(yīng)用程序。當(dāng)結(jié)束測試時,臨時虛擬機(jī)將會刪除。請注意:
1.在故障轉(zhuǎn)移后,測試虛擬機(jī)不會連接到任何網(wǎng)絡(luò)。如果必須執(zhí)行需要網(wǎng)絡(luò)的測試,則用修改任何普通虛擬機(jī)設(shè)置的方式修改測試虛擬機(jī)的設(shè)置。
2.若要成功執(zhí)行測試故障轉(zhuǎn)移,必須針對至少一個虛擬機(jī)啟用了復(fù)制,并通過任何可用方法完成初始復(fù)制。若要使用最新恢復(fù)點(diǎn)以外的恢復(fù)點(diǎn)驗(yàn)證故障轉(zhuǎn)移,復(fù)制必須運(yùn)行足夠長的時間,以便創(chuàng)建至少一個額外的恢復(fù)點(diǎn)。
(1)訪問副本服務(wù)器,然后在Hyper-V管理器中,右鍵單擊要為其測試故障轉(zhuǎn)移的虛擬機(jī),指向“復(fù)制…”,然后指向“測試故障轉(zhuǎn)移”。
(2)選擇要使用的恢復(fù)點(diǎn),這將創(chuàng)建和啟動名稱為“
(3)可以在測試虛擬機(jī)上進(jìn)行測試,可以驗(yàn)證虛擬機(jī)的啟動、暫停和停止,以及虛擬機(jī)中的任何應(yīng)用程序是否正常運(yùn)行。
在結(jié)束測試之后,通過選擇“復(fù)制”選項(xiàng)下的“停止測試故障轉(zhuǎn)移”放棄測試虛擬機(jī)。如果要刪除同步復(fù)制的狀態(tài),在復(fù)制下面點(diǎn)擊刪除復(fù)制即可。
測試故障轉(zhuǎn)移分為三種:
1.計劃內(nèi)故障轉(zhuǎn)移,顧名思義也就是按照預(yù)先確定的計劃來進(jìn)行故障轉(zhuǎn)移。該方式需要滿足兩個前提條件:在初始故障轉(zhuǎn)移前,虛擬機(jī)必須關(guān)閉;主服務(wù)器必須也啟用復(fù)制功能,并允許接收來自副本服務(wù)器的復(fù)制。
注意,要先關(guān)機(jī)才能執(zhí)行故障轉(zhuǎn)移。
成功轉(zhuǎn)移后,可以看到在副本服務(wù)器上,轉(zhuǎn)移的虛機(jī)正常運(yùn)行,沒有文件丟失。
2.測試故障轉(zhuǎn)移,在副本服務(wù)器上進(jìn)行操作,允許在不中斷當(dāng)前持續(xù)的復(fù)制配置下,生成并啟動一個新的用于測試用途的虛擬機(jī)。
3.計劃外故障轉(zhuǎn)移,主服務(wù)器意外宕機(jī)時,我們可以在副本服務(wù)器上執(zhí)行“故障轉(zhuǎn)移”,將該虛機(jī)啟動上線。
如圖4所示,主服務(wù)器宕機(jī),虛機(jī)管理服務(wù)也不可用,這時是屬于計劃外的故障轉(zhuǎn)移。在副本服務(wù)器上,右鍵點(diǎn)擊宕機(jī)的虛擬機(jī),選擇“復(fù)制→故障轉(zhuǎn)移”,點(diǎn)擊故障轉(zhuǎn)移會出現(xiàn)一個選擇使用的恢復(fù)點(diǎn),點(diǎn)擊“確認(rèn)”,宕機(jī)的虛機(jī)就可以正常使用了。出現(xiàn)意外的虛機(jī)正常運(yùn)行。
圖4 選擇“復(fù)制→故障轉(zhuǎn)移”
通過Windows Server 2012/2012 R2下的Hyper-V復(fù)制功能,我們可以實(shí)現(xiàn)主服務(wù)器的整體災(zāi)備,同時也可定期復(fù)制,如果發(fā)生問題,快速在副本服務(wù)器上啟動服務(wù),復(fù)制的虛擬機(jī)角色和IP地址都不會發(fā)生變化。同時,也測試了故障轉(zhuǎn)移的情況,可以實(shí)現(xiàn)需求。