赞
踩
一、此类问题的主要排查点:
1.防火墙是否关闭,心跳网是否互通;
2.LSN 是否一致;
3.数据库魔数是否一致;
以下是实际搭建过程中,遇到此问题的排查步骤,分享以供参考:
1. 启动监视器查看集群状态,数据库安装路径下 执行 ./dmmonitor dmmonitor.ini ISTATUS为MOUNT
2.查看dm_dmwatcher_DAMENG_xxxx.log 日志,报:
receive tcp msg failed, close tcp port, xxxxxx, errno:0, error:Failure occurs in data_recv_inet_once, code(0) len(8128, 0), code:-6007
3.检查主备库上端口是否开启:
- [root@aws ~]# lsof -i:5536
- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
-
- dmserver 1477 dmdba 15u IPv6 28009 0t0 TCP *:5536 (LISTEN)
据此判断出,端口没有问题,大致确定问题原因:tcp网络不通
4.ping备库IP通的,telnet备库IP,报no route to host
备注:如果是测试机器,可以清一下虚拟机中的防火墙规则,sudo iptables -F
5.检查防火墙状态:systemctl status firewalld ,显示:Active:active(running)
确定是防火墙未关
6.关闭主备库防火墙,执行以下命令设置开机禁用防火墙并关闭防火墙:
- systemctl disable firewalld
-
- systemctl stop firewalld
7.关闭主备库 selinux ,selinux 状态需要设置为 disabled:
- set enforce 0
-
- vim /etc/selinux/config设置SELINUX=disabled
8.通过 v$rlog 视图查看主备库 LSN 和魔数:
select file_lsn,cur_lsn,n_magic,db_magic from v$rlog;
9.以上设置确认完毕后,重启主备库,主备库集群停止顺序如下:
退出 DM 数据守护
退出监视器
关闭备机的守护进程
关闭主机的守护进程
关闭主机实例
关闭备机实例
10.数据库安装路径下 执行 ./dmmonitor dmmonitor.ini 确认集群状态:
如上集群状态mount已解决,如仍为mount,需检查数据库所用的 key 是否正确支持集群使用。
附上监视器常用命令:
命令 | 含义 |
---|---|
list | 查看守护进程的配置信息 |
show global info | 查看所有实例组的信息 |
tip | 查看系统当前运行状态 |
login | 登录监视器 |
logout | 退出登录 |
choose switchoverGRP1 | 主机正常:查看可切换为主机的实例列表 |
switchoverGRP1.实例名 | 主机正常:使用指定组的指定实例,切换为主机 |
choose takeoverGRP1 | 主机故障:查看可切换为主机的实例列表 |
takeoverGRP1.实例名 | 主机故障:使用指定组的指定实例,切换为主机 |
choose takeover force GRP1 | 强制切换:查看可切换为主机的实例列表 |
takeover force GRP1.实例名 | 强制切换:使用指定组的指定实例,切换为主机 |
主机故障后,在备机执行 SELECT SF_DW_CHECK_TAKEOVER(); 【1:可接管;0:不可接管】
以上是本次分享的所有内容,如有错漏,欢迎指正。
每天持续进步一点点,持续成长。
访问达梦技术社区,获取更多内容,网站地址:https://eco.dameng.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。