0Pricing
Cloud & IT Cert Prep · 课时

恢复计划与自动故障转移

创建 ASR 恢复计划,按应用层级安排 VM 故障转移,添加手动审批关卡,并包含故障转移前后的脚本。

恢复计划与自动故障转移 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

什么是 ASR 恢复计划

Azure Site Recovery 中的Recovery Plan是一组结构化且有顺序的步骤,用于协调多个 VM 一起执行故障转移。恢复计划不会让每个 VM 单独进行故障转移,而是将它们分成多个组,按顺序执行故障转移,确保基础设施(数据库、中间件、Web)按照正确顺序启动,就像初次部署时一样。

创建恢复计划

要创建恢复计划,请选择源站点(主要区域)和目标站点(辅助区域),然后添加要包含的 VM。计划向导会自动创建一个默认组,但您可以添加更多组来控制故障转移顺序。同一组中的 VM 会同时进行故障转移;各组按照编号顺序执行。

# Create an ASR Recovery Plan via CLI:
az site-recovery recovery-plan create \
  --resource-group myRG \
  --vault-name myRecoveryVault \
  --name myRecoveryPlan \
  --primary-fabric-id '/subscriptions/.../replicationFabrics/eastus' \
  --recovery-fabric-id '/subscriptions/.../replicationFabrics/westus' \
  --groups '[{"groupType":"Boot","replicationProtectedItems":[...]}]'

为多层应用程序安排组的顺序

对于典型的三层应用程序,恢复计划应包含三个组:

  • 组 1——数据库层 VM(必须首先启动)
  • 组 2——应用程序/中间件层 VM
  • 组 3——Web 前端 VM(最后启动)

每个组都会等待前一个组成功完成故障转移后再启动。这与正确的启动顺序一致,可以防止 Web 层 VM 在数据库准备好接受连接之前启动。

添加手动操作和脚本

恢复计划支持在每个组边界处配置前置操作和后置操作。这些操作可以是:

  • 手动操作——暂停故障转移,等待人员确认(例如“验证数据库已准备就绪”)
  • Azure Automation 运行手册——自动执行脚本(例如更新 DNS 记录、禁用维护模式)

使用 Automation 运行手册可以为第 1 层工作负载实现无需人工干预的全自动故障转移。

# Example Automation runbook action in a recovery plan:
# Pre-group-2 action: Run runbook 'UpdateConnectionStrings'
# This runbook updates app config to point to secondary DB endpoint
# before the application tier VMs start

计划内与非计划内故障转移

Azure Site Recovery 支持两种故障转移类型:

  • 计划内故障转移——在已知事件发生前启动(例如数据中心维护)。主要 VM 会正常关闭,数据完成同步后,辅助 VM 启动。不会丢失数据。
  • 非计划内故障转移——在实际灾难期间触发。主要 VM 可能不可用,因此 ASR 会使用最新的复制检查点。根据 RPO 的不同,可能会丢失部分数据。
# Trigger an unplanned failover via CLI:
az site-recovery recovery-plan failover-unplanned \
  --resource-group myRG \
  --vault-name myRecoveryVault \
  --name myRecoveryPlan \
  --failover-direction PrimaryToRecovery

Commit 与故障恢复切回

故障转移后,辅助区域中恢复的 VM 会处于等待提交状态。您必须Commit故障转移,以确认辅助站点现在是活动站点,并且不再需要回滚。提交后,您可以设置反向复制来保护辅助站点,待主要区域恢复后,最终再切回主要区域。

# Commit the failover:
az site-recovery recovery-plan commit \
  --resource-group myRG \
  --vault-name myRecoveryVault \
  --name myRecoveryPlan

# Then configure reverse replication to enable failback later

故障转移后重新保护

提交故障转移后,原主要区域中的复制项将不再处于活动复制状态。要恢复保护,您必须对这些项执行重新保护——这会反转复制方向,使新的主要区域(原辅助区域)向原主要区域进行复制。重新保护需要一定时间,应在原主要区域再次可用后尽快启动。

恢复计划中的 RTO 测量

恢复计划中的每个步骤都会增加总 RTO。常见的耗时环节包括:

  • VM 启动时间(每个 VM 需要 2–5 分钟)
  • 应用预热时间(数据库连接池初始化、缓存预热)
  • IP 更改后的 DNS 传播时间
  • 手动审批关卡的等待时间

请在测试故障转移期间测量每个步骤的耗时,并将它们相加,以计算您的实际 RTO,然后与目标值进行比较。

自动执行 DNS 更新

发生故障转移后,次要区域中的 VM 会拥有不同的 IP 地址。对于公开 DNS 名称的应用,您必须更新 DNS,使其指向新的 IP。请使用 Azure 自动化运行手册作为故障转移后的操作,以更新 Azure DNS 或 Traffic Manager 终结点的运行状况,从而自动重定向流量,避免因手动操作延迟 RTO。

# Example: Update Azure DNS record in a runbook after failover:
# az network dns record-set a update \
#   --resource-group dnsRG \
#   --zone-name myapp.com \
#   --record-set-name '@' \
#   --set 'ARecords[0].ipv4Address=<new-secondary-ip>'

监视恢复计划执行情况

在故障转移期间,Recovery 服务保管库中的 Azure 门户作业视图会显示恢复计划中每个步骤的实时进度。您可以查看正在执行的组、已成功启动的 VM,以及是否有脚本或手动操作处于等待状态。监视此视图可以帮助恢复团队在某个步骤失败时迅速介入。

恢复计划最佳实践

恢复计划的关键最佳实践包括:

  • 保持组规模较小(5–10 个 VM),以便在组失败时限制影响范围
  • 尽可能使用自动化运行手册代替手动操作,以降低 RTO
  • 记录每个组的预期启动时间,以便计算 RTO
  • 至少每季度运行一次测试故障转移,验证计划是否有效
  • 每当添加新的 VM 或应用架构发生变化时,都要检查并更新计划

快速检查

请测试您对本课 Microsoft Azure Fundamentals (AZ-900) 概念的理解。

课程回顾

本课介绍了:恢复计划会协调多个 VM 按顺序进行故障转移,并在每个组执行预操作和后操作;计划外故障转移使用最后一个复制检查点,而计划内故障转移不会造成数据丢失;故障转移后,您必须提交并重新保护,才能恢复 DR 保护。接下来,我们将探讨如何在不影响生产环境的情况下测试 DR 计划。

常见问题解答

「恢复计划与自动故障转移」课时是免费的吗?

是的 — 「恢复计划与自动故障转移」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「恢复计划与自动故障转移」这节课中我会学到什么?

创建 ASR 恢复计划,按应用层级安排 VM 故障转移,添加手动审批关卡,并包含故障转移前后的脚本。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「恢复计划与自动故障转移」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 定义 RTO、RPO 和恢复层级
  2. 恢复计划与自动故障转移
  3. 无影响的 DR 测试
  4. PaaS 服务的 DR
← 返回 Cloud & IT Cert Prep