首页 > 数据库 > > 集群容灾管理-集群容灾概述
GaussDB 200的高可用容灾目标是在任何故障场景,数据不丢失,业务不停机。为达到这样的目标,GaussDB 200设计了双集群容灾的方案:分别部署两套同构的集群,集群间通过容灾任务进行周期性的物理数据同步。其中主集群提供正常的业务,灾备集群(亦称“备集群”)在恢复期间不可用,非恢复期间提供只读服务。当主集群不可用时,灾备集群可以代替主集群正常提供业务,从而实现数据库的高可用。
对于典型HTAP的主、备集群部署场景(物理机、SAS盘、集群内万兆网卡、集群间千兆网卡),本特性满足的性能规格如下:
在1T/天的数据增速下,通过调整备份周期,对于主集群的增量数据,最小可达RPO 1小时,最小可达RTO 1小时。
RPO是指当主集群-发生故障时,用户执行主、备集群切换之后,新主集群所包含的数据与原主集群故障时刻点的数据差距。RTO是指当主集群-发生故障时,用户执行主、备集群切换命令所需的时间(切换执行完成之后,新主集群即可以提供读写服务)。
由于目前不支持自动切换,因此RTO的计算不包含主集群-发生故障到用户调用切换命令之间的时间。
每个同步周期内,备集群提供只读服务的时长为:恢复周期 - 备集群恢复时间。在1T/天的数据增速下,当同步周期(备份和恢复周期)设置为1小时的场景下,每个增量同步周期内,备集群提供只读服务的平均时长不短于30分钟。
集群备份文件的压缩率波动范围较大,通常在10%~95%之间,取决于行列存文件的比例。列存越多压缩率越低,通常保险起见按1:1的压缩率来计算。备集群需要预留的存储空间主要包括三部分:
说明:双集群容灾的约束限制见表1。
序号 | 约束内容 |
|---|---|
1 | 主、备集群必须是完全同构的。要求如下:
|
2 | 对于备集群,在恢复期间,不能提供任何服务;在非恢复期间,提供只读服务。 |
3 | 主集群状态处于非“Normal”状态时,数据同步暂停。 |
4 | 主、备集群的磁盘容量足够执行备份和恢复。 |
5 | 存储备份文件的磁盘和集群的数据磁盘需要分开。 |
6 | 容灾运行过程中不支持扩容和大版本升级,容灾过程中主集群扩容或升级场景详见 主集群升级或扩容。 |
7 | 当主集群处于非“balance”状态时,在双集群同步周期到来时,首先会自动尝试将主集群调整为“balance”状态。在状态切换过程中,如果主集群没有开启CN retry功能或应用层不具有查询重试功能,那么查询可能会出现错误,返回报错信息。更多详细信息请参考SQL语句出错自动重试。 |
8 | 如果主集群中增加/删除某个CN,则备集群需要按照主集群同样的操作步骤去增删相对应的CN,双集群才能正常同步备份恢复。 |
9 | 容灾集群暂不支持温备操作。 |
为了保证新安装的备集群与主集群同构,需要将主集群的主机名称列表进行升序排序,在备集群以主集群安装某个实例的同样位置安装该实例。如按照主机名排序后主集群的第6个主机安装了主CMS,那么必须在排序后的备集群的第6个主机上也安装主CMS。
根据以上约束条件,可以通过以下步骤确定备集群的安装拓扑:
以omm用户登录主集群任一安装了MPPDB服务的节点,执行如下命令:
cd ${BIGDATA_HOME}/FusionInsight_MPPDB_6.5.1/*_*_MPPDBServer/etc
cat mppdb-install-config.xml
<CLUSTER>
<PARAM name="clusterName" value="FI-MPPDB"/>
<PARAM name="nodeNames" value="vm4,vm5,vm6"/>
<PARAM name="clusterRings" value="vm4,vm5,vm6"/>
<PARAM name="gaussdbAppPath" value="/opt/huawei/Bigdata/mppdb/core"/>
<PARAM name="gaussdbLogPath" value="/var/log/Bigdata/mpp"/>
<PARAM name="tmpMppdbPath" value="/opt/huawei/Bigdata/mppdb/mppdb_tmp"/>
<PARAM name="gaussdbToolPath" value="/opt/huawei/Bigdata/mppdb/wisequery"/>
</CLUSTER>查看如上面所示的“nodeNames”的“value”所对应的值“vm4,vm5,vm6”,即为主集群主机列表。vm4处于主机列表的第1个位置,vm5处于第2个位置,vm6处于第3个位置。
执行以下命令查看主备CMS、GTM以及CN节点:
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
cm_ctl query -Cvd
[ CMServer State ]
node instance state
-------------------------------------------------------------
2 vm5 2 /opt/huawei/Bigdata/mppdb/cm/cm_server Standby
3 vm6 1 /opt/huawei/Bigdata/mppdb/cm/cm_server Primary
[ Cluster State ]
cluster_state : Normal
redistributing : No
balanced : No
[ Coordinator State ]
node instance state
-----------------------------------------------------------
1 vm4 5001 /srv/BigData/mppdb/data1/coordinator Normal
2 vm5 5002 /srv/BigData/mppdb/data1/coordinator Normal
3 vm6 5003 /srv/BigData/mppdb/data1/coordinator Normal
[ Central Coordinator State ]
node instance state
-----------------------------------------------------------
1 vm5 5001 /srv/BigData/mppdb/data1/coordinator Normal
[ GTM State ]
node instance state sync_state
------------------------------------------------------------------------------------
2 vm6 1001 /opt/huawei/Bigdata/mppdb/gtm P Primary Connection ok Sync
3 vm5 1002 /opt/huawei/Bigdata/mppdb/gtm S Standby Connection ok Sync
说明:比较两个主机名的顺序是通过比较主机名中的每个对应位置的字母或数字的大小。字母的大小顺序按照ASCII中的顺序比较,如a<b<c。对于数字,直接比较数字大小,如1<2<3。数字小于字母。例如:
登录FusionInsight Manager以后,在“集群”下拉列表中单击需要操作的集群名称,选择“服务 > MPPDB > 容灾 ”,进入“容灾”页面,容灾页面包含容灾相关的基本信息、功能按钮以及容灾配置区域。

容灾基本信息中包含集群的角色(主集群或备集群)、配置状态、容灾的启停状态。
基本信息 | 状态 | 说明 |
|---|---|---|
集群角色 | 未知/主集群/备集群 | 由于是双集群容灾,集群有主备之分,标示当前集群集群的角色。 |
配置状态 | 已配置/未配置 | 初始状态下,配置状态为未配置,填写完容灾配置并点击保存配置,保存成功之后配置状态显示已配置。 |
运行状态 | 未启动/已启动 | 表示服务的运行状态。 |
在“基本信息”区域的右侧,可以查看容灾监控相关信息。

监控信息 | 说明 |
|---|---|
容灾任务类型 | 启动容灾后,有“周期性备份”和“周期性恢复”两种任务类型。 |
任务所在集群 | “周期性备份”任务在主集群上执行,“周期性恢复”任务在备集群上执行。 |
容灾进度 | 显示当前备份恢复任务同步数据的时间点。 |
任务状态 | 显示当前周期内备份恢复任务的执行状态,包括“成功”、“失败”、“正在备份”或“正在恢复”。 |
任务进度 | 显示当前周期内备份恢复任务的执行进度。 |
操作 | 点击查看周期性备份恢复任务的执行历史。 |
注意:备集群在恢复任务执行期间将处于不可用状态,此时界面将出现服务不可用的告警,恢复任务结束之后告警自动消失。当发现备集群出现服务不可用告警时,可以查看容灾页面的恢复任务进度条判断是否正处于恢复任务执行期间,如果是则属于正常现象,否则可能是集群出现故障,需要根据告警帮助进行故障排查。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3166782/ ,如需转载,请注明出处,否则将追究法律责任。