跳到主要内容

第一次故障切换

本页用控制台完成第一次实例级 Failover。开始前,请确保已经完成 创建第一个容灾实例,并且实例已经进入 Protected,界面展示为 保护中

如果需要完整的参数解释、接口字段和真实超时补偿案例,请继续阅读教程中的 执行实例级故障切换 Failover

前置检查

进入 容灾管理 / 实例配置,确认目标实例状态为 保护中

保护中的容灾实例列表

点击实例名称进入详情页,先确认 资源同步策略 中 DataSync 和 ResourceSync 最近一次同步成功。

资源与数据同步状态

切换前还应确认:

  • 目标集群已经准备好镜像、Secret、StorageClass、IngressClass 和必要 CRD。
  • 目标集群 standby 资源已经创建。
  • 团队已经确认业务流量切换窗口。
  • 如果要执行最终同步,预留的操作超时时间应覆盖实际数据量。

打开实例操作

在实例详情页切换到 实例操作 标签。拓扑图会展示当前主集群、备集群和备份存储。

保护中实例操作拓扑

这个页面上的主要按钮含义如下:

  • 容灾切换:将当前受保护应用从主集群切换到备集群。
  • 暂停 / 启动:暂停或恢复周期性数据同步和资源同步。
  • 容灾回退:切换成功后可用,用于撤销本次切换。
  • 反向保护:切换成功后可用,用于在新的主备方向重新建立保护。

提交故障切换

点击 容灾切换,控制台会弹出确认框。

容灾切换确认框

第一次演练建议按业务 runbook 决定是否勾选:

选项建议
源集群缩0生产切换通常建议勾选,避免源端和目标端同时对外服务。
执行最后一次同步数据量较小、窗口充足时建议勾选;数据量较大或紧急切换时可以按最近一次成功同步点切换。
跳过容器就绪验证演练环境可按需勾选;生产切换通常应保留就绪检查,除非 runbook 明确要求跳过。

示例中勾选了 源集群缩0执行最后一次同步

容灾切换选项

确认后,实例进入 故障切换中。此时操作按钮会被禁用,避免重复提交。

容灾切换执行中

观察执行结果

切换过程中,保持在实例详情页查看状态变化。控制台会根据 DisasterOperation 的执行状态更新实例状态、拓扑和操作按钮。

Failover 通常会依次执行:

  1. PreCheck:检查实例、集群、仓库和同步状态。
  2. PauseSchedules:暂停周期同步。
  3. FinalSync:执行最后一次同步。
  4. ScaleDownSource:按策略缩容源端。
  5. ScaleUpTarget:恢复目标侧副本数。
  6. CheckReplicas:检查目标侧工作负载状态。
  7. SwitchRoles:切换主备角色。

如果最终同步超时或某个步骤失败,Operator 会把失败原因写入操作历史,并按能力执行补偿。快速开始阶段不建议直接通过接口重试,应先查看页面上的状态、事件和历史记录,再进入完整教程排查。

切换成功

切换成功后,实例会进入 Active,当前控制台展示为 未保护。这表示应用已经切换到目标集群运行,但新的保护方向尚未建立。

切换后 Active 状态

返回实例列表,也可以看到该实例状态变为 未保护

切换后实例列表

此时应按照业务 runbook 完成外部流量切换,例如 DNS、网关、Ingress、全局负载均衡或上层平台路由。Testudo 不直接替代业务流量治理。

建立反向保护

目标集群确认接管业务后,回到实例详情页,点击 反向保护

反向保护前的操作按钮

反向保护成功后,实例重新进入 Protected,控制台展示为 保护中。此时新的主集群是故障切换后的目标集群,新的备集群是原主集群。

反向保护后回到保护中

在历史记录中可以查看本次故障切换和反向保护操作,便于审计和复盘。

容灾操作历史

下一步