炫“库”行动—人大金仓有奖征文——KingbaseES集群高可用之故障转移与故障恢复

【本文正在参与炫“库”行动—人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb

KingbaseES集群的故障处理行为

KingbaseES通过高可用组件(HA组件)去监控集群的状态,并对集群的故障转移和故障恢复进行管理。
官方文档列出了对常见的故障的处理行为,常见的故障类型如下:

故障类型故障场景
状态变换类故障集群主库停库,集群主库节点掉电,集群主库节点重启,集群备库停库、掉电或断网,进程被杀死,系统崩溃,系统时间跳变
网络类型故障主节点防火墙误开启,集群主节点网络中断,网络丢包,网络延时,网络分区,网关失联
资源耗尽类故障磁盘满(数据盘),磁盘IO高(数据盘),内存使用率高,CPU使用率高,连接满,主库存储故障,备库存储故障

KingbaseES集群的守护进程

HA组件中的核心管理进程是repmgrd,改进程存在于所有的集群节点,主备节点的分工不同,特点如下:

备机节点的守护进程

每个standby节点对应的repmgrd会建立与primary节点和本地(standby)节点的连接,用于更新、获取集群的信息;
在这里插入图片描述

主机节点的守护进程

primary节点对应的repmgrd就只连接本地的primary节点;
在这里插入图片描述

KingbaseES集群的故障转移与恢复

故障转移

备机repmgrd会会定时的不断的去连接primary节点的实例监听端口,当多次连接失败,就会认为primary节点失效,会触发选主和切换操作

实践出真知:
1、当前已部署好1主1备集群
查看集群状态,可以看到当前集群状态正常,node1为主节点

./repmgr cluster show

在这里插入图片描述
2、手动停止主机数据库,模拟主机故障

./sys_ctl  -D ../data/ stop

3、查看备机节点的repmgrd日志(hamgr.log)
过程分析
3.1、重试检查
备机repmgrd检测到主机节点故障后,会尝试重连主机,重连机制由reconnect_attempts和reconnect_interval参数控制

参数描述
reconnect_attempts默认6次,检测失败时,重试次数,根据用户需要调整
reconnect_interval默认10s,检测失败时,重试间隔时间,根据用户需要调整

如图所示,在默认配置下,备机尝试了6次重连,每次间隔10s
在这里插入图片描述
3.2、调整walreceiver重连时长
主库故障,walreceiver会报错退出,默认每5秒启动一次尝试连接主库,将该参数改大,防止竞选过程流复制连接成功影响竞选。
3.3、开始竞选
多节点的竞选会比较复杂,对于1主1备集群,主库故障后,在满足主备数据已经完全同步的前提下,备库默认会获取升主权限。
3.3、浮动ip加载
尝试在原主机卸载浮动ip,由于集群部署了浮动ip对外提供访问接口,备机升级为主机之前会尝试连接原主节点卸载掉浮动ip,卸载完成后,会在新主机加载浮动ip。
3.4、提升备机未主机
执行promote命令,提升备机为主机,至此完成备机的升主操作
在这里插入图片描述
在新的主机节点查看集群状态,可以看到,备机成功提升为主机,原主机状态为failed。
在这里插入图片描述
至此,集群自动完成了故障转移操作

故障恢复

问题

如何将故障的原主机恢复为备机重新加入集群

为了最大限度的保护用户数据,KingbaseES默认不会自动恢复故障的原主机,此功能可以通过recovery参数进行控制

参数描述
recoverystandby(自动恢复故障 备节点);manual(手 动恢复);automatic (自动恢复所有故障节点)

默认配置下,恢复故障的主机节点需要手动执行恢复命令

进入故障主机的bin目录执行手动恢复命令

./kbha  -A rejoin -h 192.168.4.187

在这里插入图片描述
恢复后查看集群状态,故障节点恢复完成

./repmgr cluster show

在这里插入图片描述
【本文正在参与炫“库”行动—人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值