首页/数据/备份与容灾速查/故障切换 Failover

故障切换 Failover

把服务从故障侧转移到可用侧的过程;分计划内切换(维护窗口主动切)与计划外切换(故障触发),后者最容易出问题。

备份与容灾速查数据更新于 2026-10-13

故障切换是什么

故障切换把服务从故障侧转移到可用侧,分计划内切换与计划外切换两类。计划内切换发生在维护、升级与演练窗口,可以提前核对与预演;计划外切换由故障触发,时间压力大、信息不全,是真正容易出错的一类。切换的核心不是『能不能切』,而是『切得确定』。

两类切换对照

维度计划内切换计划外切换
触发维护、演练、升级故障、断电、网络中断
准备度可提前核对与预演时间压力大,依赖手册
风险低,可回退高,决策与隔离容易出错
重点窗口协调与回切计划快速判定、防脑裂、数据校验

基本信息

关键动作判定、隔离、提升、引流、验证、通知
最大风险未隔离故障侧就提升备侧,形成双写
验证方式切换演练,覆盖计划内与模拟故障两种
回切要求恢复原主侧后按计划回切,并重新建立复制关系

计划外切换步骤

计划外切换步骤
1) 判定:确认是故障而非抖动(多路监控交叉验证)
2) 隔离:切断故障侧写入,避免双写
3) 提升:备侧数据库转主、应用启动
4) 引流:切换 VIP、DNS 或网关
5) 验证:核心链路冒烟测试
6) 通知:同步相关方并记录时间线

切换失败的常见原因

  • 隔离不彻底:故障侧网络恢复后继续接受写入,两侧数据分叉
  • 缺少提升前置检查:复制延迟未归零、只读状态异常时直接提升,丢数据
  • 配置漂移:备侧的应用配置、证书、连接池与生产长期不同步,接管时暴露
  • 验证不完整:数据库起来了但没有业务冒烟测试,实际服务不可用
  • 没有回切计划:故障侧恢复后长期处于不确定状态,复制关系无人重建
切换不是『点一个按钮』:没有隔离动作的自动化切换在脑裂场景下可能扩大事故,无法隔离故障侧时应转为人工决策。
计划内切换是验证计划外切换的最好方式:在可控窗口里把每个步骤走一遍,比在故障当天第一次执行要安全得多。

易错点

  • 未切断故障侧就提升备侧,网络恢复后出现双主双写
  • 切换后没有业务验证清单,『数据库起来了』不等于『业务可用』
  • 备侧长期不接受真实流量,证书、连接池、存储权限等问题在切换时才暴露
  • 切换动作依赖某个人的经验而不是手册,人员不在场时无人敢执行

数据来源与参考

  • NIST SP 800-34(切换与恢复流程)
  • 各类高可用方案官方文档(failover 语义)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