注册
达梦数据库集群服务器需要维护并重启,达梦集群如何维护
专栏/培训园地/ 文章详情 /

达梦数据库集群服务器需要维护并重启,达梦集群如何维护

胡li 2025/04/15 147 0 0
摘要

1、环境说明

image.png
如上图,构造三中心的数据容灾系统。生产中心,配置一主一备两个数据库节点,承担日常业务,生产中心备机节点故障自动切换能力。同城灾备中心,配置两个实时备库,不参与自动切换;生产中心整体故障时,同城灾备中心手动接管业务,数据不丢失。异地灾备中心,配置一个异步备库(采用异步归档模式),生产中心和灾备中心,双中心都发生灾难的情况下由异地灾备中心手动接管业务,满足监管需求。
在生产中心、同城灾备中心、异地灾备中心各配置一个监视器节点,组成监视器高可用集群,进行自动故障确认和切换操作。确认监视器集群采用RAFT协议实现。在监视器集群中,只有leader节点作为确认监视器提供服务,其他节点作为备节点存在而不提供服务。当leader节点出现故障时,系统会从备节点中选举一位作为新的确认监视器提供服务。需要确保确认监视器集群中始终有超过半数的节点存活且有效,这样才能正常选举出主监视器作为确认监视器。

2、背景说明

当数据库服务器出现操作系统资源扩容、操作系统版本升级、硬件操作维护时服务器需要重启,达梦实时主备集群的维护。

采取滚动式重启方式使资源扩充生效,重启顺利为:异地备库,灾备中心备库,生产中心备库,生产中心主库。

异地备机处理流程

无影响,直接重启。
[root@localhost ~]# su - dmdba
[dmdba@localhost ~]$ cd /app/DMDATABASE/bin
[dmdba@localhost bin]$ ./DmService_XXX restart

灾备中心备机处理流程

灾备中心为手切切换,无影响,直接重启。
[root@localhost ~]# su - dmdba
[dmdba@localhost ~]$ cd /app/DMDATABASE/bin
[dmdba@localhost bin]$ ./DmService_XXX restart

生产中心备机处理流程

生产中心备库为自动切换,直接重启对主库有3s挂起处理,且监视器同时不可用的情况下会导致无法进行故障处理,集群处于suspend状态。建议处理步骤如下:
1.通过普通监视器将生产中心备库踢出集群,使其处理时不影响主库。
su - dmdba
cd /dmmonitor/dm8/bin
./dmmonitor dmmonitor_XXX_numal.ini
SHOW
预期结果:集群无主库,主节点显示为ERROR
LOGIN
--输入dba用户名和密码,登录(普通监视器)监视器
detach database INSTANCE_NAME(组名.实例名)

SHOW
预期结果:将实例XXX成功分离出守护进程组,RSTAT为Invalid状态,主库不再同步消息到生产中心备库。
2.(在归档被覆盖前恢复,否则需要重建备机),重新启动节点的dmserver和dmwatcher进程,执行以下命令将该节点加入集群中:
LOGIN
--输入dba用户名和密码,登录(普通监视器)监视器
attach database INSTANCE_NAME(组名.实例名)
节点会重新自动加入集群,以备机形式提供服务。

生产中心主机处理流程

1.通过普通监视器将生产中心备库切换为主库,使其提供对外服务。
su - dmdba
cd /dmmonitor/dm8/bin
./dmmonitor dmmonitor_XXX_numal.ini(普通监视器)
SHOW
预期结果:集群无主库,主节点显示为ERROR
LOGIN
--输入dba用户名和密码,登录确认监视器
switchover INSTANCE_NAME(组名.实例名)

SHOW
预期结果:切换的节点为主库
2.(在归档被覆盖前恢复,否则需要重建备机),重新启动节点的dmserver和dmwatcher进程,故障节点会重新自动加入集群,以备机形式提供服务。

4、应急步骤

4.1 集群无主库应急步骤

生产中心主库、监视器集群同时发生故障时会导致集群故障,数据库无法正常对外提供服务,影响系统正常使用,需要进行应急处置。
1.为尽快恢复数据库正常使用,避免对应用系统使用造成更长时间的影响,通过监视器强制切换主库,使其提供对外服务。
su - dmdba
cd /dm8/bin
./dmmonitor dmmonitor_XXX_numal.ini(普通监视器配置文件,配置方法请参考手册)
SHOW
预期结果:集群无主库,主节点显示为ERROR
LOGIN
--输入dba用户名和密码,登录确认监视器,强制OPEN主库
takeover force GROUP_NAME.INSTANCE_NAME(组名.实例名)
输入 Y确认
SHOW
预期结果:切换的节点为主库
2.待故障修复后(在归档被覆盖前恢复,否则需要重建备机),重新启动故障节点的dmserver和dmwatcher进程,故障节点会重新自动加入集群,以备机形式提供服务。

4.2 主库suspend应急步骤

生产中心备库、监视器集群同时发生故障时会导致主库suspend,集群会处于挂起状态,数据库无法正常对外提供服务,影响系统正常使用,需要进行应急处置。

应急方案一:(优选方案)
1.登录故障监视器服务器
2.启动故障监视器服务
cd /dm8/bin
./DmMonitorService start
3.检查数据库集群状态
./dmmonitor dmmonitor_XXX_numal.ini (普通监视器配置文件,配置方法请参考手册)
将监视器恢复正常,通过监视器自动进行故障处理。操作步骤如下:

应急方案二:通过监视器强制open主库,操作步骤如下:

1.登录数据库,检查数据库状态
通过以下语句查询数据库状态:
su - dmdba
cd /dmdbms/bin
./disql /nolog
Sql>CONN 用户名/密码@IP:端口
Sql>select status$,mode$ from v$instance;
预计结果:
主机上输出:SUSPEND PRIMARY
2.为尽快恢复数据库正常使用,避免对应用系统使用造成更长时间的影响,通过监视器强制OPEN主库,使其提供对外服务。
su - dmdba
cd /dm8/bin
./dmmonitor dmmonitor_XXX_numal.ini(普通监视器配置文件,配置方法请参考手册)
SHOW
预期结果:主机节点显示 SUSPEND 状态
LOGIN
--输入dba用户名和密码,登录确认监视器,强制OPEN主库
OPEN DATABASE INSTANCE_NAME(实例名)
SHOW
预期结果:主机节点显示 OPEN 状态
3.待故障修复后(在归档被覆盖前恢复,否则需要重建备机),重新启动故障节点的dmserver和dmwatcher进程,故障节点会重新自动加入集群,以备机形式提供服务。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服