金融行业对数据的可靠性和连续性有着极其严格的要求,任何数据丢失或服务中断都可能导致严重的经济损失。针对这一问题,基于达梦主备集群技术的两地三中心解决方案能够切实有效解决业务数据的可靠性和连续性需求。该方案通过构建两个数据中心和一个灾备中心,确保了数据的可靠性和业务的连续性,从而避免了因数据丢失或服务中断可能带来的经济损失。
数据库作为金融行业基础底座软件,在整个金融行业有着举足轻重的地位,随着国产数据库在金融行业推广的深入,目前国产数据库在金融领域已初具规模,并且在产品的改进,生态适配的融合,项目经验积累方面已经有相当的成果,在性能及功能上满足了金融行业外围系统的基本要求。金融行业为推进核心业务系统国产化改造,对国产数据库提出了更高要求,其中灾备作为改造中的重要指标。人民银行发布的《银行业信息系统灾难恢复管理规范》中明确了RTO/RPO与灾难恢复能力等级的关系,如下表:
灾难恢复能力等级 |
RTO |
RPO |
1 |
2天以上 |
1天至7天 |
2 |
24小时以上 |
1天至7天 |
3 |
12小时以上 |
数小时至1天 |
4 |
数小时至2天 |
数小时至1天 |
5 |
数分钟至2天 |
0至30分钟 |
6 |
数分钟 |
0 |
《规范》明确了银行的核心系统的灾难恢复能力最低应达到5级,即RT0=数分钟至2天,RPO=0至30分钟。达梦依据银行的容灾需求,设计出了一套达梦金融两地三中心解决方案。方案是基于达梦自身的产品,由达梦数据库管理系统DM8与达梦数据守护集群软件DM DataWatch共同构建。这套解决方案充分发挥了集中式数据库的性能,能够保障中心之间数据的一致性,提升数据的可靠性和安全性。同时,达梦数据守护集群可以实现故障秒级切换,确保业务的高可用性,从而提升用户的使用体验。此外,这套方案是基于达梦自主原创的产品,达梦可以根据用户的需求对方案进行配置,以便提供定制化服务。在灾难恢复能力方面,达梦金融两地三中心的能力等级已经达到《银行业信息系统灾难恢复管理规范》中的6级标准,完全满足金融行业核心系统建设需求。
达梦的两地三中心容灾系统属于数据级的容灾,主要目的是满足数据中心的高可用和灾难恢复能力,确保业务连续性和数据安全,高可靠、高安全、低成本、易维护,适用于对业务高可用性和数据安全具有极高标准的行业或系统。用户可以在达梦的两地三中心架构基础上构造应用级或业务级容灾系统。
- 两地三中心:一种高可用性容灾方案,三个数据中心并存,能在任意两个数据中心受损的情况下,最大限度保障核心业务的连续运行,大大提高核心系统的可用性。
- 生产中心:即主中心,承担日常业务压力,对外提供服务。
- 同城容灾中心:是指在同城或邻近城市(通常要求距离主中心10km到200km)建立可独立承担关键系统运行的数据灾备中心,应用可在不丢失数据的情况下切换到同城灾备中心运行,保持业务连续运行,是两地三中心容灾方案的第一级容灾保护。
- 异地容灾中心:是指在异地的城市(通常要求距离主中心200km以上)建立一个数据灾备中心,应对区域性重大灾难,是两地三中心容灾方案的第二级容灾保护。
- RTO:灾难发生后,信息系统从停顿到必须恢复的时间要求。
- RPO:灾难发生后,数据必须恢复到的时间点要求。
- 运维管理平台:提供数据库管理,监控和维护的功能,实现远程管理和监控数据库实例及数据库集群的平台软件。
- 灾备管理控制端:支持同时访问三个数据中心,支持部署运维管理平台,提供日常监控运维及故障切换处理的操作平台。
- DEM:达梦数据库运维管理平台软件。
- 容灾网络距离:<100km,裸光纤连接。
- 传输延迟:<1ms (单向)。
- 网络真实带宽:大于业务的峰值写IO带宽。
- 容灾网络距离:无限制。
- 传输延迟:<50ms (单向)。
- 网络真实带宽:大于业务的平均写IO带宽。
- 需要三中心间通信。
- 网络距离要求:无限制。
- 通信网络带宽要求:≥10Mb/s。
硬件类型 |
CPU(C) |
内存(G) |
存储(G) |
数量 |
备注 |
数据库服务器 |
64+ |
128+ |
SSD |
5 |
根据业务实际需求配置 |
监视器服务器 |
8 |
16 |
SATA |
5 |
根据业务实际需求配置 |
运维管理服务器 |
16+ |
32+ |
SATA |
1 |
根据业务实际需求配置 |
交换机 |
-- |
-- |
-- |
5 |
AB中心各1台万兆交换机和1台千兆交换机,C中心一台千兆交换机 |
类型 |
软件名称及版本 |
数量 |
备注 |
操作系统 |
CentOS7.6或银河麒麟V10 |
11 |
需要按装gcc、gdb、unixODBC、perf等包 |
数据库 |
达梦数据库管理系统V8 |
11 |
- |
集群组件 |
达梦数据守护集群软件V8 |
5 |
- |
运维管理平台 |
达梦运维管理平台DEM V3.0 |
1 |
- |
架构说明:拟在甲乙两地构建三中心的数据容灾系统,A为主业务中心,配置一主一备两个数据库节点,承担日常业务,具备单节点故障自动切换能力。B为同城灾备中心,配置两个实时备库,不参与自动切换;A中心整体故障时,B中心手动接管业务,数据不丢失。C中心为异地灾备中心,配置一个异步备库,在甲地灾难情况下手动接管业务,满足监管需求。
有条件情况下,建议在灾备管理控制端配置一台运维管理服务器,部署达梦运维管理平台DEM,用于日常监控运维。
当前,达梦两地三中心方案提供如下能力:
(1)容灾能力达到《银行业信息系统灾难恢复管理规范》要求6级,RTO和RPO完全满足一类金融信息系统要求,生产中心内RPO=0,RTO<10S,同城灾备中心间RPO=0、RTO<30s,异地灾备中心RPO=1~60s、RTO<60s。
(2)高可用能力,保证核心业务系统可以7*24小时运行,各种软硬件故障下依然可提供安全可靠的数据服务,保障数据可靠性和业务连续性。
(3)事务ACID特性,达梦基于主备的两地三中心方案事务特性满足单实例事务ACID特性,满足金融核心交易级别强一致性要求。
(4)该方案可完全基于国产化软硬件环境进行部署和实施,满足行业对于信创项目建设相关要求。
(5)本方案可满足金融业核心系统日常运行和切换演练的常态化要求。
达梦两地三中心方案优势如下:
- 主库可以向多个实时备库并行发送日志,响应速度更快,备中心的故障对主中心无任何影响,系统稳定性更高。
- 架构简捷灵活。达梦提供的架构简单成熟,易维护,在发生灾难时后续应急处理操作简洁。切换规则可配置灵活,可根据需要指定备库是否参与自动切换(一般配置同中心同机房自动切换)。
- 备库具备提供查询能力,承担诸如历史数据查询、报表等业务,分担业务压力。
主机 类型 |
主机名 |
业务IP |
数据库名 |
实例名 |
操作系统 |
A主库 (A1) |
dm8a01 |
业务:84.0.191.100 私网:10.10.10.100 |
CUGDB |
ACUGDB01 |
Kylin-Server-V10-SP3 |
A备库 (A2) |
dm8a02 |
业务:84.0.191.101 私网:10.10.10.101 |
CUGDB |
ACUGDB02 |
Kylin-Server-V10-SP3 |
A确认监视器 |
dm8amonitor |
私网:10.10.10.102 |
-
-
A中心端口规划
-
实例名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
ACUGDB01 |
5236 |
5336 |
10.10.10.100 |
5436 |
5536 |
ACUGDB02 |
5236 |
5336 |
10.10.10.101 |
5436 |
5536 |
-
-
A中心目录规划
-
类型 |
实例端口 |
实例目录 |
归档目录 |
日志目录 |
备份目录 |
主库 |
5236 |
/dm8/data/CUGDB |
/dm8/data/CUGDB/arch |
/dm8/data/CUGDB/log |
/dm8/backup |
备库 |
5236 |
/dm8/data/CUGDB |
/dm8/data/CUGDB/arch |
/dm8/data/CUGDB/log |
/dm8/backup |
监视器 |
/dm8/data/monitor |
主机 类型 |
主机名 |
业务IP |
数据库名 |
实例名 |
操作系统 |
B主库 (B1) |
dm8b01 |
业务:84.0.191.103 私网:10.10.10.103 |
CUGDB |
BCUGDB01 |
Kylin-Server-V10-SP3 |
B备库 (B2) |
dm8b02 |
业务:84.0.191.104 私网:10.10.10.104 |
CUGDB |
BCUGDB02 |
Kylin-Server-V10-SP3 |
B观察监视器 |
dm8bmonitor |
私网:10.10.10.105 |
-
-
B中心端口规划
-
实例名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
BCUGDB01 |
5236 |
5336 |
10.10.10.103 |
5436 |
5536 |
BCUGDB02 |
5236 |
5336 |
10.10.10.104 |
5436 |
5536 |
-
-
B中心目录规划
-
类型 |
实例端口 |
实例目录 |
归档目录 |
日志目录 |
备份目录 |
主库 |
5236 |
/dm8/data/CUGDB |
/dm8/data/CUGDB/arch |
/dm8/data/CUGDB/log |
/dm8/backup |
备库 |
5236 |
/dm8/data/CUGDB |
/dm8/data/CUGDB/arch |
/dm8/data/CUGDB/log |
/dm8/backup |
监视器 |
/dm8/data/monitor |
主机 类型 |
主机名 |
业务IP |
数据库名 |
实例名 |
操作系统 |
C主库 (C1) |
dm8c01 |
业务:84.0.191.106 私网:10.10.10.106 |
CUGDB |
CCUGDB01 |
Kylin-Server-V10-SP3 |
C观察监视器 |
dm8cmonitor |
私网:10.10.10.107 |
-
-
C中心端口规划
-
实例名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
CCUGDB01 |
5236 |
5336 |
10.10.10.106 |
5436 |
5536 |
-
-
C中心目录规划
-
类型 |
实例端口 |
实例目录 |
归档目录 |
日志目录 |
备份目录 |
主库 |
5236 |
/dm8/data/CUGDB |
/dm8/data/CUGDB/arch |
/dm8/data/CUGDB/log |
/dm8/backup |
监视器 |
/dm8/data/monitor |
略
-
-
-
-
配置环境变量
-
-
-
vi .bash_profile
export DM_HOME=/dm8
export PATH=$DM_HOME/bin:$PATH:$DM_HOME/tool:$PATH:HOME/bin:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
. .bash_profile 让其生效
-
-
-
-
初始化
-
-
-
# su – dmdba
$ cd /dm8/bin
./dminit path=/dm8/data EXTENT_SIZE=16 PAGE_SIZE=32 case_sensitive=1 charset=1 log_size=2048 db_name=CUGDB instance_name=ACUGDB01 PORT_NUM=5236 LENGTH_IN_CHAR=1 BLANK_PAD_MODE=0 SYSDBA_PWD="SYSDBA2023" SYSAUDITOR_PWD="SYSDBA2023"
-
-
-
-
注册数据库服务
-
-
-
$ ./dmserver /dm8/data/CUGDB/dm.ini
# cd /dm8/script/root
#./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/CUGDB/dm.ini -p ACUGDB01
# systemctl start DmServiceACUGDB01
-
-
-
-
开启归档
-
-
-
$ mkdir -p /dm8/data/CUGDB/arch
$ disql SYSDBA/SYSDBA2023@127.0.0.1:5236
SQL> alter database mount;
SQL> alter database add ARCHIVELOG 'type=local,dest=/dm8/data/CUGDB/arch,file_size=1024,space_limit=0';
SQL> alter database ARCHIVELOG;
SQL> alter database open;
SQL> select arch_mode from v$database;
-
-
-
-
设置OGUID并修改数据库模式
-
-
-
主库(以mount形式启动)
$ /dm8/bin/DmServiceACUGDB01 stop
$ /dm8/bin/dmserver /dm8/data/CUGDB/dm.ini mount
打开另外一个窗口,以上窗口不要关闭
$ disql SYSDBA/SYSDBA2023@127.0.0.1:5236
SQL> SP_SET_PARA_VALUE(1, 'ALTER_