Linux达梦8实时主备集群搭建

一、数据库安装

用命令行安装单机库,创建组dinstall和用户dmdba,3个文件夹(要授权给dmdba用户)

groupadd dinstall
useradd -g dinstall -d /home/dmdba dmddba
mkdir -p /home/dmdata /home/dmarch /home/dmbak
chown -R dmdba:dinstall /home/dmdata /home/dmarch /home/dmbak

修改open file参数,ulimit -a后检查open files参数是否为65536

图中为1024,要修改为65536

切换至root用户,输入

vi /etc/security/limits.conf

将下面两行内容增加到末尾(在end前),:wq保存退出。

* soft  nofile  65536

* hard  nofile  65536

reboot重启操作系统,输入ulimit -a查看是否修改成功,此时已修改成功。

将安装包放在opt目录下,授权然后挂载挂载安装包

chmod 755 dm8.iso
mount dm8.iso /mnt/

授权

chmod 755 DMInstall.bin

切换用户dmdba,执行安装,使用命令行方式安装

在两台服务器上进行初始化实例,在/dmdbms/bin目录下输入命令:

./dminit path=/home/dmdata page_size=16

启动测试一次,

./dmserver /home/dmdata/DAMENG/dm.ini

然后exit关停。

二、集群搭建步骤

1.对主库DM1进行脱机备份

在bin目录中,使用脱机备份工具dmrman,指定备份文件名backuptest(名字自取),输入命令:

./dmrman ctlstmt="backup database '/home/dmdata/DAMENG/dm.ini' full to backuptest backupset '/home/dmdata/DAMENG/backuptest'"

2.读对备库DM2进行备份还原与更行

在主库中,将备份文件发给备库,如果备库dmdba用户没有设置密码,就用root用户来操作,在ip地址前加root@:

scp -r /home/dmdata/DAMENG/backup20210721/ 192.168.209.136:/home/dmdata/DAMENG/

切换至备库,使用root用户给备份文件授权,

chown -R dmdba:dinstall backuptest

备库切换用户至dmdba,到dmdbms/bin目录中使用dmrman工具进行备份还原与更新。

还原指令:./dmrman ctlstmt="restore database '/home/dmdata/DAMENG/dm.ini' from backupset '/home/dmdata/DAMENG/backuptest'"
恢复指令:./dmrman ctlstmt="recover database '/home/dmdata/DAMENG/dm.ini' from backupset '/home/dmdata/DAMENG/backuptest'"
更新db_magic: ./dmrman ctlstmt="recover database '/home/dmdata/DAMENG/dm.ini' update db-magic"

备份还原操作是为了确保主备库完全同步,这个操作是整个主备集群搭建的基础。

3.配置主库DM1和备库DM2

先找到主备库的/DAMENG/dm.ini文件,进行修改。

vi dm.ini
修改以下配置:
INSTANCE_NAME=DM1(备库为DM2)
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2    
修改完成后保存退出

在主库的DAMENG目录里配置dmmal.ini文件,要注意下主备库的ip地址和各端口号。

vi dmmal.ini
复制以下内容:
MAL_CHECK_INTERVAL = 5 
MAL_CONN_FAIL_INTERVAL = 5 
[MAL_INST1] 
MAL_INST_NAME = DM1
MAL_HOST =192.168.209.128
MAL_PORT = 61141 
MAL_INST_HOST = 192.168.209.128
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141 
MAL_INST_DW_PORT = 33141 
[MAL_INST2] 
MAL_INST_NAME = DM2 
MAL_HOST = 192.168.209.129
MAL_PORT = 61142 
MAL_INST_HOST = 192.168.209.129
MAL_INST_PORT = 5236 
MAL_DW_PORT = 52142 
MAL_INST_DW_PORT = 33142

在该目录下配置dmarch.ini文件,配置本地归档和实时归档

