Hyper-V Replica再同步過程詳解
譯文Hyper-V Replica再同步這個(gè)話題引起人們的關(guān)注時(shí),你可能會(huì)問的頭一個(gè)問題是:為什么需要再同步參與Hyper-V Replica的虛擬機(jī)?何時(shí)需要再同步?如果 Hyper-V主服務(wù)器認(rèn)識到,虛擬機(jī)的復(fù)制并非***,或者它不知道該復(fù)制什么,那么就需要進(jìn)行再同步操作了。
如果虛擬機(jī)處于危急狀態(tài),或者如果主服務(wù)器對受到跟蹤的變更失去了控制,因而無法確定復(fù)制的起始點(diǎn),這時(shí)候其實(shí)需要再同步。在這種情況下,主服務(wù)器就需要從頭開始,這包括刪除恢復(fù)歷史內(nèi)容(HRL文件),為將要復(fù)制的VHD文件創(chuàng)建一個(gè)基準(zhǔn)。
符合下列情形時(shí),就需要再同步:
• 你在使用Hyper-V管理器可供使用的方法之外的任何方法,改動(dòng)VHD文件。換句話說,Hyper-V復(fù)制引擎必須認(rèn)識到Hyper-v復(fù)制引擎中所包含的VHD文件出現(xiàn)的任何變更,那樣可以將變更內(nèi)容記錄在HRL文件中。
• HRL(Hyper-V復(fù)制日志)的累積超過50%。
• 寫入到HRL文件出現(xiàn)了問題。
• HRL文件無法順利關(guān)閉。
在上述任何情況下,如果需要對虛擬機(jī)進(jìn)行再同步,"復(fù)制健康狀況"方面就會(huì)出現(xiàn)一個(gè)出錯(cuò)信息。出錯(cuò)信息顯示為:"某虛擬機(jī)<虛擬機(jī)名稱>需要進(jìn)行再同步?;謴?fù)復(fù)制,以便開始再同步。"要是顯示了該信息,就必須借助副本虛擬機(jī)(Replica Virtual Machine),對該虛擬機(jī)進(jìn)行再同步。
請注意:在你開始再同步之前,必須首先解決主服務(wù)器和復(fù)制服務(wù)器之間的任何連接問題。
再同步虛擬機(jī)的內(nèi)容有兩種方式:(1)通過恢復(fù)Hyper-V管理器中主虛擬機(jī)上的復(fù)制內(nèi)容,或者(2)通過使用PowerShell cmdlet小命令。
從Hyper-V管理器,你可以鼠標(biāo)右擊Virtual Machine(虛擬機(jī))> Replication(復(fù)制)>,然后選擇"Resume Replication"(恢復(fù)復(fù)制)選項(xiàng),即可恢復(fù)復(fù)制,或者開始再同步過程。
想通過PowerShell開始再同步操作,就要使用Resume-VMReplication cmdlet,如下所示:
- Resume-VMReplication -VMName "MyVM" -Resynchronize -ResynchronizeStartTime "02/11/2014 12:00:00"
即便不需要再同步,或者如果Hyper-V副本還沒有讓虛擬機(jī)進(jìn)入"需再同步"(Resynchronization Required)狀態(tài),你還可以手動(dòng)開始再同步過程,但是除非絕對有這個(gè)必要,否則我們建議避免這么做。
只有你認(rèn)為虛擬機(jī)的內(nèi)容沒有完全同步,需要再同步來糾正這個(gè)問題,才繼續(xù)進(jìn)行手動(dòng)再同步。在手動(dòng)觸發(fā)的再同步過程中,虛擬機(jī)首先被暫停,然后開啟再同步操作。
• Suspend-VMReplication -VMName "MyVM"
• Resume-VMReplication -VMName "MyVM" -Resynchronize
你可以使用Hyper-V管理器,針對每個(gè)虛擬機(jī)安排再同步操作。鼠標(biāo)右擊參與Hyper-V Replica的虛擬機(jī),然后選擇"Settings"(設(shè)置)。在左側(cè)面板中,選擇"Resynchronization"(再同步)選項(xiàng),然后在右側(cè)面板中,根據(jù)需要來修改設(shè)置,如下面這個(gè)屏幕截圖所示:
可以從該屏幕截圖中看到,你可以為再同步配置三個(gè)設(shè)置:(1)手動(dòng)、(2)自動(dòng)以及(3)按指定的時(shí)間間隔。建議配置及使用第3個(gè)選項(xiàng)("只在下列時(shí)間段自動(dòng)開始再同步"),然后更改再同步,以便只在非高峰時(shí)間段進(jìn)行。
你還可以使用Set-VMReplication和Get-VMReplication這兩個(gè)PowerShell cmdlet小命令,配置及查看再同步設(shè)置,如下面命令所示:
禁用自動(dòng)再同步的命令:
• Set-VMReplication -VMName "MyVM" -AutoResynchronizeEnabled 0
啟用自動(dòng)再同步的命令:
• Set-VMReplication -VMName "RESYNC VM" -AutoResynchronizeEnabled 1 -AutoResynchronizeIntervalStart 00:00:00 -AutoResynchronizeIntervalEnd 23:59:59
想檢查再同步設(shè)置,可使用Get-VMReplication PowerShell cmdlet小命令,如下所示:
• Get-VMReplication -VMName "MyVM" | ft * -auto
想檢查參與Hyper-V Replica的所有虛擬機(jī)的設(shè)置,使用該命令:
• Get-VMReplication * | ft * -auto
在Get-VMReplication輸出結(jié)果中,尋找AutoResynchronizeEnabled、AutoResynchronizeIntervalStart和AutoResynchronizeIntervalEnd這幾列及對應(yīng)的值。
再同步過程是如何進(jìn)行的?
再同步過程經(jīng)歷下面這幾個(gè)步驟:
1. 再同步事件發(fā)生,人工發(fā)生或自動(dòng)發(fā)生。
2. 主虛擬機(jī)和副本虛擬機(jī)的VHD尺寸受到檢查。
3. 在再同步進(jìn)行的過程中,主服務(wù)器開始跟蹤VHD方面的變化。
4. 寫入操作在HRL文件中受到跟蹤,一旦再同步過程已完成,才加以復(fù)制。
5. 事件編號29242記入日志,這記錄了虛擬機(jī)名稱、VHD文件、VHD文件的起始數(shù)據(jù)塊和結(jié)束數(shù)據(jù)塊。
6. 為VHD創(chuàng)建一個(gè)差分磁盤。這是由于如果需要取消再同步操作,就可以很容易取消。
7. 再同步操作結(jié)束時(shí),差分磁盤被并入到VHD文件中。
8. 在這個(gè)階段,VHD加以比較,然后加以同步。這番比較是逐個(gè)數(shù)據(jù)塊進(jìn)行比較的,只有不一樣的數(shù)據(jù)塊才通過網(wǎng)絡(luò)發(fā)送。這種機(jī)制減少了通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)量。
9. 再同步過程結(jié)束后,事件編號29244被記入到主服務(wù)器中。事件編號ID 29244 包含進(jìn)行復(fù)制的VHD方面的信息、虛擬機(jī)名稱、發(fā)送的數(shù)據(jù)塊、所執(zhí)行的時(shí)間以及操作結(jié)果。
10. 在這個(gè)階段,變更內(nèi)容已成功地并入到VHD文件,因而操作無法被取消。
11. 所有恢復(fù)點(diǎn)和HRL文件已被刪除。
你也知道,再同步是這樣一個(gè)過程:所有恢復(fù)點(diǎn)被刪除,為全新復(fù)制準(zhǔn)備好主虛擬機(jī)。這非常類似于你對虛擬機(jī)進(jìn)行復(fù)制時(shí)。
再同步過程的總體目的是為了確保主服務(wù)器再一次開始跟蹤VHD文件方面的變更,確保復(fù)制可以按往常那樣恢復(fù)。所以,只有出現(xiàn)下列情況時(shí)才采用"手動(dòng)"再同步:
• 如果主服務(wù)器不再復(fù)制到副本服務(wù)器,而相當(dāng)多數(shù)量的變更是在主虛擬機(jī)處進(jìn)行的。
• 如果你懷疑主虛擬機(jī)的內(nèi)容和復(fù)制虛擬機(jī)的內(nèi)容不相一致。
原文鏈接:http://www.serverwatch.com/server-tutorials/hyper-v-replica-resynchronization-process.html