适用场景

容灾方案不演练等于没有。演练的关键是「真做」:真切换、真计时、真验证业务,而不是开会过一遍流程。演练要选低风险窗口,但必须让关键步骤真实执行。

配置步骤(切换演练执行)

# 演练脚本要素
1) 演练前
   - 通知业务方与相关厂商
   - 确认备份可用、快照已打
   - 确认回切方案与判断标准
2) 切换步骤(示例:数据库 + 应用)
   - T0 宣布开始,记录时间
   - 停止对主库写入,确认从库追平(记录延迟)
   - 提升从库为主库(记录耗时)
   - 修改应用连接配置并重启(记录耗时)
   - 验证核心业务(下单、查询、报表)
3) 记录 RTO:T0 到业务可用时间
4) 记录 RPO:最后一条已同步数据时间差

关键参数与建议

  • 演练分级:桌面推演 → 单组件切换 → 全流程切换,逐级提升
  • 范围明确:哪些系统参与、哪些不参与,避免影响生产
  • 计时口径:从决策到业务可用的总时间,拆解到每个步骤
  • 数据校验:切换后核对数据完整性与时序,确认 RPO
  • 业务验证:不只验证服务能启动,要验证核心业务可办理
  • 回切方案:回切步骤与切换同样详细,且提前验证过
  • 演练报告:时间线、问题清单、改进项与责任人

容易踩的坑

  • 演练只做桌面推演,真切换时手忙脚乱
  • 切换步骤没写清前置条件,卡在第一步
  • 从库未追平就提升,数据丢失
  • 应用连接配置改完忘了重启,误判切换失败
  • 只验证端口通不通,不验证业务可用
  • 演练时间没记录,RTO 无法量化

验证与巡检

# 切换后验证
# 1) 数据库角色与延迟
mysql -e 'SHOW SLAVE STATUS\G' | grep -E 'Running|Seconds'
# 2) 应用健康与核心接口
curl -s -o /dev/null -w '%{http_code}\n' https://app.example.com/health
# 3) 业务校验:下一笔订单能否成功并落库
  • 巡检:演练报告归档、RTO/RPO 实测值、遗留问题闭环

小结

容灾演练验收:能在计划窗口内完成切换并让核心业务可用,RTO/RPO 实测值达标,问题清单闭环,回切步骤可执行。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。