设置 Hyper-V 副本

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016,Azure Stack HCI 版本 22H2 和 21H2

Hyper-V 副本是 Hyper-V 角色不可或缺的组成部分。 它通过将虚拟机从一台 Hyper-V 主机服务器复制到另一台,使工作负载保持可用,从而提供灾难恢复策略。 Hyper-V 副本将实时虚拟机的副本创建到副本脱机虚拟机。 注意以下事项:

  • Hyper-V 主机:主要主机服务器和辅助主机服务器可以在物理上处于同一位置,也可以在不同的地理位置上通过 WAN 链接进行复制。 Hyper-V 主机可以是独立主机、群集主机,也可以是两者兼而有之。 服务器之间没有 Active Directory 依赖项,它们不需要是域成员。

  • 复制和更改跟踪:当你为一个特定的虚拟机启用 Hyper-V 副本时,初始复制会在辅助主机服务器上创建一个相同的副本虚拟机。 之后,Hyper-V 副本更改跟踪将创建和维护一个日志文件,用于捕获虚拟机 VHD 上的更改。 该日志文件根据复制频率设置,以相反的顺序播放到副本 VHD。 这意味着最新的更改是异步存储和复制的。 复制可以通过 HTTP 或 HTTPS 进行。

  • 扩展(链接)复制:这允许将虚拟机从主要主机复制到辅助主机,然后将辅助主机复制到第三台主机。 请注意,不能直接从主要主机复制到第二台和第三台主机。

    此功能使 Hyper-V 副本可以更加可靠地用于灾难恢复,因为在发生故障的情况下,可以从主副本和扩展副本进行恢复。 如果主位置和辅助位置出现故障,可以故障转移到扩展副本。 请注意,扩展副本不支持应用程序一致性复制,并且必须与辅助副本使用相同的 VHD。

  • 故障转移:如果主位置(或者扩展情况下的辅助位置)发生故障,可以手动启动测试、计划内或计划外故障转移。

    问题 测试 已计划 计划外
    应该在何时运行? 验证虚拟机是否可以故障转移,并在辅助站点中启动

    对测试和训练很有用

    在计划内停机和中断期间 在发生意外事件期间
    是否创建完全相同的虚拟机? No
    在哪里启动? 在副本虚拟机上 在主计算机上启动,在辅助计算机上完成 在副本虚拟机上
    应该多久运行一次? 建议每月测试一次 每六个月一次或根据合规性要求运行 仅当主虚拟机不可用时,在发生灾难的情况下运行
    主虚拟机是否继续复制? 是。 故障解决后,反向复制会将更改复制回主站点,以便同步主站点和辅助站点。
    是否有数据丢失? 无。 故障转移后,Hyper-V 副本将最后一组跟踪的更改复制回主副本,以确保零数据丢失。 取决于事件和恢复点
    有无任何故障时间? 无。 它不会影响生产环境。 它会在故障转移过程中创建一个复制的测试虚拟机。 故障转移完成后,在副本虚拟机上选择“故障转移”,它将被自动清理和删除。 计划内故障的持续时间 计划外故障的持续时间
  • 恢复点:当你为虚拟机配置复制设置时,需要指定要从中存储的恢复点。 恢复点表示可以从中恢复虚拟机的时间快照。 显然,如果从最近的恢复点恢复,丢失的数据会更少。 可以访问 24 小时内的恢复点。

部署先决条件

下面是在开始之前应验证的内容:

  • 确定需要复制哪些 VHD。 特别是,包含在故障转移后快速更改且副本服务器不再使用的数据的 VHD(如页面文件磁盘)应从复制中排除,以节省网络带宽。 记下可以排除的 VHD。

  • 确定同步数据的频率:副本服务器上的数据将根据你配置的复制频率(30 秒、5 分钟或 15 分钟)进行同步更新。 选择频率时应考虑以下因素:虚拟机是否以较低的 RPO 运行关键数据? 带宽有哪些注意事项? 高度关键的虚拟机显然需要更频繁的复制。

  • 决定如何恢复数据:默认情况下,Hyper-V 副本仅存储单个恢复点,该恢复点将是从主副本发送到辅助副本的最新复制。 但是,如果你想要选择将数据恢复到一个较早的时间点,可以指定存储额外的恢复点(最多 24 小时的恢复点)。 如果确实需要其他恢复点,则应注意,这需要更多的处理和存储资源的开销。

  • 确定要复制的工作负载:标准 Hyper-V 副本复制在故障转移后保持虚拟机操作系统状态的一致性,但不会保持虚拟机上运行的应用程序的状态。 如果你希望能够恢复工作负载状态,可以创建应用一致的恢复点。 请注意,如果你使用的是扩展(链接)的复制,应用一致的恢复在扩展副本站点上不可用。

  • 确定如何执行虚拟机数据的初始复制:复制开始时,需要传输虚拟机的当前状态。 这种初始状态可以通过现有网络直接传输,立即或你进行配置的稍晚时间均可。 你也可以使用预先存在的已还原的虚拟机(例如,如果你已还原副本服务器上虚拟机的早期备份)作为初始副本。 或者,你可以将初始副本复制到外部媒体,然后以物理方式向副本站点传递媒体,这样能够节省网络带宽。 如果要使用预先存在的虚拟机,请删除与其关联的所有以前的快照。

