注册
达梦数据守护集群-搭建过程多次出现备库状态为mount问题解决
培训园地/ 文章详情 /

达梦数据守护集群-搭建过程多次出现备库状态为mount问题解决

胖头鱼 2025/11/07 143 0 0

一.前言

上一期,我们学习了如何搭建达梦数据守护集群,掌握了数据守护集群包含的各个组件、配置文件、端口号等基本信息。本文将分享在搭建过程中出现的问题。数据守护集群搭建教程地址:
https://eco.dameng.com/community/training/97c2de7ae718fdaec12ca5a869bccaeb

二.问题描述

在练习搭建集群的过程中,一直出现备库ISTATUS=MOUNT,RSTAT=INVALID的情况,每次清理环境后重新搭建都是如此,排查了服务器防火墙、各组件端口号、各配置文件内容都没有问题,重新进行备库还原等操作后,备库状态依然不可用。
备注:如果初次搭建主备库状态不对,请仔细排查配置文件内容,关闭服务器防火墙,关闭selinux。
监视器查看集群状态如下图所示:
数据守护集群状态.png

三.问题排查

1.常规排查

(1).确认防火墙已关闭
(2).确认各ini配置文件内容无误
(3).确认selinux已关闭

2.数据库日志内容排查

(1).查看主备库实例日志无error报错信息
(2).守护进程日志无error报错信息

3.数据库安装目录排查

在几乎绝望的时候,想到了跟状态正常的集群进行对比,果然有了重大发现,在数据库名目录下,状态为mount的集群环境多了一个dmwatcher.ctl控制文件,如下图所示:
image.png
此问题为:数据守护集群脑裂

四.问题确认

(1).脑裂介绍

脑裂是同一个守护进程组中同时出现两个或者多个活动主库,并且这些主库都接收用户请求,提供完整数据库服务。一旦发生脑裂,将无法保证数据一致性,对数据安全造成严重后果。

(2).造成脑裂的主要原因

网络不稳定或错误的人工干预

五.集群修复

1.关闭监视器、守护进程和数据库服务进程

(1).关闭监视器
(2).关闭备库数据守护
(3).关闭主库数据守护
(4).关闭主库数据库
(5).关闭备库数据库

2.删掉分裂库生成的守护进程控制文件

rm -rf dmwatcher.ctl

3.主库备份

cd /dm8/bin
./dmrman
backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup/backupfull';
拷贝备份文件到备库服务器。

4.备库还原

cd /dm8/bin
./dmrman
restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/backupfull';#还原
recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/backupfull';#恢复
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;#更新魔术值

5.启动数据库、数据守护进程、监视器

(1).启动主库为mount状态
(2).启动备库为mount状态
(3).启动主库数据守护
(4).启动备库数据守护
(5).启动监视器
备注:如果为了保证修复集群状态准确无误,可重新设置oguid、主备库状态等

6.验证

经过修复,达梦数据守护集群状态正常。

六.结语

经过复盘,出现此问题是由于搭建集群环境过程中操作不规范所造成的,主库备份后,在主库还进行了其他操作,而在备库进行恢复时,还是使用的之前的备份文件,造成主备库的FLSN不一致。
切记:在备库进行恢复、还原时,一定要使用最新的备份文件。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服