更新时间:2026-07-28 GMT+08:00
分享

特性概述

功能定义

在确保数据零丢失的前提下,通过计划内切换主数据库实例和灾备数据库实例的角色(Switchover),实现在数据库维护升级与容灾演练等场景中对系统可用性的保证。倒换原理如下图所示。

图1 集群间倒换原理

用户场景

银行核心交易系统需定期验证容灾能力,通过主动switchover将主集群切换至同城或者异地的灾备集群,验证RPO=0(零数据丢失)且RTO(业务恢复时间)满足规格。

规格约束

规格约束根据容灾形态的选择有部分差异:

  • 基于流式复制的异地容灾解决方案。
    • 基于paxos协议:
      • 在没有日志积压(即容灾监控指标RPO<=10秒,RTO<=1秒),sequence个数少于10,主备集群实例均处于Normal状态且所有组件(CN、DN、ETCD、GTM、CM_Agent、CM_Server)状态正常,且打开快速倒换模式的情况下,启动容灾倒换可在内核时间30秒内完成倒换,特别地,当主备集群异构且CN数量不一致,倒换完成之后,CN数量多的集群会以Degraded态退出。
      • 在没有日志积压(即容灾监控指标RPO<=10秒,RTO<=1秒),sequence个数少于10,主备集群实例部分组件(CN、DN、ETCD、GTM、CM_Agent、CM_Server)状态异常且仍满足少数派故障的情况下,且打开快速倒换模式的情况下,启动容灾倒换可在内核时间90秒内完成倒换。
      • 在有日志积压(即容灾监控指标RPO>10秒,RTO>1秒),日志传输、日志回放会增加容灾倒换的耗时,无法实现规格内的倒换。
      • 在ARM平台下,如果PAGESIZE(查询方式:getconf PAGESIZE)不满足64KB规格,无法实现规格内的倒换。
    • 基于quorum协议:
      • 在没有日志积压(即容灾监控指标RPO<=10秒,RTO<=1秒),sequence个数少于10,主备集群实例均处于Normal状态且所有组件(CN、DN、ETCD、GTM、CM_Agent、CM_Server)状态正常,且打开快速倒换模式的情况下,启动容灾倒换可在内核时间20秒内完成倒换,特别地,当主备集群异构且CN数量不一致,倒换完成之后,CN数量多的集群会以Degraded态退出。
      • 在没有日志积压(即容灾监控指标RPO<=10秒,RTO<=1秒),sequence个数少于10,主备集群实例部分组件(CN、DN、ETCD、GTM、CM_Agent、CM_Server)状态异常且仍满足少数派故障的情况下,且打开快速倒换模式的情况下,启动容灾倒换可在内核时间90秒内完成倒换。
      • 在有日志积压(即容灾监控指标RPO>10秒,RTO>1秒),日志传输、日志回放会增加容灾倒换的耗时,无法实现规格内的倒换。
      • 在ARM平台下,如果PAGESIZE(查询方式:getconf PAGESIZE)不满足64KB规格,无法实现规格内的倒换。
  • 基于同城双中心高可用方案。
    • 在备集群回放能追上主集群且备集群网络正常的场景下,若集群整体运行正常,内核执行failover的平均RTO小于30秒;若集群出现少数派故障,内核执行failover的平均RTO小于90秒(具体时间受集群待回放的日志量影响,当前数据为3CN3DN3副本配置的情况)。
    • 在备集群回放能追上主集群且备集群网络正常的场景下,若不存在日志积压(即容灾监控指标RTO <= 1秒)、Sequence数量少于10,且集群整体运行正常,内核执行switchover的平均RTO小于1分钟;若集群出现少数派故障,内核执行switchover的平均RTO小于2分钟(具体时间受集群待回放的日志量影响,当前数据为3CN3DN3副本配置的情况)。
    • 如果出现超规格场景,比如短暂大业务压力场景,RTO将不可避免地升高。实测表明,当前版本若要满足上述failover和switchover的RTO约束,需保证主集群单分片日志产生速率控制在特定范围内,典型配置下的日志产生速率要求如表1所示。
      表1 典型配置下日志产生速率

      典型配置

      支持主集群单分片日志产生速率

      96U/768G/SATA SSD

      <=7.5MB/s

集群间倒换RTO规格演进请参见表2

表2 集群间倒换RTO规格演进

容灾形态

部署方式

R2C10

503.1

503.1 SPC2000c

503.2

505

505.1

505.2

505.2.1 SPC0100

506.0

506.1及以后

基于流式复制的异地容灾解决方案

集中式

5分钟(SPC660之后版本优化到50秒)

5分钟(SPC1700之后版本优化到50秒)

50秒

50秒

50秒

50秒

50秒

50秒

10秒

10秒

分布式

10分钟

10分钟

10分钟

10分钟

60秒

60秒

30秒

30秒

20秒

20秒

基于同城双中心高可用方案

集中式

2分钟

2分钟

60秒

2分钟

2分钟

2分钟

2分钟

60秒

60秒

60秒

分布式

不支持

不支持

不支持

不支持

3分钟

2分钟

2分钟

2分钟

60秒

60秒

相关文档