当涉及到虚拟化和灾难恢复方面时,企业有众多选项可用来保护运行微软Hyper-V的虚拟机。
Hyper-V是在Windows Server 2008,Windows Server 2008 R2,Windows Server 2012和Windows Server 2012 R2中的一项功能,中提供native hypervisor功能,以便在英特尔的x86-64平台上运行虚拟机。
有两大选项可用于运行Hyper-V——要么是在上文所列出的各个版本的Windows Server的其中之一发挥其作用;要么作为Hyper-V服务器,一款免费版本的Windows Server提供有限的功能。
在Windows的各个版本中,微软均已经加入或改进了Hyper-V中的一般性及数据保护功能,而当前版本所提供的功能甚至可与VMware vSphere相媲美。
鉴于Hyper-V可以直接从任何Windows 2008 / 2012进行管理,下文中所详细介绍的许多功能均是在集中管理工具、微软系统中心虚拟机管理器(SCVMM)下支持的,目前最新发布的版本是2012 R2。
Hyper-V备份
Hyper-V Guests的备份是通过使用卷影拷贝服务(Volume Shadow CopyService,VSS) 管理的。
VSS——特别是Hyper-V VSS编写器提供暂停输入/输出(I/O)的功能,无论是在Hypervisor虚拟机管理程序或guest(使用集成服务),均可执行虚拟机的快照和备份措施。
市场上有许多第三方的备份系统整合了Hyper-V和VSS,包括能够从VM本身恢复应用程序数据的功能。作为独立软件供应商备份产品的一种替代,微软提供的Windows Server备份作为一款免费的工具,能够执行基本的备份和恢复服务。
值得注意的是,Hyper-V提供在客户内部的VSS支持仅针对微软平台。这限制了当使用非微软客户操作系统时软件的有效性。
而区分Hyper-V快照与VSS快照也是重要的。Hyper-V快照提供了正在运行中的虚拟机快照图像的功能。这将更新到二级(.avhd)文件,并在如果需要的情况下允许VM返回到以前的状态。Hyper-V快照提供一个本地恢复点,例如,恢复一个失败的升级——而不是为了备份和灾难恢复。
虚拟机迁移
Hyper-V提供了从Windows Server 2008 R2中所推出的使用实时迁移功能进行虚拟机迁移的支持。此功能是快速迁移的一个升级,使得虚拟机能够在主机之间迁移而不会发生中断或停机。
在Windows Server 2008 R2使用实时迁移要求每台服务器均使用微软故障转移群集配置,并为虚拟机文件使用共享的存储。同时也有网络限制。主机必须在同一子网,并建议为迁移流量使用一个专用的网络。
虚拟机的物理位置可以通过使用存储实时迁移改变,这是在Windows Server 2012所推出的。顾名思义,此功能的操作就是将客户文件从一个存储平台迁移到另一个。存储实时迁移既可运行在一个单独的Hyper-V服务器上,也可运行在Hyper-V集群上。
随着Windows Server 2012的发布,微软同时也删除了需要使用群集配置的需求,只要虚拟机存储在SMB(Server Message Block Protocol)文件共享即可。此外,迁移可以在单独的Hyper-V实例之间实现,而不共享存储,即所谓的“无共享实时迁移”。
选择使用怎样的迁移工具是由网络和存储的性能,以及虚拟机上的活动水平而决定的——例如,一个高度写密集型的虚拟机可能很难跟上I/O在网络上的复制。
也有弹性需求方面问题的考虑。如果共享存储到位,那么实时迁移就比“无共享”迁移更有意义,因为所有的虚拟机数据仍然在磁盘上,而更新只在一个地方进行。显然,实时迁移的完成速度要超过存储实时迁移,因为在迁移过程中只有内存和配置细节被转移。
正如前面所讨论过的,虚拟机迁移本身不是一个恢复工具,但确实在一些灾难恢复方案的情况下,提供了将虚拟机重新安置到位的能力。
Hyper-V的高可用性和容错性
Hyper-V提供了使用群集共享卷和Windows Server故障转移群集的功能来实现高可用性。共享存储可通过使用iSCSI或光纤通道的逻辑单元号(LUN),或使用SMB 3.0存储来实现。
集群中的主机的损失将导致许多虚拟机在另一个可用节点重新启动,没有中断或影响VM用户的保证。Hyper-V提供没有直接等效于vSphere的容错性,但确实提供了Hyper-V的副本。
Hyper-V虚拟机复制
在Windows Server 2012中,微软推出了Hyper-V的复制功能,这是一种基于IP的复制功能,可以让虚拟机映像被异步复制到次要位置。在主站点出现故障的情况下,复制副本可以在灾难恢复的位置开始。
到Windows Server 2012 R2发布时,Hyper-V的复制功能还进行了扩展,支持复制到第三个站点,被称为扩展的副本。在原站点发生损失的情况下,二级和三级网站继续相互复制,维护对应用程序的保护。
2012 R2还为复制虚拟机推出了一个30秒的恢复点目标(RPO),与Windows Server 2012的五分钟值进行比较。
微软并不直接支持基于SAN的虚拟机复制。然而,外部的基于SAN的存储或软件,如StarWind Virtual SAN可以用来提供灾难恢复的功能。
Hyper-V虚拟机是由VHD或VHDX虚拟磁盘,再加上一些描述虚拟机配置的文件组成的。如果这些文件都放在一个共享的LUN或卷,然后在虚拟机中的内容可以复制到另一个位置,并在灾难事件发生时导入到一个远程Hyper-V配置。这个过程需要一些手工编写的脚本和管理来实现。
Hyper-V的云复制和备份
使用一个辅助数据中心的一个替代方案是将虚拟机到公共云。微软运营其Azure云并提供相应的设施以方便企业用户使用Azure站点恢复将虚拟机在企业内部部署的Hyper-V进行迁入和迁出。
虚拟机恢复不限于基于Hyper-V的虚拟机,同时也支持VMware vSphere (5.x)和物理服务器。微软声称RPO值可低至30秒,尽管这将取决于带宽和延迟性。复制技术包括Hyper-V的复制,基于阵列的SAN复制和基于客户的复制。
当然,也有一些第三方复制系统可以用来支持Hyper-V环境备份到云。这包括Zerto(微软Hyper-V虚拟复制),其可以在各种类型的虚拟机管理程序之间复制(Hyper-V到vSphere),并使用“数据VM”截取和复制I/O。
另一个系统是由备份设备供应商Datto所提供的。Datto平台能够在主系统一旦发生故障的情况下进行虚拟机备份,并允许虚拟机在Datto公共云中被重新启动。客户可以从云中运行他们的应用程序,直到主虚拟机和主机被恢复。