【达梦数据库】主备集群网络故障处理策略


故障类型

公共网络故障

主库公共网络故障,主备库正常、内部网络正常情况下,用户无法连接主库执行正常的数据库操作。这种情况下,用户可以通过 Switchover 命令,将备库切换为主库,确保数

据库服务不受影响。

读写分离集群中备库公共网络故障,主备库正常、内部网络正常情况下,用户的所有请求会自动分发到主库执行。

内部网络故障

DM 数据守护对内部网络的可靠性提出了很高的要求,但是在实际应用中(比如异地容灾),存在很多不可控因素,内部网络无法保证绝对可靠。守护进程和守护进程之间、守护进程和监视器之间通过超时机制来检测是否出现故障,当内部网络出现故障时,超过设置时间未收到远程消息,会认定远程故障。

下面的表格说明在外部网络正常时,内部网络故障的场景以及守护进程的处理策略:

故障类型手动切换处理策略自动切换处理策略
主库内部网卡故障归档失败时,主库挂起,主库 Failover,归档设置无效,异步工作归档失败时,主库挂起,主库 Failover,归档设置无效,异步工作归档失败时,主库挂起,主库守护进程保持 Confirm 状态,确认监视器自动寻找备库自动接管。因为外网还是正常的,在经过 SESS_FREE_IN_SUSPEND参数配置的时间后,老主库会自动断开所有连接,以便应用连接能够转移到新接管的主库上。注:此场景下主备库之间无法通信,但确认监视器仍然可以和备库的守护进程正常通信
备库内部网卡故障归档失败时,主库挂起,主库 Failover,归档设置无效,异步工作归档失败时,主库挂起,主库守护进程 Failover(经过 Confirm 状态确认后 Failover),归档设置无效,异步工作。注:此场景下主备库之间无法通信,但确认监视器仍然可以和主库的守护进程正常通信
主备库交换机故障归档失败时,主库挂起,主库 Failover,归档设置无效,异步工作归档失败时,主库挂起,主库守护进程保持 Confirm 状态,备库不会自动接管。 注:此场景下主备库之间,以及和确认监视器之间都无法正常通信
主备网卡同时故障归档失败时,主库挂起,主库 Failover,归档设置无效,异步工作归档失败时,主库挂起,主库守护进程保持 Confirm 状态,备库 不会自动接管。 注:此场景下主备库之间,以及和确认监视器之间都无法正常通信

集群

使用三节点的主备集群测试主库内部网卡故障备库内部网卡故障,归档添加了强一致性参数。

集群ip、端口号:

对外服务的网卡为ens33,内部网络的网卡为ens36

节点作用IPPORT_NUMMAL_DW_PORTMAL_PORTMAL_INST_DW_PORT
DM1主库192.168.159.10(外部)
192.168.68.10(内部)
5236521416114133141
DM2备库192.168.159.11(外部)
192.168.68.11(内部)
5236521416114133141
DM3备库192.168.159.12(外部)
192.168.68.12(内部)
5236521416114133141
MON确认监视器192.168.68.9(内部)

集群状态:

image-20230917113201869

1、主库内部网络故障

关闭主库DM1的内部网卡:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36
ONBOOT=no
[root@localhost ~]# systemctl restart network

监视器信息:接收守护进程(DM1)消息超时,DM2接管主库

image-20230917105115869

查看集群状态:DM1状态为ERROR

image-20230917105247402
主库(DM1)实例日志:归档失败、主库挂起

2023-09-17 17:43:17.850 [ERROR] database P0000013364 T0000000000000013404  send realtime archive to instance[DM2, DM3] failed, code = -6010, begin_lsn = 39902, end_lsn = 39902!
2023-09-17 17:43:17.850 [INFO] database P0000013364 T0000000000000013404  rlog4_process_arch_failed, need_suspend:1
2023-09-17 17:43:17.850 [INFO] database P0000013364 T0000000000000013404  Send archive log to remote instance failed, switch all ep to SUSPEND status success!

重启DM1的内部网卡

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36
ONBOOT=yes
[root@localhost ~]# systemctl restart network

监视器信息:DM1恢复正常,但没有重新接管主库。DM1状态:suspend -> mount -> open

image-20230917105546854

集群状态:DM2为主库

image-20230917105741831

2、备库内部网卡故障

关闭备库DM3的内部网卡

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36
ONBOOT=no
[root@localhost ~]# systemctl restart network

监视器信息:接收守护进程(DM3)消息超时

image-20230917111546710

DM3状态为ERROR,其他两台正常

image-20230917111633330

重启备库DM3的内部网卡

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36
ONBOOT=yes
[root@localhost ~]# systemctl restart network

监视器:

image-20230917111823020

集群恢复正常

image-20230917111852083

3、主库公共网络故障

关闭主库DM1的外部网卡:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=no
[root@localhost ~]# systemctl restart network

监视器没有打印信息,此时通过url连不上集群

image-20230917104511665

在监视器中使用switchover dm2将DM2切换为主库,即可通过url连接集群。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台 (dameng.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值