上一期,我们学习了如何搭建达梦数据守护集群,掌握了数据守护集群包含的各个组件、配置文件、端口号等基本信息。本文将分享在搭建过程中出现的问题。数据守护集群搭建教程地址:
https://eco.dameng.com/community/training/97c2de7ae718fdaec12ca5a869bccaeb
在练习搭建集群的过程中,一直出现备库ISTATUS=MOUNT,RSTAT=INVALID的情况,每次清理环境后重新搭建都是如此,排查了服务器防火墙、各组件端口号、各配置文件内容都没有问题,重新进行备库还原等操作后,备库状态依然不可用。
备注:如果初次搭建主备库状态不对,请仔细排查配置文件内容,关闭服务器防火墙,关闭selinux。
监视器查看集群状态如下图所示:
(1).确认防火墙已关闭
(2).确认各ini配置文件内容无误
(3).确认selinux已关闭
(1).查看主备库实例日志无error报错信息
(2).守护进程日志无error报错信息
在几乎绝望的时候,想到了跟状态正常的集群进行对比,果然有了重大发现,在数据库名目录下,状态为mount的集群环境多了一个dmwatcher.ctl控制文件,如下图所示:
此问题为:数据守护集群脑裂
脑裂是同一个守护进程组中同时出现两个或者多个活动主库,并且这些主库都接收用户请求,提供完整数据库服务。一旦发生脑裂,将无法保证数据一致性,对数据安全造成严重后果。
网络不稳定或错误的人工干预
(1).关闭监视器
(2).关闭备库数据守护
(3).关闭主库数据守护
(4).关闭主库数据库
(5).关闭备库数据库
rm -rf dmwatcher.ctl
cd /dm8/bin
./dmrman
backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup/backupfull';
拷贝备份文件到备库服务器。
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;#更新魔术值
(1).启动主库为mount状态
(2).启动备库为mount状态
(3).启动主库数据守护
(4).启动备库数据守护
(5).启动监视器
备注:如果为了保证修复集群状态准确无误,可重新设置oguid、主备库状态等
经过修复,达梦数据守护集群状态正常。
经过复盘,出现此问题是由于搭建集群环境过程中操作不规范所造成的,主库备份后,在主库还进行了其他操作,而在备库进行恢复时,还是使用的之前的备份文件,造成主备库的FLSN不一致。
切记:在备库进行恢复、还原时,一定要使用最新的备份文件。
文章
阅读量
获赞
