Hyper-V 副本概述

Hyper-V 副本是 Windows Server 中 Hyper-V 的内置功能,用于在 Hyper-V 主机之间复制虚拟机(VM),以实现业务连续性和灾难恢复(BCDR)。 它使你能够在辅助主机上创建和维护 VM 的脱机副本,甚至扩展到第三台主机,如果主主机发生故障,可以使用该主机进行故障转移。 Hyper-V 副本在 Windows 客户端操作系统中的 Hyper-V 中不可用。

Hyper-V 故障转移群集和 Hyper-V 副本解决了相关但不同的可用性方案。 Hyper-V 故障转移群集通过多个主机(节点)提供本地高可用性,这些主机通常访问同一群集存储以运行虚拟机。 如果某个节点发生故障,群集服务在另一个节点上重启受影响的 VM,并且不会(或最少)数据丢失,因为 VM 的虚拟硬盘仍保留在共享存储中。 相比之下,Hyper-V 副本是一种灾难恢复技术,它维护另一台主机或群集上的 VM 存储的异步副本(通常位于其他站点上),因此,如果主主机、群集或站点不可用,则可以手动启动故障转移。 副本不需要共享存储,引入了恢复点目标(可能丢失到复制间隔的数据),并补充而不是替换故障转移群集。 许多组织都使用:群集以实现站点内高可用性,Hyper-V 副本用于站点间复原和恢复。

本文概述了 Hyper-V 副本、其关键功能、工作原理以及如何使用它来增强 BCDR 策略。

Hyper-V 副本的主要功能

Hyper-V 副本提供了几个关键功能,使它成为 VM 复制和灾难恢复的强大且负担得起的工具:

  • 不受工作负荷和应用程序限制:Hyper-V 复制在虚拟化管理层上运行,使其适合复制各种工作负载和应用程序,而无需特定应用程序的代理或配置。

  • 异步复制:在块级别使用弹性更改跟踪(RCT)对主 VM 所做的更改进行排序,可以根据恢复点目标(RPO)要求定期发送到副本 VM,间隔为 30 秒、5 分钟或 15 分钟。 RCT 减少了对耗时的一致性检查的需求,并提供极大的复原能力。

  • 计划内和非计划的故障转移:在计划的故障转移中,主 VM 会正常关闭,并在切换到副本之前复制剩余的更改。 在计划外故障转移中,副本 VM 在未关闭主 VM 的情况下启动,这可能会导致某些数据丢失。 恢复主主机后,可以执行反向复制,将更改同步回原始主 VM。 有关详细信息,请参阅 故障转移和恢复

  • 灵活的拓扑:在单个主机、群集主机或两者的组合之间进行复制,从而设计适合基础结构的复制策略。 主机可以位于同一站点或不同地理位置。

  • 加密和身份验证:支持 Kerberos(对于已加入域的主机)和基于证书的身份验证(对于未加入域的主机),为保护复制流量提供了灵活性。 使用证书加密复制流量以保护传输中的数据。 可以限制特定 Hyper-V 主机之间的复制以提高安全性。

  • 灵活的存储选项:存储与工作负荷无关的基于文件的复制,从而灵活地在基础结构设计中对主主机和副本主机使用不同类型的存储解决方案。 可以选择复制 VM 的所有虚拟硬盘,也可以只复制其中一部分的虚拟硬盘,从而优化存储使用情况和复制性能。

  • 网络和压缩:复制是使用 HTTP 或 HTTPS 基于 TCP 的。 可以启用压缩以减少复制期间的带宽使用率。

  • 恢复历史记录:最多 24 小时恢复点使你可以根据需要还原到 VM 的以前状态。 卷影复制服务(VSS)集成可以为运行 VSS 感知应用程序的 VM 提供应用程序一致性恢复点,例如Microsoft SQL Server。

  • 测试故障转移:执行测试故障转移,以确认并验证灾难恢复计划的有效性,而不会影响生产环境。 有关更多信息,请查看 故障转移与恢复

  • 扩展复制:可将从辅助主机复制扩展到第三个 Hyper-V 主机,从而创建三层复制拓扑。 此方法提供额外的冗余层,并迎合更复杂的 BCDR 策略。 可以对扩展复制使用不同的复制间隔来平衡恢复点目标(RPO)和不同站点的带宽使用情况。 复制不会从主服务器复制到另外两个副本服务器。 相反,主服务器将复制到副本服务器,后者又复制到扩展副本服务器。

  • 无需额外的许可费用:Hyper-V 副本随 Windows Server 一起提供,因此它成为 VM 复制和灾难恢复经济高效的解决方案。

Hyper-V 副本组件

Hyper-V 副本包括下表中所述的组件:

组件 Description
复制引擎 管理初始复制、复制配置详细信息、增量更改的复制以及故障转移和测试故障转移操作。 跟踪 VM 和存储移动事件,并在必要时采取适当的措施。
更改跟踪模块 通过监视虚拟硬盘(VHDs)的写操作,无论其存储位置(本地、SAN、NAS、SMB 3 或更新的共享,或群集共享卷),跟踪源 Hyper-V 主机上 VM 所发生的更改。
网络模块 提供在 Hyper-V 主机之间传输 VM 数据的安全高效方法。 默认情况下,通过压缩数据来最大程度地减少流量,并在使用 HTTPS 和基于证书的身份验证时加密数据。
Hyper-V 副本代理 仅在 Hyper-V 主机是故障转移群集中的节点时使用。 通过查询群集数据库并将请求重定向到运行 VM 的节点,允许将 Hyper-V 副本与高度可用的 VM 配合使用,这些 VM 可以在群集节点之间移动。
管理工具 使用 Hyper-V Manager 和 Windows PowerShell 配置和管理 Hyper-V 副本。 当源或副本主机是故障转移群集的一部分时,将故障转移群集管理器用于所有 VM 管理和 Hyper-V 副本配置。

