两地三中心跨Region容灾
要实现跨Region容灾,需要部署两套数据库实例,一套主数据库实例,一套灾备数据库实例。主数据库实例和灾备数据库实例一般部署在相距较远的两个不同城市。数据库实例之间借助存储介质或者不借助存储介质直接实现数据的全量和增量同步。当主数据库实例(即生产数据库实例)出现地域性故障,数据完全无法恢复时。可考虑启用将灾备数据库实例升主,以接管业务。
openGauss当前提供基于流式复制的异地容灾解决方案。
基于流式复制的异地容灾解决方案
概述
从openGauss 3.1.0版本开始,两地三中心跨Region容灾开始提供该解决方案。
规格与约束
本节就该解决方案的特性规格与约束进行详细描述,管理人员需重点关注。
特性规格
-
主数据库实例或灾备数据库实例内网络时延要求<=10毫秒,主备数据库实例之间异地网络时延要求<=100毫秒。该时延范围内可保证容灾的正常运行,否则会导致主备数据库实例断链等情况出现。
-
在网络带宽非瓶颈,灾备数据库实例打开并行回放前提下,不同硬件规格可支持主数据库实例日志产生速度如下表所示。在该日志产生速度下可以保证RPO、RTO,否则无法保证。
表 1 典型配置下日志产生速率
-
如果磁盘混合部署,应采用低配部分的规格(比如数据库实例内有NVMe和SATA盘,请参考SATA盘配置的规格)。
-
灾备数据库实例升主:
- 灾备数据库实例升主允许丢失一定的数据,RPO<=10秒 ;
- 灾备数据库实例处于normal态,灾备升主RTO<=10分钟,数据库实例处于degraded状态等叠加故障场景下,执行灾备数据库实例升主RTO一般在20分钟以内。
- 灾备数据库实例为独立数据库实例,无法感知主数据库实例的状态,因此不支持自动升主。第三方应用可通过接口调用触发灾备数据库实例升主,相关操作参见灾备数据库实例升主failover。
-
演练特性:计划内主备数据库实例倒换,无数据丢失RPO=0,RTO<=20分钟(包含主数据库实例降为灾备实例,灾备数据库实例升主两个流程)。
须知: 经过测试,SATA SSD极限写入速率在240MB/s左右,SAS SSD可以达到500MB/s以上的写入速度,NVMe SSD表现则更为优异。如果硬件条件达不到如上标准,则可支持的主数据库实例单分片日志产生速度应下调,才可保证RPO、RTO。
主备数据库实例出现文件句柄,内存等资源耗尽时,无法保证RPO,RTO。