数据库作为金融行业基础底座软件,在整个金融行业有着举足轻重的地位,随着国产数据库在金融行业推广的深入,目前国产数据库在金融领域已初具规模,并且在产品的改进,生态适配的融合,项目经验积累方面已经有相当的成果,在性能及功能上满足了金融行业外围系统的基本要求。金融行业为推进核心业务系统国产化改造,对国产数据库提出了更高要求,其中灾备作为改造中的重要指标。人民银行发布的《银行业信息系统灾难恢复管理规范》中明确了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级标准,完全满足金融行业核心系统建设需求。
达梦的两地三中心容灾系统属于数据级的容灾,主要目的是满足数据中心的高可用和灾难恢复能力,确保业务连续性和数据安全,高可靠、高安全、低成本、易维护,适用于对业务高可用性和数据安全具有极高标准的行业或系统。用户可以在达梦的两地三中心架构基础上构造应用级或业务级容灾系统。
容灾网络距离:<100km,裸光纤连接。
传输延迟:<1ms (单向)。
网络真实带宽:大于业务的峰值写IO带宽。
容灾网络距离:无限制。
传输延迟:<50ms (单向)。
网络真实带宽:大于业务的平均写IO带宽。
需要三中心间通信。
网络距离要求:无限制。
通信网络带宽要求:10Mb/s。
表2‑1 硬件配置推荐
硬件类型 | CPU(C) | 内存(G) | 存储(G) | 数量 | 备注 |
---|---|---|---|---|---|
数据库服务器 | 64+ | 128+ | SSD | 5 | 根据业务实际需求配置 |
监视器服务器 | 8 | 16 | SAS或SSD | 5 | 根据业务实际需求配置 |
运维管理服务器 | 16+ | 32+ | SAS或SSD | 1 | 根据业务实际需求配置 |
交换机 | -- | -- | -- | 5 | AB中心各1台万兆交换机和1台千兆交换机,C中心一台千兆交换机 |
表2-2 软件配置推荐
类型 | 软件名称及版本 | 数量 | 备注 |
---|---|---|---|
操作系统 | CentOS7.6或银河麒麟V10 | 11 | 需要按装gcc、gdb、unixODBC、perf等包 |
数据库 | 达梦数据库管理系统V8 | 11 | - |
集群组件 | 达梦数据守护集群软件V8 | 5 | - |
运维管理平台 | 达梦运维管理平台DEM V3.0 | 1 | - |
图2-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)本方案可满足金融业核心系统日常运行和切换演练的常态化要求。
达梦两地三中心方案优势如下:
(1)主库可以向多个实时备库并行发送日志,响应速度更快,备中心的故障对主中心无任何影响,系统稳定性更高。
(2)架构简捷灵活。达梦提供的架构简单成熟,易维护,在发生灾难时后续应急处理操作简洁。切换规则可配置灵活,可根据需要指定备库是否参与自动切换(一般配置同中心同机房自动切换)。
(3)备库具备提供查询能力,承担诸如历史数据查询、报表等业务,分担业务压力。
国产信创服务器配置:麒麟V10操作系统、64核CPU、128G内存、SSD存储。
网络配置:生产中心与同城容灾中心间配置万兆心跳网,网络延迟<1ms;二者与异地容灾中心间(即“两地”间)配置了100M网络带宽,网络延时40ms左右。
压测场景:Jmeter模拟金融核心业务400并发OLTP混合场景。
图4-1 生产中心主库故障场景(故障处理前)
如上图,生产中心主库故障场景,主库的服务器硬件故障,导致服务器宕机。生产中心同机房备库自动接管业务,应用自动重连集群,数据无丢失RPO=0,业务恢复时间RTO<10s。此时系统架构如下:
图4-2 生产中心主库故障场景(故障处理后)
待原主库恢复后,若此时新主库的归档未被覆盖,原主库可以作为备库自动重新加入集群;若新主库的归档已被覆盖,则需要手工使用日常备份结合归档来完成备库重建。
图4-3 生产中心备库故障场景
如上图,生产中心备库故障场景,备库的服务器硬件故障,导致服务器宕机。为防止脑裂,主库需要进行故障处理,将其到备库的归档置为失效状态,业务不中断,业务恢复时间RTO≈0s,数据无丢失RPO=0。
待故障机器恢复后,若此时主库的归档未被覆盖,备库可以自动重新加入集群;若主库的归档已被覆盖,则需要手工使用日常备份结合归档来完成备库重建。
图4-4 同城容灾中心备库故障场景
如上图,同城容灾中心备库故障场景,备库的服务器硬件故障,导致服务器宕机。由于其并不参与自动切换,无脑裂风险,主库无需发起故障处理流程,仅将其到该库的归档置为失效状态即可,业务不中断RTO=0s,数据无丢失RPO=0。
待故障机器恢复后,若此时主库的归档未被覆盖,备库可以自动重新加入集群;若主库的归档已被覆盖,则需要手工使用日常备份结合归档来完成备库重建。
图4-5 异地容灾中心备库故障场景
如上图,异地容灾中心备库故障场景,备库的服务器硬件故障,导致服务器宕机。主库仅将其到该库的归档置为失效状态即可,处理过程业务不中断RTO=0s,数据无丢失RPO=0。
待故障机器恢复后,若此时主库的归档未被覆盖,备库可以自动重新加入集群;若主库的归档已被覆盖,则需要手工使用日常备份结合归档来完成备库重建。
图4-6 生产中心整体故障场景(故障处理前)
如上图,生产中心整体故障场景,例如火灾等灾难情况,导致整个数据中心全部掉线。需要手动将业务切换到同城容灾中心,启动并登录同城容灾中心备用监视器执行一条强制接管命令即可,未故障的数据库不需要重启,业务自动重连,除人员反应时间外,切换时间RTO<30s,数据无丢失RPO=0。处理后系统架构如下:
图4-7 生产中心整体故障场景(故障处理后)
待故障中心恢复后,若此时新的主库归档未被覆盖,故障数据库可以备库身份自动重新加入集群;若新的主库归档已被覆盖,需要手工使用日常备份结合归档来完成备库重建或在业务低峰期进行备份还原操作。
图4-8 同城容灾中心整体故障场景
如上图,同城容灾中心整体故障场景,例如火灾、网络故障等情况,导致整个数据中心全部掉线。集群需要进行故障处理,业务连接不中断,业务恢复时间RTO<15s,数据无丢失RPO=0。
待故障中心恢复后,若此时主库归档未被覆盖,故障数据库可自动重新加入集群;若主库归档已被覆盖,需要手工使用日常备份结合归档来完成备库重建或在业务低峰期进行备份还原操作。
图4-9 异地容灾中心整体故障场景
如上图,异地容灾中心整体故障场景,例如火灾等灾难情况,导致整个数据中心全部掉线。主库仅将其到该中心备库的归档置为失效状态即可,处理过程业务不中断RTO=0s,数据无丢失RPO=0。
待故障中心恢复后,若此时主库归档未被覆盖,故障数据库可自动重新加入集群;若主库归档已被覆盖,需要手工使用日常备份结合归档来完成备库重建或在业务低峰期进行备份还原操作。
图4-10 生产中心和同城容灾中心同时故障场景(故障处理前)
如上图,主中心和同城容灾中心均故障的场景,例如地震等大规模灾难情况,导致两个数据中心全部掉线。需要手动将业务切换到异地容灾中心,将异步备库手动修改为主库,数据库需要重启,业务需要重连,除人员反应时间外,切换时间RTO<60s,数据丢失情况根据具体配置而定RPO=1~60s。处理后系统架构如下:
图4-11 生产中心和同城容灾中心同时故障场景(故障处理后)
此时若要恢复原有容灾架构需要手工使用日常备份结合归档来完成备库重建或在业务低峰期进行备份还原操作。
应监管要求,商业银行每年应至少进行一次灾备切换演练,验证切换能力,达梦提供一键切换脚本与回切脚本,在业务停机窗口进行切换演练时使用。
切换脚本与回切脚本内容为监视器切换接口的调用,同城容灾备库的LSN与主库追平后方可进行操作。切换过程集群不需要重启,耗时<30s,回切过程同理。业务切换到同城容灾中心后的架构如下:
图4-12 同城灾备切换演练场景(切换后)
切换脚本与回切脚本脚本内容包括:集群关闭操作、关键ini配置文件替换过程、集群重启操作、监视器切换接口调用。异地容灾备库LSN追平主库后方可进行操作,切换过程集群需要重启,重启耗时<4min,切换耗时<60s,整体耗时<5min,回切过程同理。
业务切换到异地容灾中心的过程如下:
第一步:关闭集群。
第二步:替换关键ini配置参数,将异地容灾中心的异步备库改为实时备库,然后重启集群,架构如下:
图4-13 异地灾备切换演练场景(修改配置)
第三步:调用监视器切换接口,将业务切换到异地容灾中心,架构如下:
图4-14 异地灾备切换演练场景(切换后)
场景 | 故障处理 | RPO | RTO | 故障恢复 |
---|---|---|---|---|
生产中心主库故障 | 自动切换 | 0 | <10s | 归档连续:自动恢复,归档不连续:手动 |
生产中心备库故障 | 不切换 | 0 | ≈0s | 归档连续:自动恢复,归档不连续:手动 |
同城容灾备库故障 | 不切换 | 0 | =0s | 归档连续:自动恢复,归档不连续:手动 |
异地容灾备库故障 | 不切换 | 0 | =0s | 归档连续:自动恢复,归档不连续:手动 |
生产中心整体故障 | 手动切换 | 0 | <30s | 归档连续:自动恢复,归档不连续:手动 |
同城容灾中心故障 | 不切换 | 0 | <15s | 归档连续:自动恢复,归档不连续:手动 |
异地容灾中心故障 | 不切换, | 0 | =0s | 归档连续:自动恢复,归档不连续:手动 |
生产中心和同城容灾中心同时故障 | 手动切换 | 1~60s | <60s | 手动 |
同城灾备切换 | 手动切换 | 0 | <30s | 手动 |
异地灾备切换 | 手动切换 | 0 | 重启耗时<4min;切换耗时<60s;整体耗时<5min | 手动 |
目前,达梦两地三中心方案已上线多家银行一类业务系统应用(核心库、信贷、网贷、网联支付等),致力于保障金融级核心数据安全。