Hyper-V 副本的工作原理

Hyper-V 副本的工作原理是将主 VM 所做的更改复制到辅助 Hyper-V 主机上的副本 VM。 采用的方法取决于是复制到 Hyper-V 群集还是单个主机。 配置接收群集或主机,而不是主群集或主机。 配置主机和备机进行复制,以确保故障转移后可以回退到原始主机。

Hyper-V 副本可以使单个 VM 的以下两个实例驻留在不同的 Hyper-V 主机上:

  • 主、主动运行的 VM,称为 主 VM
  • 主 VM 的脱机副本,称为 副本 VM

复制过程涉及几个关键组件和步骤,如下图所示:

Hyper-V 副本数据流的关系图,其中显示了主 VM,其中包含更改跟踪、到辅助主机的异步复制,以及到第三个主机的可选扩展复制。

  1. 为 VM 启用 Hyper-V 副本时,会在辅助主机上创建 VM 的初始副本。 可以通过网络或使用外部媒体发送此副本。

  2. Hyper-V 使用更改跟踪机制监视对主 VM 虚拟硬盘(VHD)所做的更改。 它将 .hrl 文件的更改存储在同一位置。 此方法使 Hyper-V 能够识别自上次复制周期以来更改的数据块。

  3. 在配置的复制间隔(30 秒、5 分钟或 15 分钟)Hyper-V 将更改发送到辅助主机。 复制过程是异步的,因此主 VM 在 Hyper-V 复制更改时继续运行。

  4. 辅助主机接收更改并将其应用于副本 VM 的 VHDs,确保副本 VM 与主 VM 保持更新。

  5. 如果主主机失败,请启动到副本 VM 的故障转移。 根据它是计划内故障转移还是计划外故障转移,该过程略有不同,但最终结果是副本 VM 成为新的主 VM。 可以手动或通过自动化脚本启动故障转移。

  6. 还原主主机后,可以执行反向复制,将副本 VM 所做的任何更改同步回原始主 VM,从而使其恢复作为主主机的角色。

规划 Hyper-V 副本

在计划将 Hyper-V Replica 作为 BCDR 策略的一部分时,请考虑并针对以下设计点做出决策:

决策点 支撑细节
要复制哪些工作负荷? 列出目标 VM 及其工作负荷。 默认复制可保护操作系统状态,而不保护正在运行的应用程序状态。 如果需要恢复应用程序状态,请启用(和计划)应用程序一致性恢复点。
需要复制哪些 VHD? 排除故障转移后不需要更改数据的磁盘(例如页面文件或临时数据磁盘),以节省带宽和存储。 文档排除项。
同步数据的频率是多少? 根据 RPO、关键性和带宽选择 30 秒、5 分钟或 15 分钟。 较高的关键性和较低的 RPO 需要更短的间隔;验证可用的网络容量。
每个 VM 上数据的更改率是多少? 高流失率会增加带宽和副本存储的消耗。 如果出现饱和,请考虑使用压缩或延长间隔时间。 在容量计算中包括每个 VM。
将使用哪种身份验证方法,是否需要加密? 在两台主机都已加入域且无需加密的情况下,请使用 Kerberos。 使用基于证书的身份验证来加密复制流量,并在任一主机未加入域时使用;事先配置并信任所需的证书。
是否需要回退到较早的时间点? 默认值为单个(最新)恢复点。 为时间点恢复功能配置最多 24 个小时恢复点,更多点会增加存储和 I/O 开销。
如何启动 VM 数据的初始复制? 选项:
- 立即通过网络发送。
- 计划稍后时段的网络传输。
- 在副本主机上使用现有还原的 VM。
- 导出到外部媒体、交付和导入副本站点。

故障转移和恢复

请务必定期测试 BCDR 计划,以确保 Hyper-V 副本按预期运行,并且可以成功故障切换和恢复虚拟机。 应执行测试故障切换、验证恢复点,并确保复制策略的所有组件正常运行。 定期测试有助于识别潜在问题,并确保团队熟悉故障转移和恢复过程。

Hyper-V 副本中有三种类型的故障转移场景:

  • 可以随时运行测试故障转移,而不会影响生产环境。 测试故障转移在辅助主机上创建副本 VM 的临时副本,使你能够验证故障转移过程并确保 VM 正确启动。 测试 VM 与生产网络隔离,以防止发生任何冲突。 主 VM 在测试故障转移期间继续运行,因此不会停机,并且复制过程不会受到影响。 完成测试(包括 BCDR 计划的其他组件)后,可以删除测试 VM,而不会影响副本 VM 或主 VM。

  • 在计划的故障转移中,主 VM 正常关闭,在切换角色之前,所有剩余的更改将复制到副本 VM。 此方法可确保故障转移过程中不会丢失数据。 在计划的故障转移期间不会创建重复的 VM。 故障转移操作是从主机启动的。 在主机再次可用后,可以反向复制以将对副本虚拟机所做的任何更改同步回原始主虚拟机,然后执行另一个计划内故障转移以切换回去。

  • 在计划外故障转移中,副本 VM 在未关闭主 VM 的情况下启动,这可能会导致数据丢失。 副本 VM 将成为新的主 VM,以后可以执行反向复制,在还原更改后将更改同步回原始主 VM。 在非计划的故障转移过程中不会创建重复的虚拟机。 故障转移动作是从备用主机启动的。

有关使用 Hyper-V 副本执行故障转移和恢复操作的详细信息,请参阅 使用 Hyper-V 副本对复制虚拟机进行故障转移

后续步骤

若要配置 Hyper-V 副本,请根据环境选择以下文章之一: