达梦数据守护集群之主库故障分析

目录

第1章  概述

1.1  环境介绍

1.2  主要内容

第2章  守护进程处理流程

2.1  主库故障、备库接管执行流程

2.2  主库故障、备库接管需满足的条件

第3章  主库故障分析

3.1  案例

3.2  故障分析

3.3  主备库切换


 

第1章  概述

1.1  环境介绍

        节点数量:1主1备

        归档类型:实时归档

        主库实例名:GRP1_RT_01

        备库实例名:GRP1_RT_02

        守护模式:故障自动切换

        数据库版本:DM_20240712

        操作系统版本:CentOS7.6

        数据守护集群版本:V4.0

1.2  主要内容

        本文第2章介绍主库故障、备库接管的执行流程,介绍了接管需要满足哪些条件;第3章模拟了达梦数据守护集群的主库故障,记录了故障分析过程。

 

第2章  守护进程处理流程

2.1  主库故障、备库接管执行流程

        案例:故障自动切换模式,主库主机宕机,2分钟后主机重新启动。主库停机时间超过故障认定时间DW_ERROR_TIME(20S),启动备库接管流程。

备库接管执行流程:

        1、守护进程切换到TAKEOVER状态

        2、修改数据库状态为MOUNT

        3、修改数据库模式修改为PRIMARY

        4、修改所有归档状态为INVALID

        5、数据库切换到OPEN状态

        6、守护进程切换到OPEN状态

如下图:

c0003b2b89c343bb868d317ac3a328bf.png

55ad6dc51b394d5da207c04aef073b93.png

        参数DW_ERROR_TIME:

        守护进程故障认定时间,单位秒,取值范围为 3~32767,缺省 15 秒没有收到远程守护进程消息,即认定远程守护进程故障,对本地守护无效。另外此参数也是监视器认定守护进程的故障时间,超过设置的时间间隔仍没有收到守护进程消息,监视器认为守护进程出现故障

2.2  主库故障、备库接管需满足的条件

        为了避免备库接管后,造成守护进程组分裂,执行 Takeover 必须满足下列条件:

        1、主库是 Primary 模式、Open 状态时,发生故障

        2、主库守护进程故障,故障前是 Open/Recovery 状态;或者主库守护进程正常

        3、主库故障前到接管备库的归档状态为 Valid

        4、接管备库是 Standby 模式、Open 状态

        5、接管备库的守护进程控制文件状态为 Valid(内存值)

        6、故障主库和接管备库的 Open 记录项内容相同

第3章  主库故障分析

3.1  案例

        问题:故障自动切换模式,主库宕机或异常掉电切换,如何分析故障原因?

        案例:登录监视器,发现原备库GRP1_RT_02成为了主库,原主库GRP1_RT_01成为了备库。如下图:
920acd549bb04370ad03b4f80b049b9c.png

接下来,我们尝试分析下故障原因

3.2  故障分析

        首先,要确定故障发生时间。知道了故障发生时间,可以查看这个时间点的守护进程日志、实例日志、系统日志、HISTORY日志,大概率就可以分析出故障发生的原因。

        1)确定故障发生时间
        我的方法是查找确认监视器日志中的TAKEOVER关键字。
bd35e891f98340eead433cfb8ab6f0ca.png

    在TAKEOVER之前大概20秒(DW_ERROR_TIME=20)左右,我们看到数据库GRP1_RT_01的报错信息。故障发生时间是2024-09-11 10:47:24。

        2)查看原主库(GRP1_RT_01)守护进程日志

9da78cb7b1e24783aa4965c98d09482c.png

        日志中可以看到,守护进程在10:50再次启动。结合故障发生时间是10:47,守护进程在10:47-10:50有3分钟左右的时间处于宕机状态。

        3)查看原主库(GRP1_RT_01)实例日志

3fad150866b7459682f362f6913cdff9.png

        分析数据库实例日志,数据库同样在10:47-10:50有3分钟左右的时间处于宕机状态。

        4)主机启动日志

last reboot

ed0b729f0af84f0aae8efca5333337a3.png

        服务器在10:47关机,10:49再次重启。

        到这里,我们找到了发生主备切换的原因是由于操作系统关机、重启导致的。接下来可以通过history日志判断是人为关机,还是硬件故障导致的关机。也可以请系统管理员协助排查系统故障原因。

3.3  主备库切换

        为了方便管理,我们将主备库手工切换到原来的位置。
        登录非确认监视器
dbbe07ef567448b6bc3d39953ab231a2.png

 

选择可切换备库

choose switchover

ca875b7e7b2744faaf5650d58348e15f.png

 

执行切换命令

switchover GRP1_RT_01

f21f418890b3431db7d4ced440bde5b0.png

8eb8a063a7cb40f889fa784362177af6.png

手动切换完成

 

本文结束!

20240911

参考文档:《DM8数据守护与读写分离集群V4.0》

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值