重新保护已故障转移到主要区域的 Azure 虚拟机

使用 Azure Site Recovery 将 Azure 虚拟机从一个区域故障转移到另一个区域后,虚拟机将在次要区域中启动,且不受保护。 若要将虚拟机故障回复到主要区域,请执行以下任务:

  1. 在次要区域中重新保护虚拟机,以便这些虚拟机开始复制到主要区域。
  2. 重新保护完成并且虚拟机开始复制后,可将其从次要区域故障转移到主要区域。

先决条件

  • 必须提交将虚拟机从主要区域故障转移到次要区域的操作。 虚拟机状态必须变为“已完成故障转移”才能进行启动。
  • 主要目标站点应该可用,并且应该能够在该区域中访问或创建资源。

重新保护虚拟机

  1. 在“保管库”>“复制的项”中,右键单击已故障转移的虚拟机,并选择“重新保护”。 重新保护方向应该显示为从次要区域到主要区域。

    屏幕截图显示一个虚拟机,其中包含已选择“重新保护”的上下文菜单。

  2. 查看资源组、网络、存储和可用性集。 然后选择“确定” 。 如果有任何资源标记为“新”,则表示它们是在重新保护过程中创建的。

  3. 重新保护作业使用最新数据植入目标站点。 该作业完成后,将发生增量复制。 然后,可以故障转移回到主要站点。 可以使用自定义选项,选择要在重新保护期间使用的存储帐户或网络。

    屏幕截图显示 Azure 门户上的“自定义”选项。

自定义重新保护设置

可在重新保护期间自定义以下目标虚拟机属性。

屏幕截图显示 Azure 门户上的“自定义”。

属性 注释
目标资源组 修改创建虚拟机的目标资源组。 在重新保护的过程中,将删除目标虚拟机。 将故障转移的虚拟机重新保护到源虚拟机时,无法更改目标资源组。
目标虚拟网络 执行重新保护作业期间,无法更改目标网络。 若要更改网络,请重做网络映射。
容量预留 为虚拟机配置容量预留。 可以创建新的容量预留组来预留容量,或选择现有的容量预留组。 详细了解容量预留。
目标存储(辅助虚拟机不使用托管磁盘) 可以更改故障转移后虚拟机使用的存储帐户。
副本托管磁盘(辅助虚拟机使用托管磁盘) Site Recovery 在主要区域中创建副本托管磁盘以监视辅助虚拟机的托管磁盘。
缓存存储 可以指定复制期间要使用的缓存存储帐户。 默认情况下,如果不存在缓存存储帐户,则会创建一个帐户。
默认情况下,将使用为原始主位置中的源虚拟机选择的存储帐户(标准存储帐户或高级块 Blob 存储帐户)类型。 例如,在从原始源复制到目标期间,如果选择了“高变动率”,则从目标重新保护到原始源期间,默认情况下将使用高级块 Blob。 可以配置和更改它以进行重新保护。
可用性集 如果次要区域中的虚拟机属于可用性集,则可为主要区域中的目标虚拟机选择可用性集。 默认情况下,Site Recovery 会尝试在主要区域中查找并使用现有的可用性集。 在自定义期间,可以指定新的可用性集。

重新保护期间会发生什么情况?

默认会发生以下情况:

  1. 在运行故障转移的虚拟机的区域中创建一个缓存存储帐户。
  2. 如果目标存储帐户(主要区域中的原始存储帐户)不存在,则会创建一个新帐户。 分配的存储帐户名称是辅助虚拟机使用的存储帐户名称,并带有后缀 asr
  3. 如果虚拟机使用托管磁盘,则主要区域中会创建副本托管磁盘以存储从辅助虚拟机磁盘中复制的数据。
  4. 源磁盘(附加到次要区域中的虚拟机的磁盘)的临时副本是以名称 ms-asr-<GUID> 创建的,用于传输/读取数据。 临时磁盘允许我们利用磁盘的全部带宽,而不仅仅是 16% 的原始磁盘(已连接到虚拟机的磁盘)带宽。 重新保护完成后,将删除临时磁盘。
  5. 如果目标可用性集不存在,将在执行重新保护作业期间根据需要新建一个可用性集。 如果已自定义重新保护设置,则会使用选定的可用性集。

