特性概述
功能定义
在确保数据零丢失的前提下,通过计划内切换主数据库实例和灾备数据库实例的角色(Switchover),实现在数据库维护升级与容灾演练等场景中对系统可用性的保证。倒换原理如下图所示。
用户场景
银行核心交易系统需定期验证容灾能力,通过主动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规格,无法实现规格内的倒换。
- 基于paxos协议:
- 基于同城双中心高可用方案。
- 在备集群回放能追上主集群且备集群网络正常的场景下,若集群整体运行正常,内核执行failover的平均RTO小于30秒;若集群出现少数派故障,内核执行failover的平均RTO小于90秒(具体时间受集群待回放的日志量影响,当前数据为3CN3DN3副本配置的情况)。
- 在备集群回放能追上主集群且备集群网络正常的场景下,若不存在日志积压(即容灾监控指标RTO <= 1秒)、Sequence数量少于10,且集群整体运行正常,内核执行switchover的平均RTO小于1分钟;若集群出现少数派故障,内核执行switchover的平均RTO小于2分钟(具体时间受集群待回放的日志量影响,当前数据为3CN3DN3副本配置的情况)。
- 如果出现超规格场景,比如短暂大业务压力场景,RTO将不可避免地升高。实测表明,当前版本若要满足上述failover和switchover的RTO约束,需保证主集群单分片日志产生速率控制在特定范围内,典型配置下的日志产生速率要求如表1所示。
集群间倒换RTO规格演进请参见表2。
| 容灾形态 | 部署方式 | 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秒 |