5.3 容灾方案与切换演练


5.3 容灾方案与切换演练

本节摘要:容灾回答的是机房级故障:数据在异地有没有副本、多久能切、敢不敢自动切。本节对比同机房、同城、异地三档方案,给出切换决策树,并用一次完整的月度切换演练说明"自动切换为什么必须经过人工演练背书"。

一句行话定框架:RPO 与 RTO

谈容灾绕不开两个指标。RPO(恢复点目标):灾难发生时最多丢多长时间的数据,衡量"丢多少";RTO(恢复时间目标):从故障到恢复服务要多久,衡量"停多久"。两个数字不是技术参数,是业务承诺——签在方案里就要为之设计架构。同机房主备同步复制:RPO 趋近零(不丢已提交事务)、RTO 以分钟计,但机房整体故障时同归于尽;同城两机房同步:抗单机房故障,RPO 仍可趋近零,RTO 加上机房切换的决策时间;异地异步容灾:抗区域性灾难,RPO 变成"若干分钟的数据差",因为异步复制天然落后。三档方案是叠加设计:同城同步保数据、异地异步保存亡,不是三选一。

切换演练实录:把预案走成肌肉记忆

某政务云项目的月度演练实录。场景设定:模拟主机房级故障,人工决策切换到同城备机房。T 加零分,演练指挥宣布进入预案,值班组冻结变更窗口;T 加两分钟,核对触发条件——主机房模拟断网,CM 已记录仲裁事件,备机房数据同步状态正常;T 加五分钟,决策组签字批准切换(演练中此步是真实的签字流程,不是走过场);T 加八分钟,备机房执行提升命令,原备机转为主角色;T 加十分钟,应用侧连接串切换,只读接口先行验证;T 加十四分钟,全量冒烟用例通过,对外恢复服务;T 加三十分钟,出具演练纪要,原机房恢复后按回切窗口另行安排。整场演练十三分钟完成切换,比预案承诺的十五分钟达标——但真正的产出是纪要里记下的两个问题:冒烟用例有两处依赖配置未同步到备机房、连接串切换脚本对某个从库的地址漏改。这两个问题在真故障时会各吃掉至少五分钟。

自动切换的边界:哪些交给机器,哪些留给人

CM 组件的自动仲裁能处理绝大多数实例级故障:进程崩溃、节点宕机、心跳丢失,仲裁后自动提升备机,分钟级恢复,这类场景自动化的收益远大于风险。但机房级故障必须留人工决策闸门,原因有三:一,机房级"故障"有相当比例是网络抖动或维护误操作,盲目切换会把正常机房切垮;二,切换涉及数据窗口的确认(尤其异地异步),这个判断需要业务输入;三,反复切换(脑裂)的后果比短暂停服严重得多,人工闸门是防脑裂的最后防线。我们在方案评审时的固定问题:"你们的自动切换覆盖到哪一级?机房级的谁签字?"回答含糊的方案,验收时都要打回补预案。

图:三档容灾方案的指标对照

图:三档容灾方案的指标对照

回切:演练里最容易被省略的半场

切换演练通常以"新机房接管、冒烟通过"收官,但生产事故的完整闭环还包括回切——原机房修复后把主角色迁回去。回切的坑不比切换少:原机房的数据在故障期间可能落后(尤其异步容灾),直接提升会覆盖新机房的增量;回切窗口要选业务低谷并再次走决策闸门。规范做法:回切前先做增量对账(对比两机房数据位点与关键表行数),确认原机房已追平,再按与切换相同的流程反向执行,冒烟通过才算闭环。演练纪要里如果只有切换没有回切,这个预案在审计眼里就是半份。

决策树的使用训练:桌面推演

有了决策树还要会用,桌面推演是性价比最高的训练形式:不开真实环境,拉上值班、网络、业务三方,主持人念场景,各角色按决策树口述动作与耗时。经典场景三连:场景一,主机进程崩溃——决策树走到自动切换分支,值班口述确认 CM 事件与验证步骤;场景二,主机房网络抖动五分钟——决策树走到观察分支,讨论"等多久才判机房级故障",这个阈值必须在推演里定下来;场景三,同城机房真断电且异地链路同步异常——最复杂的分支,业务方现场给出数据窗口的接受口径。推演的价值在于暴露决策树里"没写过的人",比如网络团队何时介入、业务口径由谁现场拍板、对外通报的模板在谁手里。一次两小时的推演,通常能补上预案里五到八个空洞——比真实故障来补课便宜太多了。

容灾演练的分级日历

容灾能力靠演练维持,但演练有成本,分级日历是平衡术。月度:切换演练(5.3 的实录流程),半小时级,值班组执行;季度:备份恢复演练加桌面推演,半天级,运维加业务代表参与;年度:机房级切换实演(真把主角色切到同城并回切),一天级,全链路参与并出正式报告。分级的关键纪律:低级别演练暴露的问题必须流入高级别演练的验证清单——月度发现的配置漂移,季度演练要确认已修复。日历排进团队年度计划而不是"有空再做",容灾能力的衰退是静悄悄的,等发现时往往已经在事故报告里了。

现场问答三则

问答一:"切换演练会不会把演练变成事故?"——会,如果演练环境与生产没有隔离的话;规范做法是先在影子环境演练,生产首次切换选业务低谷并全员到岗,风险控制靠流程而不是靠运气。问答二:"CM 自动切换了,我们还需要人工演练吗?"——需要,自动切换只覆盖实例级故障,机房级决策、回切、增量对账都不在它的射程内;人工演练练的正是机器不接管的那些环节。问答三:"异地异步容灾的分钟级数据差,业务方不认怎么办?"——这不是技术问题而是商务与合规问题,把数据差的量化口径(正常几秒、故障时几分钟)、赔偿或补偿机制写进 SLA 谈判;技术上的补救只有缩短同步周期与加快链路,物理定律不迁就意愿。三则问答对应容灾推进时的三道典型阻力,提前备好口径。

切换预案文档的标准结构

预案要写到"新人拿着也能执行"的程度,标准结构六段。第一段,适用范围与触发条件:什么级别的故障启用本预案,触发条件可观测(哪个监控项越过哪个阈值)。第二段,角色与通讯:决策人、执行人、验证人、通报人各是谁,联系不上时的递补顺序。第三段,执行步骤:编号到步,每步写明命令或操作入口、预期输出、负责人,估算耗时。第四段,验证清单:切换后的检查项与通过标准(复制状态、业务冒烟、监控恢复)。第五段,回退路径:什么条件下放弃切换执行回退,回退的动作序列。第六段,附件:连接串清单、账号信息索引、历史演练记录索引。文档写完用 5.3 的桌面推演检验一遍——推演里每卡壳一次,就说明有一段写得不够执行级。预案的质量不是文风问题,是可以在推演里量化的问题。

本节要点回顾

  • 两个数字定方案:RPO 管丢多少、RTO 管停多久,都是业务承诺不是技术参数;
  • 三档叠加:同机房自动保可用、同城同步保机房、异地异步保存亡;
  • 自动化的边界:实例级交给 CM,机房级留人工闸门,防误切与脑裂;
  • 演练产出是问题清单:比"十三分钟达标"更值钱的是暴露的配置漂移;
  • 回切是半场球:增量对账加反向流程加冒烟,缺了就不算闭环。

数据不丢、服务不停的目标有了整套打法。第 6 章转向另一条验收线:安全合规——数据不被偷、不被改、行为可追溯。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U