DM数据库学习之路(二十)DM8基于主备集群技术的两地三中心集群部署及测试(全网最详细)

  1. DM两地三中心介绍

    1. 摘要

金融行业对数据的可靠性和连续性有着极其严格的要求,任何数据丢失或服务中断都可能导致严重的经济损失。针对这一问题,基于达梦主备集群技术的两地三中心解决方案能够切实有效解决业务数据的可靠性和连续性需求。该方案通过构建两个数据中心和一个灾备中心,确保了数据的可靠性和业务的连续性,从而避免了因数据丢失或服务中断可能带来的经济损失。

    1. 容灾能力等级

数据库作为金融行业基础底座软件,在整个金融行业有着举足轻重的地位,随着国产数据库在金融行业推广的深入,目前国产数据库在金融领域已初具规模,并且在产品的改进,生态适配的融合,项目经验积累方面已经有相当的成果,在性能及功能上满足了金融行业外围系统的基本要求。金融行业为推进核心业务系统国产化改造,对国产数据库提出了更高要求,其中灾备作为改造中的重要指标。人民银行发布的《银行业信息系统灾难恢复管理规范》中明确了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级标准,完全满足金融行业核心系统建设需求。

    1. 两地三中心架构

达梦的两地三中心容灾系统属于数据级的容灾,主要目的是满足数据中心的高可用和灾难恢复能力,确保业务连续性和数据安全,高可靠、高安全、低成本、易维护,适用于对业务高可用性和数据安全具有极高标准的行业或系统。用户可以在达梦的两地三中心架构基础上构造应用级或业务级容灾系统。

      1. 概念定义

  • 两地三中心:一种高可用性容灾方案,三个数据中心并存,能在任意两个数据中心受损的情况下,最大限度保障核心业务的连续运行,大大提高核心系统的可用性。
  • 生产中心:即主中心,承担日常业务压力,对外提供服务。
  • 同城容灾中心:是指在同城或邻近城市(通常要求距离主中心10km到200km)建立可独立承担关键系统运行的数据灾备中心,应用可在不丢失数据的情况下切换到同城灾备中心运行,保持业务连续运行,是两地三中心容灾方案的第一级容灾保护。
  • 异地容灾中心:是指在异地的城市(通常要求距离主中心200km以上)建立一个数据灾备中心,应对区域性重大灾难,是两地三中心容灾方案的第二级容灾保护。
  • RTO:灾难发生后,信息系统从停顿到必须恢复的时间要求。
  • RPO:灾难发生后,数据必须恢复到的时间点要求。
  • 运维管理平台:提供数据库管理,监控和维护的功能,实现远程管理和监控数据库实例及数据库集群的平台软件。
  • 灾备管理控制端:支持同时访问三个数据中心,支持部署运维管理平台,提供日常监控运维及故障切换处理的操作平台。
  • DEM:达梦数据库运维管理平台软件。
      1. 网络要求

        1. 城域网要求
  • 容灾网络距离:<100km,裸光纤连接。
  • 传输延迟:<1ms (单向)。
  • 网络真实带宽:大于业务的峰值写IO带宽。
        1. 广域网要求
  • 容灾网络距离:无限制。
  • 传输延迟:<50ms (单向)。
  • 网络真实带宽:大于业务的平均写IO带宽。
        1. 灾备管理控制端网络要求
  • 需要三中心间通信。
  • 网络距离要求:无限制。
  • 通信网络带宽要求:≥10Mb/s。
      1. 软硬件配置推荐

        1. 硬件配置推荐

硬件类型

CPU(C)

内存(G)

存储(G)

数量

备注

数据库服务器

64+

128+

SSD

5

根据业务实际需求配置

监视器服务器

8

16

SATA

5

根据业务实际需求配置

运维管理服务器

16+

32+

SATA

1

根据业务实际需求配置

交换机

--

--

--

5

AB中心各1台万兆交换机和1台千兆交换机,C中心一台千兆交换机

        1. 软件配置推荐

类型

软件名称及版本

数量

备注

操作系统

CentOS7.6或银河麒麟V10

11

需要按装gcc、gdb、unixODBC、perf等包

数据库

达梦数据库管理系统V8

11

-

集群组件

达梦数据守护集群软件V8

5

-

运维管理平台

达梦运维管理平台DEM V3.0

1

-

      1. 方案架构

架构说明:拟在甲乙两地构建三中心的数据容灾系统,A为主业务中心,配置一主一备两个数据库节点,承担日常业务,具备单节点故障自动切换能力。B为同城灾备中心,配置两个实时备库,不参与自动切换;A中心整体故障时,B中心手动接管业务,数据不丢失。C中心为异地灾备中心,配置一个异步备库,在甲地灾难情况下手动接管业务,满足监管需求。
有条件情况下,建议在灾备管理控制端配置一台运维管理服务器,部署达梦运维管理平台DEM,用于日常监控运维。

      1. 方案能力

