接上篇
达梦数据守护集群部署
https://blog.csdn.net/qq_25045631/article/details/139900164
在主备及读写分离环境,如果配置为自动切换模式,确认监视器必须部署在集群以外的其他服务器上,只要保证服务器稳定、网络稳定即可。
这里只有两台机器,就配置在备库节点上。
1. 配置dmmonitor.ini
[dmdba@node2 ~]$ vi /opt/dmdbms/data/DAMENG/dmmonitor.ini
MON_DW_CONFIRM = 1 #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = /opt/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT = 0 #日志上限,单位 MB,0表示不限制
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 172.25.0.101:52141 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 172.25.0.102:52142
2. 配置dmmonitor_manual.ini
在配置监视器时,一般配置好确认监视器后,建议再配置一个非确认监视器的配置文件,在主备发生切换时,可以通过前台的方式启动非确认监视器进行手动切换。非确认监视器是通过将监视器配置文件中 MON_DW_CONFIRM 参数值修改为 0 来实现,示例如下:
[dmdba@node2 ~]$ vi /opt/dmdbms/data/DAMENG/dmmonitor_manual.ini
MON_DW_CONFIRM = 0 #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = /home/dmdba #监视器日志文件存放路径,必须和确认监视器的不一样
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT = 0 #日志上限,单位 MB,0表示不限制
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 172.25.0.101:52141 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 172.25.0.102:52142
3. 启动非确认监视器
这里如果用root启动,需要去bin目录下执行,否则报找不到文件或目录
[dmdba@node2 ~]$ /opt/dmdbms/bin/dmmonitor /opt/dmdbms/data/DAMENG/dmmonitor_manual.ini
监视器相关命令
4. switchover切换
查看满足切换条件的实例
choose switchover GRP1
Can choose one of the following instances to do switchover:
1: GRP1_RT_02
执行切换
login
用户名:SYSDBA
密码:
[monitor] 2024-06-21 17:56:47: 登录监视器成功!
switchover grp1.GRP1_RT_02
[monitor] 2024-06-21 17:57:02: 开始切换实例GRP1_RT_02
......
执行完成后通过监视器命令“tip”和“show”检查当前集群状态
5. takeover切换
查看满足切换条件的实例
choose takeover GRP1
组(grp1)中有活动PRIMARY实例,不再查找可接管实例列表!
当监视器中的主库状态正常时,无法执行takeover
这里手动将主库网络中断
[root@node1 ~]# ifconfig ens36 down
执行切换
choose takeover GRP1
Can choose one of the following instances to do takeover:
1: GRP1_RT_02
takeover GRP1_RT_02
[monitor] 2024-06-21 18:00:50: 开始使用实例GRP1_RT_02接管
......
恢复DW环境
恢复原主库的网络后,监视器自动将原主库切换成了备库。
[root@node1 ~]# ifconfig ens36 up
6. 注册并启动监视器
[root@node2 ~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p DM -monitor_ini /opt/dmdbms/data/DAMENG/dmmonitor.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmMonitorServiceDM.service to /usr/lib/systemd/system/DmMonitorServiceDM.service.
创建服务(DmMonitorServiceDM)完成
[root@node2 ~]# systemctl start DmMonitorServiceDM
7. 配置dm_svc.conf
32 位的 DM 安装在 Win32 操作平台下,此文件位于 %SystemRoot%\system32 目录;
64 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\system32 目录;
32 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\SysWOW64 目录;
在 Linux 平台下,此文件位于 /etc 目录。
主备集群的dm_svc.conf
[root@node1 ~]# vi /etc/dm_svc.conf
##以#开头的行表示是注释#
##全局配置区
DMRW=(192.168.25.101:5236,192.168.25.102:5236)
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
##服务配置
[DMRW]
LOGIN_MODE=(1)
SWITCH_TIMES=(3)
SWITCH_INTERVAL=(10)
需要注意的是,dm_svc.conf文件是配置在客户端上的
达梦社区地址
https://eco.dameng.com