达梦数据库的守护集群

更多达梦数据库相关问题,请前往达梦技术社区 https://eco.dameng.com/ 

DM 数据守护提供多种解决方案,可以配置成实时主备、MPP 主备读写分离集群

  • 实时主备由一个主库以及一个或者多个配置了实时 (Realtime) 归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。

实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。

  • MPP 主备是在 MPP 集群的基础上,为每一个 MPP 节点配置一套实时主备系统,这些实时主备系统一起构成了 MPP 主备系统。

我们将一个 MPP 节点对应的主备系统称为一个数据守护组 (Group),

MPP 主备系统中各个数据守护组保持相对独立,当某个 MPP 主节点出现故障时,在其对应的数据守护组内挑选一个备库切换为主库后,就可以确保整个 MPP 集群的正常使用。

  • 读写分离集群由一个主库以及一个或者多个配置了即时 (Timely) 归档实时 (Realtime) 归档的备库组成。

读写分离集群由一个主库, 以及一个或者多个配置了即时归档的备库组成,

配置读写分离集群,

有以下几种配置方案,可以根据实际情况部署:


               1.只配置主库和最多8个即时备库。
               2.只配置主库和最多8个异步备库。
               3.   配置主库、最多8个即时备库和最多8个异步备库。

配置 MAL系统,各主备库的 dmmal.ini配置必须完全一致

主备库之间的 REDO 日志传输,以日志包 RLOG_PKG 为单位,主库通过 MAL 系统发送 REDO 日志到备库。

根据是否满足读提交事务隔离级特性,读写分离集群可以配置为事务一致模式和高性能两种模式。简单的说,事务一致模式下,不论一个 Select 语句是在备库执行、还是在主库执行,其查询结果集都是一样的。高性能模式则不能保证查询是一致的,备库的数据与主库的数据同步存在一定的延迟,当 Select 语句发送到备库执行时,返回的有可能是主库上一个时间点的数据。

./dmserver /dm7/data/DAMENG/dm.ini mount

读写分离与实时主备搭建:搭建过程和实时主备一致,只需要修改dmarch.ini文件。

编辑DM_svc.conf文件

TIME_ZONE=(+8:00)
LANGUAGE=(en)
DM_DW=(192.168.14.128:32141,192.168.14.129:32142)
LOGIN_MODE=(1)
[DM_DW]
LOGIN_MODE=(1)
SWITCH_TIME=2000
SWITCH_INTERVAL=10
 

达梦数据库读写分离:可以通过在应用服务器上修改dm_svc.cof

应用服务器配置

客户端主机上需要配置 dm_svc.conf 文件,文件路径:
Linux 平台下,此文件位于/etc 目录
dm_svc.conf:
全局配置区
DMRW=(192.168.10.1:5236,192.168.10.2:5236)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
服务配置区
[DMRW]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(0)
SWITCH_TIME=(3) #在服务器之间切换的次数
SWITCH_INTERVAL=(10) #在服务器之间切换的时间间隔,单位为毫秒
RW_SEPARATE=(1) #是否启用读写分离,0是关闭,1是开启读写分离
RW_PERCENT=(25) #读写分离分发比例
客户端程序连接数据库时,需要指定 ip 端口处替换为服务名即可,例如:
disql SYSDBA/SYSDBA@DMRW
注:当修改了 dm_svc.conf 内容后,需要重启客户端程序,修改的配置才能生效
LOGIN_MODE
服务名方式登录,始终会优先登录主库;LOGIN_MODE 表示是否仅登录主库或者备库, 可以配置为 0、1 或 2。
0 表示优先登录主库,没有可用主库情况下登录备库;
1 表示不登 录 Standby 模式的库,如果系统中只有 Standby 模式的库,登录失败并报错;
2 表示仅 登录 Standby 模式的库。
默认值为 0。

异步备库配置

本部署流程是在已有2节点数据守护集群的前提下添加一台异步备库

(主库)进行联机备份操作

(异步备库)进行脱机恢复。拷贝备份文件到备库所在机器, 并执行脱机数据库还原与恢复。

配置主库

dm.ini #配置有异步归档时,打开定时器,定时同步归档到异备库

TIMER_INI= 1

配置dmtimer.ini,用于定时触发实例发送归档日志到异步备库。

[RT_TIMER] #和dmarch.ini中的ARCH_TIMER_NAME一致

TYPE                 = 2

FREQ_MONTH_WEEK_INTERVAL      = 1

FREQ_SUB_INTERVAL     = 0

FREQ_MINUTE_INTERVAL = 0

START_TIME            = 14:00:00

END_TIME           = 15:00:00

DURING_START_DATE   = 2021-08-05 13:00:00