部署步骤

步骤 1:设置 Hyper-V 主机

需要至少两台 Hyper-V 主机,每台服务器上都有一个或多个虚拟机。 开始使用 Hyper-V。 需要将虚拟机复制到的主机服务器设置为副本服务器。

  1. 在要将虚拟机复制到的服务器的 Hyper-V 设置中,在“复制配置”中,选择“以副本服务器启用计算机”。

  2. 可以通过 HTTP 或加密的 HTTPS 进行复制。 选择“使用 Kerberos (HTTP)”或“使用基于证书的身份验证(HTTPS)”。 默认情况下,HTTP 80 和 HTTPS 443 作为副本 Hyper-V 服务器上的防火墙例外启用。 如果更改默认端口设置,还需要更改防火墙例外。 如果要通过 HTTPS 进行复制,需要选择一个证书,并且应该已经设置了证书身份验证。

  3. 对于授权,请选择“允许从任何经过身份验证的服务器复制”,以允许副本服务器接受来自任何成功进行身份验证的任何主服务器的虚拟机复制流量。 选择“允许从指定服务器复制”,仅接受来自你专门选择的主服务器的流量。

    对于这两个选项,可以指定复制的 VHD 应在副本 Hyper-V 服务器上存储的位置。

  4. 单击“确定”或“应用”。

步骤 2:设置防火墙

为了允许在主服务器和辅助服务器之间进行复制,流量必须通过 Windows 防火墙(或任何其他第三方防火墙)。 在服务器上安装 Hyper-V 角色时,默认情况下会创建 HTTP (80) 和 HTTPS (443) 例外。 如果你使用的是这些标准端口,只需要启用规则:

  • 在独立主机服务器上启用规则:

    1. 打开“高级安全 Windows 防火墙”,然后单击“入站规则”

    2. 若要启用 HTTP (Kerberos) 身份验证,请右键单击“Hyper-V 副本 HTTP 侦听器(TCP 输入)”>“启用规则”。 若要启用 HTTPS 基于证书的身份验证,请右键单击“Hyper-V 副本 HTTPS 侦听器(TCP 输入)”>“启用规则”。

  • 若要在 Hyper-V 群集上启用规则,请使用“以管理员身份运行”打开 Windows PowerShell 会话,然后运行以下命令之一:

    • 对于 HTTP:

      get-clusternode | ForEach-Object {Invoke-command -computername $_.name -scriptblock {Enable-Netfirewallrule -displayname "Hyper-V Replica HTTP Listener (TCP-In)"}}

    • 对于 HTTPS:

      get-clusternode | ForEach-Object {Invoke-command -computername $_.name -scriptblock {Enable-Netfirewallrule -displayname "Hyper-V Replica HTTPS Listener (TCP-In)"}}

启用虚拟机复制

