设置 Hyper-V 副本
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。
故障转移:如果您的主要位置(或扩展的辅助位置)发生中断,则可以手动启动测试、计划或计划外的故障转移。
问题 测试 已计划 计划外 应该在何时运行? 验证虚拟机是否可以故障转移,并在辅助站点中启动 对测试和训练很有用
在计划内停机和中断期间 在发生意外事件期间 是否创建完全相同的虚拟机? 是 否 否 在哪里启动? 在副本虚拟机上 在主计算机上启动,在辅助计算机上完成 在副本虚拟机上 应该多久运行一次? 建议每月测试一次 每六个月一次或根据合规性要求运行 仅当主虚拟机不可用时,在发生灾难的情况下运行 主虚拟机是否继续复制? 是 是。 故障解决后,反向复制会将更改复制回主站点,以便同步主站点和辅助站点。 否 是否有数据丢失? 无 无。 故障转移后,Hyper-V 副本将最后一组跟踪的更改复制回主副本,以确保零数据丢失。 取决于事件和恢复点 有无任何故障时间? 无。 它不会影响生产环境。 它会在故障转移过程中创建一个复制的测试虚拟机。 故障转移完成后,在副本虚拟机上选择故障转移,它将被自动清理和删除。 计划内故障的持续时间 计划外故障的持续时间 恢复点:当你为虚拟机配置复制设置时,需要指定要从中存储的恢复点。 恢复点表示可以从中恢复虚拟机的时间快照。 显然,如果从最近的恢复点恢复,丢失的数据会更少。 您可以访问最早 24 小时前的恢复点。
部署先决条件
下面是在开始之前应验证的内容:
确定需要复制哪些 VHD。 特别是,包含在故障转移后快速更改且副本服务器不再使用的数据的 VHD(如页面文件磁盘)应从复制中排除,以节省网络带宽。 记下可以排除的 VHD。
确定同步数据的频率:副本服务器上的数据将根据你配置的复制频率(30 秒、5 分钟或 15 分钟)进行同步更新。 选择频率时应考虑以下因素:虚拟机是否以较低的 RPO 运行关键数据? 你的带宽注意事项是什么? 高度关键的虚拟机显然需要更频繁的复制。
决定如何恢复数据:默认情况下,Hyper-V 副本仅存储单个恢复点,该恢复点将是从主副本发送到辅助副本的最新复制。 但是,如果你想要选择将数据恢复到一个较早的时间点,可以指定存储额外的恢复点(最多 24 小时的恢复点)。 如果确实需要其他恢复点,则应注意,这需要更多的处理和存储资源的开销。
确定要复制的工作负载:标准 Hyper-V 副本复制在故障转移后保持虚拟机操作系统状态的一致性,但不会保持虚拟机上运行的应用程序的状态。 如果你希望能够恢复工作负载状态,可以创建应用一致的恢复点。 请注意,如果你使用的是扩展(链接)的复制,应用一致的恢复在扩展副本站点上不可用。
确定如何执行虚拟机数据的初始复制:复制开始时,需要传输虚拟机的当前状态。 这种初始状态可以通过现有网络直接传输,立即或你进行配置的稍晚时间均可。 你也可以使用预先存在的已还原的虚拟机(例如,如果你已还原副本服务器上虚拟机的早期备份)作为初始副本。 或者,你可以将初始副本复制到外部媒体,然后以物理方式向副本站点传递媒体,这样能够节省网络带宽。 如果你要使用预先存在的虚拟机,请删除与其关联的所有先前快照。
部署步骤
步骤 1:设置 Hyper-V 主机
需要至少两台 Hyper-V 主机,每台服务器上都有一个或多个虚拟机。 开始使用并在 Windows Server 上安装 Hyper-V 角色。 需要将虚拟机复制到的主机服务器设置为副本服务器。
在要将虚拟机复制到的服务器的 Hyper-V 设置中,在复制配置中,选择以副本服务器启用计算机。
可以通过 HTTP 或加密的 HTTPS 进行复制。 选择使用 Kerberos (HTTP) 或使用基于证书的身份验证(HTTPS)。 默认情况下,HTTP 80 和 HTTPS 443 作为副本 Hyper-V 服务器上的防火墙例外启用。 如果更改默认端口设置,还需要更改防火墙例外。 如果要通过 HTTPS 进行复制,需要选择一个证书,并且应该已经设置了证书身份验证。
对于授权,请选择允许从任何经过身份验证的服务器复制,以允许副本服务器接受来自任何成功进行身份验证的任何主服务器的虚拟机复制流量。 选择允许从指定服务器复制,仅接受来自你专门选择的主服务器的流量。
对于这两个选项,可以指定复制的 VHD 应在副本 Hyper-V 服务器上存储的位置。
单击“确定”或“应用”。
步骤 2:设置防火墙
为了允许在主服务器和辅助服务器之间进行复制,流量必须通过 Windows 防火墙(或任何其他第三方防火墙)。 在服务器上安装 Hyper-V 角色时,默认情况下会创建 HTTP (80) 和 HTTPS (443) 例外。 如果你使用的是这些标准端口,只需要启用规则:
在独立主机服务器上启用规则:
打开“高级安全 Windows 防火墙”,然后单击“入站规则”。
若要启用 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)"}}
启用虚拟机复制
在要复制的每个虚拟机上执行以下操作:
在 Hyper-V 管理器的详细信息窗格中,通过单击选中虚拟机。 右键单击选择的虚拟机,单击启用复制以打开“启用复制”向导。
在“开始之前”页上单击“下一步”。
在指定副本服务器页面的“副本服务器”框中,输入副本服务器的 NetBIOS 或 FQIDN。 如果副本服务器是故障转移群集的一部分,请输入 Hyper-V 副本代理的名称。 单击下一步。
在指定连接参数页上,Hyper-V 副本会自动检索你已为副本服务器配置的身份验证和端口设置。 如果没有检索值,请检查服务器是否已配置为副本服务器,以及是否已在 DNS 中注册。 如果需要,请手动键入设置。
在选择复制 VHD 页上,确保选择要复制的 VHD,并清除要从复制中排除的任何 VHD 的复选框。 然后单击下一步。
在配置复制频率页上,指定将更改从主副本同步到辅助副本的频率。 然后单击下一步。
在配置其他恢复点页上,选择是要仅维护最新的恢复点还是创建其他恢复点。 如果要一致地恢复具有其自己的 VSS 编写器的应用程序和工作负载,建议选择卷影复制服务(VSS)频率,并指定创建应用一致的快照的频率。 请注意,Hyper-V VMM 请求程序服务必须同时在主 Hyper-V 服务器和辅助 Hyper-V 服务器上运行。 然后单击下一步。
在选择初始复制页上,选择要使用的初始复制方法。 通过网络发送初始副本的默认设置将复制主虚拟机配置文件 (VMCX),以及你通过网络连接选择的虚拟硬盘文件(VHDX 和 VHD)。 如果要使用此选项,请验证网络带宽的可用性。 如果主虚拟机已在辅助站点上配置为复制虚拟机,则选择使用复制服务器上的现有虚拟机作为初始副本可能会很有用。 可以使用 Hyper-V 导出功能来导出主虚拟机,并将其作为副本虚拟机导入到辅助服务器上。 对于较大的虚拟机或有限的带宽,可以选择稍后通过网络进行初始复制,然后配置非峰值时间,或将初始复制信息作为脱机介质发送。
如果执行脱机复制,将使用外部存储介质(如硬盘或 U 盘)将初始副本传输到辅助服务器。 为此,你需要将外部存储连接到主服务器(或群集中的所有者节点),然后,当您选择“使用外部介质发送初始副本”时,你可以指定本地或外部介质上可以存储初始副本的位置。 这会在副本站点上创建一个占位符虚拟机。 初始复制完成后,外部存储可以被运送到副本站点。 在那里,你会将外部介质连接到辅助服务器或辅助群集的所有者节点。 然后,你会将初始副本导入指定位置,并将其合并到占位符虚拟机中。
在正在完成启用复制页上,查看“摘要”中的信息,然后单击完成。 虚拟机数据将根据你的所选设置进行传输。 将显示一个对话框,指示已成功启用复制。
如果要配置扩展(链接)的复制,请打开副本服务器,然后右键单击要复制的虚拟机。 单击复制>扩展复制并指定复制设置。
运行故障转移
完成这些部署步骤后,复制的环境将启动并运行。 现在可以根据需要运行故障转移了。
测试故障转移:如果要运行测试故障转移,请右键单击副本虚拟机,然后选择复制>测试故障转移。 选择最新的恢复点或其他恢复点(如果已配置)。 将在辅助站点上创建并启动一个新的测试虚拟机。 完成测试后,选择副本虚拟机上的停止测试故障转移以清理它。 请注意,对于一台虚拟机,一次只能运行一个测试故障转移。 有关详细信息,请参阅 Hyper-V 副本中的测试故障转移。
计划内故障转移:若要运行计划内故障转移,请右键单击主虚拟机,然后选择复制>计划内故障转移。 计划内故障转移执行先决条件检查,以确保零数据丢失。 它会在开始故障转移之前,先检查主虚拟机是否已关闭。 对虚拟机进行故障转移后,它会在可用时开始将更改复制回主站点。 请注意,若要使此功能正常运行,应将主服务器配置为从辅助服务器接收复制,如果是主群集,则从 Hyper-V 副本代理接收复制。 计划内故障转移会发送最后一组跟踪的更改。 有关详细信息,请参阅 Hyper-V 副本中的计划内故障转移。
计划外故障转移:若要运行计划外故障转移,请右键单击副本虚拟机,然后从 Hyper-V 管理器或故障转移群集管理器选择复制>计划外故障转移。 如果启用此选项,可以从最新的恢复点或以前的恢复点进行恢复。 完成故障转移后,检查已执行故障转移的虚拟机上的所有内容是否按预期工作,然后在副本虚拟机上单击完成。 了解详细信息。