Hyper-V Replica再同步过程详解

译文
运维 系统运维
如果虚拟机处于危急状态,或者如果主服务器对受到跟踪的变更失去了控制,因而无法确定复制的起始点,这时候其实需要再同步。本文分享了Hyper-V Replica再同步过程的技巧和方法。

Hyper-V Replica再同步这个话题引起人们的关注时,你可能会问的头一个问题是:为什么需要再同步参与Hyper-V Replica的虚拟机?何时需要再同步?如果 Hyper-V主服务器认识到,虚拟机的复制并非***,或者它不知道该复制什么,那么就需要进行再同步操作了。

如果虚拟机处于危急状态,或者如果主服务器对受到跟踪的变更失去了控制,因而无法确定复制的起始点,这时候其实需要再同步。在这种情况下,主服务器就需要从头开始,这包括删除恢复历史内容(HRL文件),为将要复制的VHD文件创建一个基准。

符合下列情形时,就需要再同步:

• 你在使用Hyper-V管理器可供使用的方法之外的任何方法,改动VHD文件。换句话说,Hyper-V复制引擎必须认识到Hyper-v复制引擎中所包含的VHD文件出现的任何变更,那样可以将变更内容记录在HRL文件中。

• HRL(Hyper-V复制日志)的累积超过50%。

• 写入到HRL文件出现了问题。

• HRL文件无法顺利关闭。

在上述任何情况下,如果需要对虚拟机进行再同步,"复制健康状况"方面就会出现一个出错信息。出错信息显示为:"某虚拟机<虚拟机名称>需要进行再同步。恢复复制,以便开始再同步。"要是显示了该信息,就必须借助副本虚拟机(Replica Virtual Machine),对该虚拟机进行再同步。

请注意:在你开始再同步之前,必须首先解决主服务器和复制服务器之间的任何连接问题。

再同步虚拟机的内容有两种方式:(1)通过恢复Hyper-V管理器中主虚拟机上的复制内容,或者(2)通过使用PowerShell cmdlet小命令。

从Hyper-V管理器,你可以鼠标右击Virtual Machine(虚拟机)> Replication(复制)>,然后选择"Resume Replication"(恢复复制)选项,即可恢复复制,或者开始再同步过程。

想通过PowerShell开始再同步操作,就要使用Resume-VMReplication cmdlet,如下所示:

  1. Resume-VMReplication -VMName "MyVM" -Resynchronize -ResynchronizeStartTime "02/11/2014 12:00:00" 

即便不需要再同步,或者如果Hyper-V副本还没有让虚拟机进入"需再同步"(Resynchronization Required)状态,你还可以手动开始再同步过程,但是除非绝对有这个必要,否则我们建议避免这么做。

只有你认为虚拟机的内容没有完全同步,需要再同步来纠正这个问题,才继续进行手动再同步。在手动触发的再同步过程中,虚拟机首先被暂停,然后开启再同步操作。

• Suspend-VMReplication -VMName "MyVM"

• Resume-VMReplication -VMName "MyVM" -Resynchronize

你可以使用Hyper-V管理器,针对每个虚拟机安排再同步操作。鼠标右击参与Hyper-V Replica的虚拟机,然后选择"Settings"(设置)。在左侧面板中,选择"Resynchronization"(再同步)选项,然后在右侧面板中,根据需要来修改设置,如下面这个屏幕截图所示:

可以从该屏幕截图中看到,你可以为再同步配置三个设置:(1)手动、(2)自动以及(3)按指定的时间间隔。建议配置及使用第3个选项("只在下列时间段自动开始再同步"),然后更改再同步,以便只在非高峰时间段进行。

你还可以使用Set-VMReplication和Get-VMReplication这两个PowerShell cmdlet小命令,配置及查看再同步设置,如下面命令所示:

禁用自动再同步的命令:

• Set-VMReplication -VMName "MyVM" -AutoResynchronizeEnabled 0

