System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机应用,特别是涉及一种故障处理方法、装置、设备及可读存储介质。
技术介绍
1、opengauss是一种开源关系型数据库管理系统。opengauss使用心跳检测和监控机制来检测数据库节点的故障。当检测到故障时,系统可以自动将主节点切换为备用节点,实现故障转移。这种故障转移可以避免数据丢失,并保证系统的高可用性。
2、目前,cluster manager(cm opengauss高可用组件)提供了简单的高可用能力,但cm与服务部署于同一节点,节点异常后无法提供高可用能力,cm只能对简单异常情况进行处理,脑裂等情况无法处理,不能实现vip(虚拟ip)漂移。
3、综上所述,如何有效地解决opengauss的高可用等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
1、本申请的目的是提供一种故障处理方法、装置、设备及可读存储介质,通过结合心跳检测、投票选取、故障切换和故障恢复,从而提供opengauss的高可用性。
2、为解决上述技术问题,本申请提供如下技术方案:
3、一种故障处理方法,包括:
4、对每个节点的opengauss服务进行心跳检测,得到集群信息;
5、利用所述集群信息对实例集群状态进行投票,得到集群状态和/或目标容灾系统;
6、在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理;
7、在选出所述目标容灾系统的情况下,对所述
8、优选地,对每个节点的opengauss服务进行心跳检测,得到集群信息,包括:
9、从分布式键值数据库中获取opengauss数据库的实例信息;
10、根据所述实例信息,通过网络协议判断实例每个节点的opengauss服务是否可达,得到可达性信息;
11、连接opengauss服务执行查询复制流命令,得到节点状态信息和节点角色信息;
12、将所述可达性信息、所述节点状态信息和所述节点角色信息确定为所述集群信息。
13、优选地,在选出所述目标容灾系统的情况下,对所述目标容灾系统进行故障切换处理,包括:
14、利用原主节点判断当前启动节点是否有启动参数主节点标记;
15、如果是,重启opengauss服务;
16、如果否,停止opengauss服务,以主节点角色启动;
17、若所述原主节点启动正常,返回服务正常,主从节点未发生切换的消息;
18、若所述原主节点启动异常,判断从节点是否正常;
19、若所述从节点异常,则返回故障切换失败的消息;
20、若所述从节点正常,则提升所述从节点为新主节点;
21、若所述新主状态异常,则返回故障切换失败消息;
22、若所述新主状态正常,则判断所述原主节点启动参数是否有启动参数从节点标记;
23、若所述原主节点有所述从节点标记,重启服务;
24、如果所述原主节点无所述从节点标记,则停止opengauss服务,并以从节点角色启动;
25、若集群正常,返回成功消息;
26、若集群异常,返回失败消息。
27、优选地,所述集群状态为主节点异常,在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理,包括:
28、从分布式键值数据库中获取启动参数角色模式;
29、基于启动参数角色模式对主节点和/或从节点进行服务恢复处理。
30、优选地,所述集群状态为从节点异常,在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理,包括:
31、判断节点启动模式是否为从节点;
32、如果是,重启服务;
33、如果不是,则以opengauss服务中的从节点启动模式进行启动。
34、优选地,所述集群状态为脑裂,在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理,包括:
35、从分布式键值数据库中获取主从节点信息;
36、利用所述主从节点信息,选定集群主节点;
37、对从节点以启动opengauss服务中的从节点启动模式进行启动。
38、优选地,所述集群状态为vip异常,在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理,包括:
39、移除现有vip;
40、从分布式键值数据库中获取真实的集群信息;
41、将vip绑定到所述真实的集群信息对应主节点上,并更新所述分布式键值数据库。
42、一种故障处理装置,包括:
43、心跳检测模块,用于对每个节点的opengauss服务进行心跳检测,得到集群信息;
44、投票选举模块,用于利用所述集群信息对实例集群状态进行投票,得到集群状态和/或目标容灾系统;
45、故障恢复处理模块,用于在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理;
46、主备切换处理模块,用于在选出所述目标容灾系统的情况下,对所述目标容灾系统进行故障切换处理;其中,opengauss数据库集群中的容灾系统多副本部署。
47、一种电子设备,包括:
48、存储器,用于存储计算机程序;
49、处理器,用于执行所述计算机程序时实现上述故障处理方法的步骤。
50、一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述故障处理方法的步骤。
51、应用本申请实施例所提供的方法,对每个节点的opengauss服务进行心跳检测,得到集群信息;利用集群信息对实例集群状态进行投票,得到集群状态和/或目标容灾系统;在集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理;在选出目标容灾系统的情况下,对目标容灾系统进行故障切换处理;其中,opengauss数据库集群中的容灾系统多副本部署。
52、在本申请中,首先对每个节点的opengauss服务都进行心跳检测,从而得到集群信息,然后基于集群信息对实例集群状态进行投票,可得到集群信息,在需要进行故障切换时,也可确定出需要进行故障切换的目标容灾系统。在集群状态异常的情况下,可按照集群异常分类对opengauss数据库集群进行恢复处理;在选出了目标容灾系统的情况下,可对目标容灾系统进行故障切换处理。
53、技术效果:opengauss数据库集群中的容灾系统多副本部署保障了本身的高可用性,结合心跳检测、投票选取、故障切换和故障恢复可以处理open本文档来自技高网...
【技术保护点】
1.一种故障处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,对每个节点的OpenGauss服务进行心跳检测,得到集群信息,包括:
3.根据权利要求1所述的方法,其特征在于,在选出所述目标容灾系统的情况下,对所述目标容灾系统进行故障切换处理,包括:
4.根据权利要求1至3任一项所述的故障处理方法,其特征在于,所述集群状态为主节点异常,在所述集群状态异常的情况下,按照集群异常分类对OpenGauss数据库集群进行恢复处理,包括:
5.根据权利要求1至3任一项所述的故障处理方法,其特征在于,所述集群状态为从节点异常,在所述集群状态异常的情况下,按照集群异常分类对OpenGauss数据库集群进行恢复处理,包括:
6.根据权利要求1至3任一项所述的故障处理方法,其特征在于,所述集群状态为脑裂,在所述集群状态异常的情况下,按照集群异常分类对OpenGauss数据库集群进行恢复处理,包括:
7.根据权利要求1至3任一项所述的故障处理方法,其特征在于,所述集群状态为VIP异常,在所述集群状态异常的情况
8.一种故障处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述故障处理方法的步骤。
...【技术特征摘要】
1.一种故障处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,对每个节点的opengauss服务进行心跳检测,得到集群信息,包括:
3.根据权利要求1所述的方法,其特征在于,在选出所述目标容灾系统的情况下,对所述目标容灾系统进行故障切换处理,包括:
4.根据权利要求1至3任一项所述的故障处理方法,其特征在于,所述集群状态为主节点异常,在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行恢复处理,包括:
5.根据权利要求1至3任一项所述的故障处理方法,其特征在于,所述集群状态为从节点异常,在所述集群状态异常的情况下,按照集群异常分类对opengauss数据库集群进行...
【专利技术属性】
技术研发人员:赵春蕾,王阳,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。