引言:企业中有多台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地址都不会发生变化。可以正常运行,同时也测试了故障转移的情况,可以实现需求!