触发重新保护作业时,如果目标虚拟机存在,则会发生以下情况:

  1. 关闭正在运行的目标端虚拟机。
  2. 如果虚拟机使用托管磁盘,则会创建原始磁盘的带有 -ASRReplica 后缀的副本。 原始磁盘将被删除。 -ASRReplica 副本用于复制。
  3. 如果虚拟机使用的是非托管磁盘,则会分离目标虚拟机的数据磁盘并将其用于复制。 将会创建 OS 磁盘的一个副本并将其附加到虚拟机上。 将分离原始 OS 磁盘并将其用于复制。
  4. 仅同步源磁盘与目标磁盘之间的更改。 将通过比较两个磁盘来计算差异,然后传输这些差异。 查看以下信息来确定完成重新保护所需的估算时间。
  5. 同步完成后,将开始增量复制,并根据复制策略创建恢复点。

触发重新保护作业时,如果目标虚拟机和磁盘不存在,则会发生以下情况:

  1. 如果虚拟机使用托管磁盘,则会创建带有 -ASRReplica 后缀的副本磁盘。 -ASRReplica 副本用于复制。
  2. 如果虚拟机使用的是非托管磁盘,则会在目标存储帐户中创建副本磁盘。
  3. 将全部磁盘从故障转移的区域复制到新的目标区域。
  4. 同步完成后,将开始增量复制,并根据复制策略创建恢复点。

注意

ms-asr 磁盘是将在重新保护操作完成后删除的临时磁盘。 在这些磁盘处于活动状态期间,会根据 Azure 托管磁盘的价格向你收取最低费用。

估计的进行重新保护所需的时间

大多数情况下,Azure Site Recovery 不会将完整数据复制到源区域。 复制的数据量取决于以下条件:

  1. 如果源虚拟机的数据因某种原因被删除、损坏或无法访问,Azure Site Recovery 不支持重新保护。 例如,资源组更改或删除。 或者,可以禁用以前的灾难恢复保护,并从当前区域启用新的保护。
  2. 如果源虚拟机数据可访问,则通过比较两个磁盘来计算差异,并且仅传输差异。 在这种情况下,重新保护时间大于或等于 checksum calculation time + checksum differentials transfer time + time taken to process the recovery points from Azure Site Recovery agent + auto scale time

控制方案 2 中的重新保护时间的因素

在方案 2 中,当源虚拟机可访问时,以下因素会影响重新保护时间:

  1. 校验和计算时间 - 完成从主要位置到灾难恢复位置的启用复制过程所花费的时间用作校验和差异计算的基准。 导航到“恢复服务保管库”>“监视”>“Site Recovery 作业”,查看完成启用复制过程所需的时间。 这是完成校验和计算所需的最短时间。 屏幕截图显示 Azure 门户上虚拟机重新保护的持续时间。

  2. 校验和差异数据传输大约为磁盘吞吐量的 23%。

  3. 处理从 Azure Site Recovery 代理发送的恢复点所花费的时间 – Azure Site Recovery 代理也会在校验和计算和传输阶段继续发送恢复点。 但是,Azure Site Recovery 仅在校验和差异传输完成后处理它们。 处理恢复点所需的时间约为校验和差异计算时间和校验和差异传输时间(校验和差异计算时间 + 校验和差异传输时间)的五分之一 (1/5)。 例如,如果校验和差异计算和校验和差异传输所需的时间为 15 小时,则处理代理中恢复点所需的时间将为 3 小时。

  4. 自动缩放时间约为 20-30 分钟。

示例方案:

让我们以以下屏幕截图中的示例为例,其中启用从主服务器到灾难恢复位置的复制需要 1 小时 12 分钟。 校验和计算时间至少为 1 小时 12 分钟。 假设故障转移后的数据更改量为 45 GB,磁盘的吞吐量为 60 Mbps,则差异传输将以 14 Mbps 的速度进行,差异传输所需的时间为 45 GB/14 Mbps,大约为 55 分钟。 处理恢复点所需的时间约为校验和计算所需总时间(72 分钟)和数据传输所需时间(55 分钟)的五分之一,即约 25 分钟。 此外,自动缩放需要 20-30 分钟。 因此,重新保护的总时间至少应为三小时。

屏幕截图显示 Azure 门户上虚拟机重新保护的示例持续时间。

以上是有关如何估计重新保护时间的简单说明。

在将虚拟机从灾难恢复区域重新保护到主要区域时(即从主要区域故障转移到灾难恢复区域后),将删除目标虚拟机(原始源虚拟机)和关联的 NIC。

但是,在故障回复后将虚拟机从主要区域重新保护到灾难恢复区域时,我们不会删除在之前故障转移期间创建的灾难恢复区域中的虚拟机和关联 NIC。

后续步骤

保护虚拟机后,可以启动故障转移。 故障转移过程会关闭次要区域中的虚拟机,在主要区域中创建并启动虚拟机,这会出现短暂的停机。 我们建议选择适当的时间完成此过程,并在完全故障转移到主站点之前运行测试故障转移。

详细了解 Azure Site Recovery 故障转移。