启用自动再同步的命令:

• Set-VMReplication -VMName "RESYNC VM" -AutoResynchronizeEnabled 1 -AutoResynchronizeIntervalStart 00:00:00 -AutoResynchronizeIntervalEnd 23:59:59

想检查再同步设置,可使用Get-VMReplication PowerShell cmdlet小命令,如下所示:

• Get-VMReplication -VMName "MyVM" | ft * -auto

想检查参与Hyper-V Replica的所有虚拟机的设置,使用该命令:

• Get-VMReplication * | ft * -auto

在Get-VMReplication输出结果中,寻找AutoResynchronizeEnabled、AutoResynchronizeIntervalStart和AutoResynchronizeIntervalEnd这几列及对应的值。

再同步过程是如何进行的?

再同步过程经历下面这几个步骤:

1. 再同步事件发生,人工发生或自动发生。

2. 主虚拟机和副本虚拟机的VHD尺寸受到检查。

3. 在再同步进行的过程中,主服务器开始跟踪VHD方面的变化。

4. 写入操作在HRL文件中受到跟踪,一旦再同步过程已完成,才加以复制。

5. 事件编号29242记入日志,这记录了虚拟机名称、VHD文件、VHD文件的起始数据块和结束数据块。

6. 为VHD创建一个差分磁盘。这是由于如果需要取消再同步操作,就可以很容易取消。

7. 再同步操作结束时,差分磁盘被并入到VHD文件中。

8. 在这个阶段,VHD加以比较,然后加以同步。这番比较是逐个数据块进行比较的,只有不一样的数据块才通过网络发送。这种机制减少了通过网络发送的数据量。

9. 再同步过程结束后,事件编号29244被记入到主服务器中。事件编号ID 29244 包含进行复制的VHD方面的信息、虚拟机名称、发送的数据块、所执行的时间以及操作结果。

10. 在这个阶段,变更内容已成功地并入到VHD文件,因而操作无法被取消。

11. 所有恢复点和HRL文件已被删除。

你也知道,再同步是这样一个过程:所有恢复点被删除,为全新复制准备好主虚拟机。这非常类似于你对虚拟机进行复制时。

再同步过程的总体目的是为了确保主服务器再一次开始跟踪VHD文件方面的变更,确保复制可以按往常那样恢复。所以,只有出现下列情况时才采用"手动"再同步:

• 如果主服务器不再复制到副本服务器,而相当多数量的变更是在主虚拟机处进行的。

• 如果你怀疑主虚拟机的内容和复制虚拟机的内容不相一致。

原文链接:http://www.serverwatch.com/server-tutorials/hyper-v-replica-resynchronization-process.html

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2014-04-14 16:55:05

Hyper-V Rep

2014-12-30 09:29:38

Hyper-VReplica虚拟机

2012-10-17 11:23:50

Hyper-VReplica中小型企业

2017-04-07 10:56:57

Hyper-V repStorage Rep淘汰

2017-04-17 13:34:42

Hyper-V rep虚拟机服务器

2013-11-20 14:46:43

PowerShellPowerShell Windows Ser

2013-11-20 14:41:08

PowerShellPowerShell Windows Ser

2012-09-12 10:35:51

Hyper-V

2014-03-31 15:13:08

Hyper-V虚拟化

2014-03-31 14:50:19

Hyper-V

2011-01-25 10:17:24

微软Hyper-V c

2010-12-29 10:55:51

Hyper-V

2012-03-14 15:48:58

Windows Ser概述

2013-10-14 17:58:51

SUSEMicrosoft H

2014-04-24 11:02:12

Hyper-V虚拟化主机

2009-07-22 18:44:17

Hyper-V快照备份

2009-03-19 19:51:49

Hyper-V飞康集群

2010-05-14 13:51:09

Hyper-V容灾

2011-01-25 10:06:42

2009-09-09 08:57:39

Hyper-V
点赞
收藏

51CTO技术栈公众号