vi dmarch.ini
复制以下内容:
ARCH_WAIT_APPLY=1
[ARCHIVE_REALTIME1] 
ARCH_TYPE = REALTIME
ARCH_DEST = DM2  
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /home/dmarch 
ARCH_FILE_SIZE = 512 
ARCH_SPACE_LIMIT = 2048

在该目录下配置dmwatcher.ini文件:

vi dmwatcher.ini
复制以下内容:
[GRP01]
DW_TYPE = GLOBAL 
DW_MODE = AUTO 
DW_ERROR_TIME = 10 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /home/dmdata/DAMENG/dm.ini 
INST_AUTO_RESTART = 1 
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0 
RLOG_APPLY_THRESHOLD = 0 

将以上配置文件发送到备库DM2里:

scp dmmal.ini dmarch.ini dmwatcher.ini root@192.168.209.129:/home/dmdata/DAMENG

在备库里修改dmarch.ini文件

dmarch.ini:
ARCH_DEST = DM1  

处理好配置文件后,要配置主备库的OGUID。

先进入bin目录,然后以mount开启主库,

./dmserver /home/dmdata/DAMENG/dm.ini mount

直到出现

新开一个窗口,切换dmdba用户,进入bin目录,用达梦系统管理员SYSDBA打开disql工具。

./disql SYSDBA/SYSDBA    

输入语句,修改OGUID。

sp_set_oguid(453331);

 修改主备库模式。

主库:alter database primary;
备库:alter database standby;

如果输入错误输入语句进行修改:

启动修改权限:SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',1);
输入语句:SQL>SP_SET_OGUID(453331);
关闭修改权限:SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',0);

 4.注册启动服务和守护服务

主备库切换root用户,进入dmdbms/script/root中注册实例服务。

注册主库实例服务:

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdata/DAMENG/dm.ini -m mount -p DM1

注册主库守护进程服务:

./dm_service_installer.sh -t dmwatcher -watcher_ini /home/dmdata/DAMENG/dm.ini -p DM1

注册备库实例服务:

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdata/DAMENG/dm.ini -m mount -p DM2

注册备库守护进程:

./dm_service_installer.sh -t dmwatcher -watcher_ini /home/dmdata/DAMENG/dm.ini -p DM2

5.配置确认监视器

由于是自行练习搭建主备集群,所以监视器可以直接配置在备库上,也可以单独开一个服务器用于监视,以下操作是在备库上进行。

使用dmdba用户,在dmdbms中创建dmmonitor.ini文件,配置如下:

MON_DW_Confirm = 1
MON_LOG_PATH = /opt/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP01]
MON_INST_OGUID = 453331 
MON_DW_IP = 192.168.209.135:52141
MON_DW_IP = 192.168.209.136:52142

启动各个主备库各个进程,启动顺序为:

主库实例(DmServiceDM1)——备库实例(DmServiceDM2)——主库守护进程(DmWatcherServiceDM1)——备库守护进程(DmWatcherServiceDM2)——监视器服务(DmMonitorServiceDM)

 最后进入bin目录打开监视器。

./dmmonitor /home/dmdba/dmdbms/dmmonitor.ini

 

 最后DM1,DM2都是open状态,此时即为主备集群搭建成功。

如果进程还处于mount状态,可以重启守护进程。

注意:关闭进程一定要先关闭守护进程,然后再关闭实例进程,因为守护进程会自动拉起关闭的实例进程。

集群关闭顺序为:

监视器服务(DmMonitorServiceDM)——备库守护进程(DmWatcherServiceDM2)——主库守护进程(DmWatcherServiceDM1)——主库实例(DmServiceDM1)——备库实例(DmServiceDM2)


总结

多节点主备集群搭建万变不离其宗,主要要注意dm.ini,dmarch.ini,dmwatcher.ini,dmmal.ini这几个配置文件。

更多资讯请上达梦技术社区了解:https://eco.dameng.com

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值