注册

数据守护集群自动切换不生效。

繁星Ⅰ落日 2025/08/07 111 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz
【问题描述】*:配置自动切换。但是10次有五次不能进行自动切换。
1、目前采用的方案为数据守护集群,将确认监视器部署在备机上。发生主备切换后,则将新主机上的监视器关闭,然后在旧主机上面启动监视器。
其中机器A dmmal配置文件如下

MAL_CHECK_INTERVAL = 5                          ##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5                      ##判定MAL链路断开的时间
[MAL_INST1]
  MAL_INST_NAME = DMSERVER01                    ##实例名,和dm.ini中的INSTANCE_NAME一致
  MAL_HOST = 172.17.6.47                ##MAL系统监听TCP连接的IP地址
  MAL_PORT = 7336                               ##MAL系统监听TCP连接的端口
  MAL_INST_HOST = 172.17.6.47   ##实例的对外服务IP地址
  MAL_INST_PORT = 5236                  ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
  MAL_DW_PORT = 7436                    ##实例本地的守护进程监听TCP连接的端口
  MAL_INST_DW_PORT = 7536               ##实例监听守护进程TCP连接的端口
[MAL_INST2]
  MAL_INST_NAME = DMSERVER02
  MAL_HOST = 172.17.6.55
  MAL_PORT = 7336
  MAL_INST_HOST = 172.17.6.55
  MAL_INST_PORT = 5236
  MAL_DW_PORT = 7436
  MAL_INST_DW_PORT = 7536

机器A dmwatcher配置文件如下

[GRP1]
DW_TYPE = GLOBAL                                ##全局守护类型
DW_MODE = AUTO                                  ##自动切换模式
DW_ERROR_TIME = 20                              ##远程守护进程故障认定时间
INST_RECOVER_TIME = 60                          ##主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10                            ##本地实例故障认定时间
INST_OGUID = 453331                             ##守护系统唯一OGUID值
INST_INI = /var/lib/dm/dmdata/DAMENG/dm.ini     ##dm.ini配置文件路径
INST_AUTO_RESTART = 1                           ##打开实例的自动启动功能
INST_STARTUP_CMD = /var/lib/dm/dmdbms/bin/dmserver      ##命令行方式启动
RLOG_SEND_THRESHOLD = 0                         ##指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0                        ##指定备库重演日志的时间阈值,默认关闭

机器A dmmonitor 配置文件如下


MON_DW_CONFIRM    = 1                         #确认监视器模式(0非确认监视器)
MON_LOG_PATH    = /var/lib/dm/monitor/log     #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60                   #每隔60秒定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 32                #日志文件最大32M
MON_LOG_SPACE_LIMIT  = 0              #不限定日志文件总占用空间
[GRP1]                                   # 这个名称需要与主备中配置的守护进程的名称一致,否则自动切换会失败
 MON_INST_OGUID    = 453331              #组GRP1的唯一OGUID值,需要保持一致
 MON_DW_IP     = 172.17.6.55:7436      #集群内部节点1,对应的ip以及mal_port的值
 MON_DW_IP     = 172.17.6.47:7436      #集群内部节点2,对应的ip以及mal_port的值

机器A dmarch 配置文件如下

[ARCHIVE_REALTIME1]
ARCH_TYPE     = REALTIME   #实时归档类型
ARCH_DEST     = DMSERVER02 #实时归档目标实例名(主库则填写备库实例名)
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL    #本地归档类型
ARCH_DEST     = /var/lib/dm/dmarch   #本地归档存放路径
ARCH_FILE_SIZE    = 128  #单位MB,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 0    #单位MB。0标识无限制,范围1024~4294967294MB

机器B配置如下
dmmal


MAL_CHECK_INTERVAL = 5                          ##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5                      ##判定MAL链路断开的时间
[MAL_INST1]
  MAL_INST_NAME = DMSERVER01                    ##实例名,和dm.ini中的INSTANCE_NAME一致
  MAL_HOST = 172.17.6.47                ##MAL系统监听TCP连接的IP地址
  MAL_PORT = 7336                               ##MAL系统监听TCP连接的端口
  MAL_INST_HOST = 172.17.6.47   ##实例的对外服务IP地址
  MAL_INST_PORT = 5236                  ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
  MAL_DW_PORT = 7436                    ##实例本地的守护进程监听TCP连接的端口
  MAL_INST_DW_PORT = 7536               ##实例监听守护进程TCP连接的端口
[MAL_INST2]
  MAL_INST_NAME = DMSERVER02
  MAL_HOST = 172.17.6.55
  MAL_PORT = 7336
  MAL_INST_HOST = 172.17.6.55
  MAL_INST_PORT = 5236
  MAL_DW_PORT = 7436
  MAL_INST_DW_PORT = 7536

dmwatcher

[GRP1]
DW_TYPE = GLOBAL                                ##全局守护类型
DW_MODE = AUTO                                  ##自动切换模式
DW_ERROR_TIME = 20                              ##远程守护进程故障认定时间
INST_RECOVER_TIME = 60                          ##主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10                            ##本地实例故障认定时间
INST_OGUID = 453331                             ##守护系统唯一OGUID值
INST_INI = /var/lib/dm/dmdata/DAMENG/dm.ini     ##dm.ini配置文件路径
INST_AUTO_RESTART = 1                           ##打开实例的自动启动功能
INST_STARTUP_CMD = /var/lib/dm/dmdbms/bin/dmserver      ##命令行方式启动
RLOG_SEND_THRESHOLD = 0                         ##指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0                        ##指定备库重演日志的时间阈值,默认关闭

dmmonitor

MON_DW_CONFIRM    = 1                         #确认监视器模式(0非确认监视器)
MON_LOG_PATH    = /var/lib/dm/monitor/log     #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60                   #每隔60秒定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 32                #日志文件最大32M
MON_LOG_SPACE_LIMIT  = 0              #不限定日志文件总占用空间
[GRP1]                                   # 这个名称需要与主备中配置的守护进程的名称一致,否则自动切换会失败
 MON_INST_OGUID    = 453331              #组GRP1的唯一OGUID值,需要保持一致
 MON_DW_IP     = 172.17.6.55:7436      #集群内部节点1,对应的ip以及mal_port的值
 MON_DW_IP     = 172.17.6.47:7436      #集群内部节点2,对应的ip以及mal_port的值

dmarch

[ARCHIVE_REALTIME1]
ARCH_TYPE     = REALTIME     #实时归档类型
ARCH_DEST     = DMSERVER01   #实时归档目标实例名(备库则填写主库实例名)
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL        #本地归档类型
ARCH_DEST     = /var/lib/dm/dmarch   #本地归档存放路径
ARCH_FILE_SIZE    = 2048     #单位MB,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 102400   #单位MB。0标识无限制,范围1024~4294967294MB

目前测试期间,偶现不能切换的情况,截图如下:

1aa8a9e58000702a5c599c834138415.png

我理解监视器在上述获取到的状态已经属于primary 和open,但是检测到故障后,为何提示故障前不是primary 和open?

这里是能正常切换的截图
a1fefbd78ad74362e1989400f60d805.png

恳请大佬帮忙指正原因?是否与配置不恰当有关系?谢谢了!!!!

回答 0
暂无回答
扫一扫
联系客服