在要复制的每个虚拟机上执行以下操作:

  1. 在 Hyper-V 管理器的“详细信息”窗格中,通过单击选中虚拟机。 右键单击选择的虚拟机,单击“启用复制”以打开“启用复制”向导。

  2. 在“开始之前”页上单击“下一步”

  3. 在“指定副本服务器”页面的“副本服务器”框中,输入副本服务器的 NetBIOS 或 FQIDN。 如果副本服务器是故障转移群集的一部分,请输入 Hyper-V 副本代理的名称。 单击“下一步”。

  4. 在“指定连接参数”页上,Hyper-V 副本会自动检索你已为副本服务器配置的身份验证和端口设置。 如果没有检索值,请检查服务器是否已配置为副本服务器,以及是否已在 DNS 中注册。 如果需要,请手动键入设置。

  5. 在“选择复制 VHD”页上,确保选择要复制的 VHD,并清除要从复制中排除的任何 VHD 的复选框。 然后单击“下一步” 。

  6. 在“配置复制频率”页上,指定将更改从主副本同步到辅助副本的频率。 然后单击“下一步”。

  7. 在“配置其他恢复点”页上,选择是要仅维护最新的恢复点还是创建其他恢复点。 如果要一致地恢复具有其自己的 VSS 编写器的应用程序和工作负载,建议选择“卷影复制服务(VSS)频率”,并指定创建应用一致的快照的频率。 请注意,Hyper-V VMM 请求程序服务必须同时在主 Hyper-V 服务器和辅助 Hyper-V 服务器上运行。 然后单击“下一步”。

  8. 在“选择初始复制”页上,选择要使用的初始复制方法。 通过网络发送初始副本的默认设置将复制主虚拟机配置文件 (VMCX),以及你通过网络连接选择的虚拟硬盘文件(VHDX 和 VHD)。 如果要使用此选项,请验证网络带宽的可用性。 如果主虚拟机已在辅助站点上配置为复制虚拟机,则选择“使用复制服务器上的现有虚拟机作为初始副本”可能会很有用。 可以使用 Hyper-V 导出功能来导出主虚拟机,并将其作为副本虚拟机导入到辅助服务器上。 对于较大的虚拟机或有限的带宽,可以选择稍后通过网络进行初始复制,然后配置非峰值时间,或将初始复制信息作为脱机介质发送。

    如果执行脱机复制,将使用外部存储介质(如硬盘或 U 盘)将初始副本传输到辅助服务器。 为此,需要将外部存储连接到主服务器(或群集中的所有者节点),然后在选择“使用外部介质发送初始副本”时,可以在本地或外部介质上指定可以存储初始副本的位置。 这会在副本站点上创建一个占位符虚拟机。 初始复制完成后,外部存储可以被运送到副本站点。 在那里,你会将外部介质连接到辅助服务器或辅助群集的所有者节点。 然后,你会将初始副本导入指定位置,并将其合并到占位符虚拟机中。

  9. 在“正在完成启用复制”页上,查看“摘要”中的信息,然后单击“完成”。 虚拟机数据将根据你的所选设置进行传输。 此时显示一个对话框,指示已成功启用复制。

  10. 如果要配置扩展(链接)的复制,请打开副本服务器,然后右键单击要复制的虚拟机。 单击“复制”>“扩展复制”并指定复制设置。

运行故障转移

完成这些部署步骤后,复制的环境将启动并运行。 现在可以根据需要运行故障转移了。

测试故障转移:如果要运行测试故障转移,请右键单击副本虚拟机,然后选择“复制”>“测试故障转移”。 选择最新的恢复点或其他恢复点(如果已配置)。 将在辅助站点上创建并启动一个新的测试虚拟机。 完成测试后,选择副本虚拟机上的“停止测试故障转移”以清理它。 请注意,对于一台虚拟机,一次只能运行一个测试故障转移。 有关详细信息,请参阅 Hyper-V 副本中的测试故障转移

计划内故障转移:若要运行计划内故障转移,请右键单击主虚拟机,然后选择“复制”>“计划内故障转移”。 计划内故障转移执行先决条件检查,以确保零数据丢失。 它会在开始故障转移之前,先检查主虚拟机是否已关闭。 对虚拟机进行故障转移后,它会在可用时开始将更改复制回主站点。 请注意,若要使此功能正常运行,应将主服务器配置为从辅助服务器接收复制,如果是主群集,则从 Hyper-V 副本代理接收复制。 计划内故障转移会发送最后一组跟踪的更改。 有关详细信息,请参阅 Hyper-V 副本中的计划内故障转移

计划外故障转移:若要运行计划外故障转移,请右键单击副本虚拟机,然后从 Hyper-V 管理器或故障转移群集管理器选择“复制”>“计划外故障转移”。 如果启用此选项,可以从最新的恢复点或以前的恢复点进行恢复。 完成故障转移后,检查已执行故障转移的虚拟机上的所有内容是否按预期工作,然后在副本虚拟机上单击“完成”。 了解详细信息