本文于 10 天前发布,最后更新于 10 天前
一、环境说明
原集群架构为一主一备【两台服务器,监视器位于备机上】
数据库软件安装目录:/home/dmdba/dmdbms
现需要将备库的上的监视器移到新的服务器上独立出来,构成一主一备一监视器的集群架构,以具备主备自动切换功能。
二、独立监视器配置
2.1 安装达梦数据库软件
在新服务器上安装达梦数据库软件,不需要创建数据库实例。(软件版本要与主备版本保持一致)
安装过程略。
2.2 创建 dmmonitor.ini 配置文件
MON_DW_CONFIRM = 1 # 普通监视器 MON_LOG_PATH = /home/dmdba/dmdbms/log # 监视器日志存放路径 MON_LOG_INTERVAL = 60 # 每隔60s定时记录系统信息到日志文件 MON_LOG_FILE_SIZE = 32 # 每个日志文件最大32M MON_LOG_SPACE_LIMIT = 2048 # 限定日志文件总占用空间 [GRP1] # 守护组名称 MON_INST_OGUID = 34567 # 与主备库一致的OGUID MON_DW_IP = 192.168.119.133:52141 # 主库IP:MAL_DW_PORT MON_DW_IP = 192.168.119.134:52142 # 备库IP:MAL_DW_PORT
三、主备库守护进程调整
修改 dmwatcher.ini【主备库均需修改,修改前备份】
cp dmwatcher.ini dmwatcher.ini.bak
配置文件内容如下
[${GROUP_NAME}] # 守护组名称 DW_TYPE = GLOBAL # 全局守护类型 DW_MODE = AUTO # 自动切换模式 DW_ERROR_TIME = 10 # 远程守护进程故障认定时间 INST_RECOVER_TIME = 60 # 主库守护进程启动恢复的间隔时间 INST_ERROR_TIME = 10 # 本地实例故障认定时间 INST_OGUID = ${OGUID} # 守护系统唯一 OGUID 值 INST_INI = ${INSTANCE_PATH}/${DB_NAME}/dm.ini # dm.ini 文件路径 INST_AUTO_RESTART = 1 # 打开实例的自动启动功能 INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver # 启动方式 RLOG_SEND_THRESHOLD = 0 # 指定主库发送日志到备库的时间阈值,默认关闭 RLOG_APPLY_THRESHOLD = 0 # 指定备库重演日志的时间阈值,默认关闭
注意:务必将备库当中的监视器服务删除,因为确认监视器只能启动一个。
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n [监视器服务名]
四、服务启停顺序
- 停止原备库上的监视器
- 重启主备库守护进程
- 启动新的独立监视器
/home/dmdba/dmdbms/bin/dmmonitor /data/$DB_NAME/dmmonitor.ini show 确认可以看到集群主备节点状态信息
注册监视器服务并启动
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p [服务名] -monitor_ini /data/$DB_NAME/dmmonitor.ini 启动监视器: /home/dmdba/dmdbms/bin/DmMonitor[服务名] start
拷贝一个非确认监视器配置文件,用于前台查看集群状态,修改 MON_DW_CONFIRM=0
cp dmmonitor.ini dmmonitor_0.ini
五、自动切换验证
- 模拟主库故障【kill 主库 dmserver 进程】
- 在监视器执行查看命令【show 或 show global info】
- 检查日志确认自动切换过程【tail -f /home/dmdba/dmdbms/log/dmmonitorxxx.log】
监视器命令
命令 | 含义 |
list | 查看守护进程的配置信息 |
show global info | 查看所有实例组的信息 |
tip | 查看系统当前运行状态 |
login | 登录监视器 |
logout | 退出登录 |
choose switchover GRP1 | 主机正常:查看可切换为主机的实例列表 |
switchover GRP1. 实例名 | 主机正常:使用指定组的指定实例,切换为主机 |
choose takeover GRP1 | 主机故障:查看可切换为主机的实例列表 |
takeover GRP1. 实例名 | 主机故障:使用指定组的指定实例,切换为主机 |
choose takeover force GRP1 | 强制切换:查看可切换为主机的实例列表 |
takeover force GRP1. 实例名 | 强制切换:使用指定组的指定实例,切换为主机 |
六、注意事项
- 确保三节点时间同步(NTP 配置)
- 自动切换后需及时修复原主库并重新加入集群
- 定期检查监视器日志(/home/dmdba/dmdbms/log/)