注册
达梦数据守护概述及实战布署
培训园地/ 文章详情 /

达梦数据守护概述及实战布署

张云杰 2025/04/24 280 1 0

达梦数据守护概述及实战布署

概述

达梦数据守护是一种主备集群, 通过数据守护可以布署高可用的数据库服务. 当主节点失效后会自动切换到可用的备库中.

数据守护结构图

集群包括集群主机, 集群备机, 以及集群监视器.

集群主机和集群备机上各运行一个达梦数据库实例以及dmwatcher实例, dmwatcher用于和监视器沟通, 以及监控实例状态.

主机和备机之间的数据交换通过实时归档进行, 并通过MAL发送数据

进行数据库操作时, 集群主机将REDO日志通过MAL发送到备机的日志重放服务中, 备机收到后会立即返回一个确认信息, 随后进行日志的重放. 主机在接收到备机返回的确认信息后开始将操作落盘.

监视器可以运行在主备机以外的任意安装了达梦数据库的主机中, 通过dmmonitor服务和集群中的的dmwatcher沟通, 手动或自动的对集群主机进行切换.

实战布署

现在要布署一套数据守护系统, 设备信息和规划如下:

名称 数据库名 实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
主机 DM01 DMSVR01 5236 45101 192.168.163.85 55101 65101
备机 DM01 DMSVR02 5236 45121 192.168.163.85 55121 65121

环境准备

首先, 在两台主机上创建数据库实例, 如果主机已经有数据, 则在备机上创建.
注意数据库名和实例名要按表格中填写.

其次, 对主机进行完全备份, 可用dm管理工具或dmrman命令行工具.

备份完成后使用scp指令将备份发送到备机

scp -r /dm8/backup dmdba@192.168.163.85:/dm8/backup

发送完成后在备机上使用console还原备份. 注意需要依次进行还原, 恢复, 更新魔数.

修改配置

修改dm.ini

对dm.ini的修改主备机一致, 命令行模式下可使用vim编辑器的搜索模式(/). 配置时可顺便检查一下实例名和端口配置.
修改内容如下:

ALTER_MODE_STATUS = 0 # 关闭OGUID修改 ENABLE_OFFLINE_TS= 2 # 备库不允许OFFLINE表空间, 由于主备会切换,此处自动识别主机状态 MAL_INI = 1 # 开启MAL配置, dmmal.ini ARCH_INI = 1 # 开启归档

创建MAL配置

创建dmmal.ini, 和dm.ini同目录, 按照表格内容填写相关端口和ip信息

MAL_CHECK_INTERVAL = 5 MAL_CONN_FAIL_INTERVAL = 5 [MAL_INST1] MAL_INST_NAME = DMSVR01 MAL_HOST = 192.168.163.85 MAL_PORT = 55101 MAL_INST_HOST = 192.168.163.85 MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT = 45101 [MAL_INST2] MAL_INST_NAME = DMSVR02 MAL_HOST = 192.168.163.81 MAL_PORT = 55121 MAL_INST_HOST =192.168.163.81 MAL_INST_PORT = 5246 MAL_DW_PORT = 65121 MAL_INST_DW_PORT = 45121

归档配置

主机和备机之间为实时归档, 主机的归档目标为备机, 备机的归档目标为主机
主机

[ARCHIVE_REALTIME] ARCH_TYPE=REALTIME ARCH_DEST=DMSALM02 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dm8/data/DM01/arch ARCH_FILE_SIZE = 64 ARCH_SPACE_LIMIT = 10240 ARCH_FLUSH_BUF_SIZE = 0 ARCH_HANG_FLAG = 1

备机

[ARCHIVE_REALTIME] ARCH_TYPE=REALTIME ARCH_DEST=DMSALM01 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dm8/data/DM01/arch ARCH_FILE_SIZE = 64 ARCH_SPACE_LIMIT = 10240 ARCH_FLUSH_BUF_SIZE = 0 ARCH_HANG_FLAG = 1

守护进程配置

创建dmwatcher.ini配置, 主备机一致.
OGUID为集群标识, 必须一致.
注意INST_INI和INST_STARTUP_CMD.

[GRP1] DW_TYPE=GLOBAL DW_MODE=AUTO DW_ERROR_TIME=10 INST_RECOVER_TIME=60 INST_ERROR_TIME=10 INST_OGUID=8888 INST_INI=/dm8/data/DM01/dm.ini INST_AUTO_RESTART=1 INST_STARTUP_CMD=/dm8/bin/dmserver RLOG_SEND_THRESHOLD=0 RLOG_APPLY_THRESHOLD=0

启动集群

配置完成后要启动集群, 先启动实例到MOUNT模式, 再启动守护程序, 当集群联通时将自动启动数据库.

启动实例

首先启动到配置模式

dmserver /dm8/data/DM01/dm.ini mount

再通过disql执行命令, 调整oguid和数据库状态
开启配置

SP_SET_PARA_VALUE(1,,'ALTER_MODE_STATUS',1);

设置OGUID, 和守护进程中配置相同

SP_SET_OGUID(8888);

设置服务器模式, 主机为primary模式, 备机为standby模式.

// 主机 alter database primary; // 备机 alter database standby;

启动守护进程

通过配置文件启动守护进程, 先启动主机再启动备机.

dmwatcher /dm8/data/DM01/dmwatcher.ini

配置监视器

创建dmmonitor.ini配置, MON_DW_IP值为主备的MAL_HOST和MAL_INST_DW_PORT

MON_DW_CONFIRM=1 MON_LOG_PATH=/dm8/log MON_LOG_INTERVAL=60 MON_LOG_FILE_SIZE=32 MON_LOG_SPACE_LIMIT=0 [GRP1] MON_INST_OGUID=8888 MON_DW_IP=192.168.163.85:65101 MON_DW_IP=192.168.163.81:65121

启动监视器

dmmonitor /dm8/dmmonitor.ini

可以通过show命令查看集群状态.

使用login命令进行登录.

login
用户名: SYSDBA
密码:

登录后可以查看备库列表和执行主备切换

choose switchover 查看选择可切换为 PRIMARY 库的备库列表
switchover 切换主库
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服