Windows Server 2012 Hyper-V 复制
早在去年11月份 gOxiA 就与大家分享了 Windows Server 2012 Hyper-V 虚拟机可移动性方面的几篇文章:“Windows Server 2012 使用 SMB 共享存储的实时迁移”、“Windows Server 2012 Hyper-V over SMB”、“详解 Windows Server 2012 无需共享存储的实时迁移”。这些功能和特性确实极大的方便了 ITPro,使大家能够轻松、快速、安全的对虚拟机进行迁移。当对这几部分的实时迁移有一定的学习和理解后,Hyper-V 复制就显得更加容易,所以之前也就没有再单独写这部分的文章。
最近遇到几个案例都是探讨虚机备份和低成本的异地灾备的,而且这几天在做 Windows Server 2012 R2 Preview 到 RTM 迁移时也涉及到了 Hyper-V 复制,所以打算写篇东西出来跟大家分享分享,也算给自己留个存档。Hyper-V 复制,即:Hyper-V Replica,也称之为 Hyper-V 副本,是一种异步虚拟机复制技术,基于 HTTP 协议进行传输,所以它也非常适合应用在广域网环境中。在设计上,Hyper-V 复制主要用于商业连续性和灾难恢复场景。因为不需要任何共享存储,所以该技术可用于任何服务器、网络或存储供应商的设备。
要为 Hyper-V 主机启用复制功能,首先确保当前主机已经加入到 AD,并参考无需共享存储的实时迁移对主机做 Kerberos 委派,添加“hyper-v replica service”,然后还要修改当前主机的 Hyper-V 设置,在“复制配置”下勾选“启用此计算机作为副本服务器”,并选择“使用 Kerberos (HTTP)”端口保持80默认,在“授权和存储”选项下,选择“允许从任何经过身份验证的服务器重进行服务”,并指定副本的默认存储位置。可参考下图设置:
在完成上述设置后向导会提示防火墙设置的相关警告,我们只需要进入防火墙设置允许 Hyper-V 副本 HTTP 通过。
接下来,便可选择一台虚机进行复制的配置,整个过程可以参考下面的截图。
选择虚拟机,启用复制。
指定副本服务器,填写服务器名称。
因为仅允许使用 Kerberos 身份验证(HTTP),所以在连接参数向导中仅有一种可选模式,如果网络带宽比较紧张,建议勾选“压缩通过网络传输的数据”。
选择复制 VHD,是非常人性化的配置,比如当前虚机本身附加有备份用的磁盘,那么在做 Hyper-V Replica 时可以不对这些备份用VHD做复制,当然有些用户也可能仅是为了复制虚机的数据VHD而不需要系统盘,那么也可以在该步骤中进行选择。
根据需要配置复制频率,默认为每5分钟将更改发送到副本服务器。
在容灾级别不高而且对数据存储容量毕竟敏感的场景下,可以“仅保留最新恢复点”。
“选择初始复制方法”下,可以结合场景并根据实际情况进行选择。如果当前场景是局域网环境,并且此时网络带宽并不拥挤,那么可使用默认的“通过网络发送初始副本”作为初始复制方法,并“立即启动复制”。
在完成初始复制后,Hyper-V 复制功能会按照之前设置计划的时间频率将虚拟机的变更发送出去。这些变更时通过日志文件追踪的,并且将在变更发往复制服务器前进行压缩。在主服务器上,变更会被保存在一个.hrl文件中,该文件与被复制的VHD文件位于相同位置下。
Hyper-V 复制的故障转移操作有三个主要选项:
- 计划内故障转移,顾名思义也就是按照预先确定的计划来进行故障转移。该方式需要满足两个前提条件:在初始故障转移前,虚拟机必须关闭;被复制主机必须也启用复制功能,并允许接收来自复制主机的复制。
- 测试故障转移,在复制服务器上进行操作,允许在不中断当前持续的复制配置下,生成并启动一个新的用于测试用途的虚拟机。
- 计划外故障转移,很容易理解了,被复制主机意外宕机时,我们便可以在复制主机上执行“故障转移”,将该虚机启动上线。
玩转 Windows Server 2012 Hyper-V 的实时迁移和复制功能,并灵活应用在不同场景下,将会使 ITPro 感到无比轻松。