DURING_END_DATE     = 9999-12-31 23:59:59

NO_END_DATE_FLAG    = 1

DESCRIBE             = RT TIMER

IS_VALID            = 1

dmarch.ini添加如下增加异步归档配置

[ARCHIVE_ASYNC]

ARCH_TYPE = ASYNC #异步归档类型

ARCH_DEST = DMOA_ST #异步归档目标实例名

ARCH_TIMER_NAME = RT_TIMER  #定时器名称,和dmtimer.ini中的名称

dmmal.ini 增加异步备库DMOA_ST的配置项如下

[MAL_INST3]

MAL_INST_NAME       = DMOA_ST  #实例名,和dm.ini中的INSTANCE_NAME一致

MAL_HOST              =  192.168.43.131  #MAL系统监听TCP连接的IP地址

MAL_PORT         =  61141  #MAL系统监听TCP连接的端口

MAL_INST_HOST         =  192.168.43.131 #实例的对外服务IP地址

MAL_INST_PORT         =  5234  #实例的对外服务端口,和dm.ini中的PORT_NUM一致

MAL_DW_PORT = 52141    #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 33141 #实例监听守护进程TCP连接的端

配置备库

dm.ini

#配置有异步归档时,打开定时器,定时同步归档到异备库

TIMER_INI= 1

dmmal.ini 增加异步备库DMOA_ST的配置项如下

[MAL_INST3]

MAL_INST_NAME       = DMOA_ST  #实例名,和dm.ini中的INSTANCE_NAME一致

MAL_HOST              =  192.168.43.131  #MAL系统监听TCP连接的IP地址

MAL_PORT         =  61141  #MAL系统监听TCP连接的端口

MAL_INST_HOST         =  192.168.43.131 #实例的对外服务IP地址

MAL_INST_PORT         =  5234  #实例的对外服务端口,和dm.ini中的PORT_NUM一致

MAL_DW_PORT = 52141    #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 33141 #实例监听守护进程TCP连接的端

dmarch.ini添加如下增加异步归档配置

[ARCHIVE_ASYNC]

ARCH_TYPE = ASYNC #异步归档类型

ARCH_DEST = DMOA_ST #异步归档目标实例名

ARCH_TIMER_NAME = RT_TIMER  #定时器名称,和dmtimer.ini中的名称

配置dmtimer.ini,用于定时触发实例发送归档日志到异步备库。

[RT_TIMER] #和dmarch.ini中的ARCH_TIMER_NAME一致

TYPE                 = 2

FREQ_MONTH_WEEK_INTERVAL      = 1

FREQ_SUB_INTERVAL     = 0

FREQ_MINUTE_INTERVAL = 0

START_TIME            = 14:00:00

END_TIME           = 15:00:00

DURING_START_DATE   = 2021-08-05 13:00:00

DURING_END_DATE     = 9999-12-31 23:59:59

NO_END_DATE_FLAG    = 1

DESCRIBE             = RT TIMER

IS_VALID            = 1

5.配置异步备库

dm.ini修改如下

#实例名,建议使用―组名_守护环境_序号的命名方式,总长度不能超过16

INSTANCE_NAME= DMOA_ST

PORT_NUM= 5234 #数据库实例监听端口

DW_INACTIVE_INTERVAL= 60     #接收守护进程消息超时时间

ALTER_MODE_STATUS= 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS= 2 #不允许备库OFFLINE表空间

MAL_INI= 1 #打开MAL系统

ARCH_INI= 1 #打开归档配置

RLOG_SEND_APPLY_MON= 64    #统计最近64

将主库dmmal.ini复制到异步备库上

dmarch.ini如下(异步备库只需要本地归档)

[ARCHIVE_LOCAL1]

        ARCH_TYPE            = LOCAL

        ARCH_DEST            = /home/dmdba/dmdbms/DMOA/arch_DMOA

        ARCH_FILE_SIZE       = 256

        ARCH_SPACE_LIMIT     = 10240

        ARCH_FLUSH_BUF_SIZE  = 0

dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL       #全局守护类型

DW_MODE = MANUAL #自动切换模式

DW_ERROR_TIME    = 10    #远程守护进程故障认定时间

INST_ERROR_TIME  =10#本地实例故障认定时间

INST_OGUID        = 453331     #守护系统唯一OGUID值

INST_INI  = /home/dmdba/dmdbms/DMOA/dm.ini   #dm.ini配置文件路径

INST_AUTO_RESTART  = 1   #打开实例的自动启动功能

INST_STARTUP_CMD  = /home/dmdba/dmdbms/bin/dmserver    #命令行方式启动

更多达梦数据库相关问题,请前往达梦技术社区 https://eco.dameng.com/ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值