当前,达梦两地三中心方案提供如下能力:
(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. 方案优势

达梦两地三中心方案优势如下:

  1. 主库可以向多个实时备库并行发送日志,响应速度更快,备中心的故障对主中心无任何影响,系统稳定性更高。
  2. 架构简捷灵活。达梦提供的架构简单成熟,易维护,在发生灾难时后续应急处理操作简洁。切换规则可配置灵活,可根据需要指定备库是否参与自动切换(一般配置同中心同机房自动切换)。
  3. 备库具备提供查询能力,承担诸如历史数据查询、报表等业务,分担业务压力。
  1. DM两地三中心规划

    1. A中心集群规划

      1. A中心主机规划

主机

类型

主机名

业务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

      1. 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

      1. 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

    1. B中心集群规划

      1. B中心主机规划

主机

类型

主机名

业务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

      1. 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

      1. 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

    1. C中心集群规划

      1. C中心主机规划

主机

类型

主机名

业务IP

数据库名

实例名

操作系统

C主库

(C1)

dm8c01

业务:84.0.191.106

私网:10.10.10.106

CUGDB

CCUGDB01

Kylin-Server-V10-SP3

C观察监视器

dm8cmonitor

私网:10.10.10.107

      1. C中心端口规划

实例名

PORT_NUM

MAL_INST_DW_PORT

MAL_HOST

MAL_PORT

MAL_DW_PORT

CCUGDB01

5236

5336

10.10.10.106

5436

5536

      1. C中心目录规划

类型

实例端口

实例目录

归档目录

日志目录

备份目录

主库

5236

/dm8/data/CUGDB

/dm8/data/CUGDB/arch

/dm8/data/CUGDB/log

/dm8/backup

监视器

/dm8/data/monitor

  1. DM两地三中心实施

    1. ABC中心集群部署

      1. A中心集群安装及初始化

        1. A1数据库dm8a01初始化
          1. DM8安装

          1. 配置环境变量

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 让其生效

          1. 初始化

# 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"

          1. 注册数据库服务

$ ./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

          1. 开启归档

$ 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;

          1. 设置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_

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解密Lawnchair:打造个性化极致的Android桌面体验

解密Lawnchair&#xff1a;打造个性化极致的Android桌面体验 1. 简介 Lawnchair是一款知名的Android桌面定制工具&#xff0c;旨在为用户提供个性化极致的桌面体验。作为一个开源项目&#xff0c;Lawnchair融合了简洁、灵活和强大的特点&#xff0c;让用户能够自由定制其Andro…

Python | Conda安装包报错:PackagesNotFoundError

Conda在下载安装包时报错&#xff1a; PackagesNotFoundError: The following packages are not available from current channels:- XXXXXX&#xff08;包名&#xff09;有如下两种解决方法&#xff1a; 方法一&#xff1a;将conda-forge添加到搜索路径上 在命令行运行下方指令…

深入理解C语言:开发属于你的三子棋小游戏

三子棋 1. 前言2. 准备工作3. 使用二维数组存储下棋的数据4. 初始化棋盘为全空格5. 打印棋盘6. 玩家下棋7. 电脑下棋8. 判断输赢9. 效果展示10. 完整代码 1. 前言 大家好&#xff0c;我是努力学习游泳的鱼&#xff0c;今天我们会用C语言实现三子棋。所谓三子棋&#xff0c;就是…

Android 开发环境搭建的步骤

本文将为您详细讲解 Android 开发环境搭建的步骤。搭建 Android 开发环境需要准备一些软件和工具&#xff0c;以下是一些基础步骤&#xff1a; 1. 安装 Java Development Kit (JDK) 首先&#xff0c;您需要安装 Java Development Kit (JDK)。JDK 是 Android 开发的基础&#xf…

【Android 内存优化】怎么理解Android PLT hook?

文章目录 前言什么是hook?PLT hook作用基本原理PLT hook 总体步骤 代码案例分析方案预研面临的问题怎么做&#xff1f;ELFELF 文件头SHT&#xff08;section header table&#xff09; 链接视图&#xff08;Linking View&#xff09;和执行视图&#xff08;Execution View&…

YOLO-World 简单无需标注无需训练直接可以使用的检测模型

参考: https://github.com/AILab-CVC/YOLO-World YOLO-World 常规的label基本不用训练,直接传入图片,然后写入文本label提示既可 案例demo: 1)官方提供 https://huggingface.co/spaces/stevengrove/YOLO-World https://huggingface.co/spaces/SkalskiP/YOLO-World 检测…

基于信息间隙决策理论的碳捕集电厂优化调度程序代码!

适用平台&#xff1a;MatlabYalmipCplex 程序在建立电厂与碳捕集装置协同调度模型的基础上&#xff0c;引入信息间隙决策理论(information gap decision theory, IGDT)以同时满足系统的鲁棒性和经济性要求&#xff0c;通过风险追求和风险规避&#xff12;种决策角度得到不同的…

真不愧是华为出来的,真的太厉害了。。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 实习去了博彦科技&#xff08;外包&#xff09;&#xff0c;做的就是螺丝钉的活&#xff0c;后面…

华为---MSTP(一)---MSTP生成树协议

目录 1. MSTP技术产生背景 2. STP/RSTP的缺陷 ​编辑 2.1 无法均衡流量负载 2.2 数据使用次优路径 3. MSTP生成树协议 3.1 MSTP相关概念 3.2 MSTP树生成的形成过程 4. MSTP报文 1. MSTP技术产生背景 RSTP在STP基础上进行了改进&#xff0c;实现了网络拓扑快速收敛。但…

SpringBoot+Maven项目打包

项目的主POM文件里面添加maven打包插件 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><sour…

推荐一款新的自动化测试框架:DrissionPage

今天给大家推荐一款基于Python的网页自动化工具&#xff1a;DrissionPage。这款工具既能控制浏览器&#xff0c;也能收发数据包&#xff0c;甚至能把两者合而为一&#xff0c;简单来说&#xff1a;集合了WEB浏览器自动化的便利性和 requests 的高效率优点。 一、DrissionPage框…

【C++庖丁解牛】默认成员函数

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 前言1. 构造函数1.1 …

职场高薪 |「中高级测试」面试题

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程&#xff0c;一周学完让你面试通过率提高90%&#xff01;&#xff08;自动化测试&#xff09; 一.基础题 1.测试用例你一般是怎么设计的&#xff0c;怎么可以提高覆盖率&#xff1f; 有没有形成自己的 一套方法论…

Jmeter接口测试---随机数、加密、cookie鉴权、断言、CSV参数化

随机数 第一步&#xff1a;选择工具-函数助手对话框 第二步&#xff1a;选择random&#xff0c;设置最大值最小值&#xff0c;复制函数字符串到指定位置 加密接口 类型&#xff1a;AES、DES、Base64、RSA&#xff08;可以解密&#xff09; | MD5、SHA、HmacSHA&#xff08;不…

llama.c代码2

1、forward 1.1、复习 encode(tokenizer, prompt, 1, 0, prompt_tokens, &num_prompt_tokens); 在encode函数结尾处(gdb) p *n_tokens $3 2(gdb) p *tokens3 $6 {1, 22172, 417} 在encode调用后 (gdb) print num_prompt_tokens $11 2 (gdb) print *prompt_tokens3 $13 …

JavaScript 中的类型转换机制(详细讲解)

文章目录 一、概述二、显示转换Number()parseInt()String()Boolean() 三、隐式转换自动转换为布尔值自动转换成字符串自动转换成数值 一、概述 前面我们讲到&#xff0c;JS中有六种简单数据类型&#xff1a;undefined、null、boolean、string、number、symbol&#xff0c;以及…

(sub)三次握手四次挥手

TCP的三次握手与四次挥手理解及面试题 序列号seq&#xff1a;占4个字节&#xff0c;用来标记数据段的顺序&#xff0c;TCP把连接中发送的所有数据字节都编上一个序号&#xff0c;第一个字节的编号由本地随机产生&#xff1b;给字节编上序号后&#xff0c;就给每一个报文段指派一…

(学习日记)2024.03.03:UCOSIII第五节:常用汇编指令+OS初始化+启动任务+任务切换

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

双重检验锁

双重检验锁&#xff1a;设计模式中的单例模式&#xff0c;细分为单例模式中的懒加载模式。 单例模式 单例模式&#xff1a;指的是一个类只有一个对象。最简单的实现方式是设一个枚举类&#xff0c;只有一个对象。缺点是当对象还没有被使用时&#xff0c;对象就已经创建存在了…

【扩散模型】生成模型中的Residual Self-Attention UNet 以及 DDPM的pytorch代码

参考&#xff1a; [1] https://github.com/xiaohu2015/nngen/blob/main/models/diffusion_models/ddpm_cifar10.ipynb [2] https://www.bilibili.com/video/BV1we4y1H7gG/?spm_id_from333.337.search-card.all.click&vd_source9e9b4b6471a6e98c3e756ce7f41eb134 TOC 1 UNe…