一种数据库集群管理方法、装置及网络设备制造方法及图纸

技术编号:37503779 阅读:20 留言:0更新日期:2023-05-07 09:39
本发明专利技术提供一种数据库集群管理方法、装置及网络设备,涉及数据库技术领域。该方法包括:获取数据库集群当前的主节点对应的第一信息;其中,所述第一信息包括以下至少一项:服务器名、互联网协议IP地址和网关地址;根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,对所述数据库集群中的节点执行管理操作;其中,所述资源配置信息包括:预配置主节点对应的所述第一信息,所述预配置主节点为针对所述数据库集群配置的主节点。本发明专利技术的方案,解决了现有技术中的数据库集群脑裂应急处理方案成本较高,且难以满足部署在虚拟机或云上的数据库集群的脑裂应急处理需求的问题。的问题。的问题。

【技术实现步骤摘要】
一种数据库集群管理方法、装置及网络设备


[0001]本专利技术涉及数据库
,特别是指一种数据库集群管理方法、装置及网络设备。

技术介绍

[0002]随着开源项目的兴起,开源数据库得到了广泛的使用。其中,PostgreSQL是一种功能非常强大而且开放源代码的关系型数据库,被称为实际上最先进的开源关系型数据库。因为功能强大,加之现代计算机的计算能力和存储性能的巨大提升,以及云计算的技术越来越成熟,使得PostgreSQL在各个企业被广泛使用,一个企业拥有几十个甚至上百个PostgreSQL实例或者集群的情况已经普遍存在。
[0003]PostgreSQL提供一种原生主从数据复制技术,可以使数据库以主从的模式在多个服务器上运行,主数据库和从数据库组成了一个数据库集群,主数据库提供数据读写功能,从数据库提供只读功能,整个集群通过VIP(Virtual IP Address,虚拟IP地址)提供数据库服务,VIP需要挂载在主节点,数据库集群才能提供读写服务。当提供读写功能的主数据库出现故障的时候,需要把从数据库提升为新主数据库,并把VIP切换到新主数据库,保证数据库的高可用性,保证应用通过VIP能继续在新主节点写入数据,不影响应用正常运行,最大程度的保证数据库集群服务对应用的透明性。但是,由于PostgreSQL本身并不提供自动切换的功能,当需要切换的时候,需要运维人员手工输入命令来切换。然而,这种方法难以满足应用对数据库高可用性的要求,而且手工切换时效性较差,对应用的影响较大,所以,PostgreSQL数据库需要通过第三方软件来实现高可用,目前最为流行的开源软件是Corosync+Pacemaker的组合,能够实现PostgreSQL数据库集群的主从数据复制以及主从自动切换功能。
[0004]数据库脑裂是指一个数据库集群由于网络故障等原因出现多个主节点,并且VIP同时挂载在多个主节点,都可以提供读写服务。比如三个节点组成的集群,出现了两个小集群:一个集群由一个节点组成,另外一个集群由剩下的两个节点组成。发生脑裂后,应用的数据可能任意写到分裂出来的小集群里,造成两个集群的数据不一致,应用的数据变得混乱,并且很难修复,所以数据库集群一定要有可靠的防脑裂方案。
[0005]目前,主流的防脑裂技术是通过共享存储和切断主机电源的方式来实现,而这两种方案都需要硬件方案来支撑,需要投入资金购买相关硬件设备,如果一个企业部署了大量PostgreSQL数据库集群,通过采购防脑裂硬件设备会增加大量投资成本及运维成本,也会增加后期运维工作的难度,且硬件设备都有一定使用年限,随着时间推移,故障率越高,维护成本也越高。
[0006]另外,随着虚拟化和云化技术的盛行,许多企业采用虚拟化技术或者云化服务器部署数据库集群,而在虚拟化和云中难以通过硬件方案来实现数据库集群防脑裂。
[0007]综上,现有数据库集群防脑裂方案主要是通过购买并部署硬件设备来实现,造成投资及运维成本较高,且难以满足部署在虚拟机或云上的数据库集群的防脑裂需求。

技术实现思路

[0008]本专利技术的目的是提供一种数据库集群管理方法、装置及网络设备,解决了现有技术中的数据库集群脑裂应急处理方案成本较高,且难以满足部署在虚拟机或云上的数据库集群的脑裂应急处理需求的问题。
[0009]为达到上述目的,本专利技术的实施例提供一种数据库集群管理方法,应用于数据库集群中的第一节点,包括:
[0010]获取数据库集群当前的主节点对应的第一信息;其中,所述第一信息包括以下至少一项:服务器名、IP(Internet Protocol,互联网协议)地址和网关地址;
[0011]根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,对所述数据库集群中的节点执行管理操作;
[0012]其中,所述资源配置信息包括:预配置主节点对应的所述第一信息,所述预配置主节点为针对所述数据库集群配置的主节点。
[0013]可选地,所述根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,对所述数据库集群中的节点执行管理操作,包括:
[0014]根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,确定当前的所述主节点是否为预配置主节点;
[0015]在当前的所述主节点不为预配置主节点的情况下,根据所述资源配置信息,判断所述第一节点是否为预配置主节点;
[0016]根据判断结果,对所述数据库集群中的节点执行管理操作。
[0017]可选地,所述根据判断结果,对所述数据库集群中的节点执行管理操作,包括:
[0018]在所述第一节点不为预配置主节点,且所述第一节点不是当前的所述主节点的情况下,确定所述第一节点是否与所述预配置主节点连接;
[0019]在所述第一节点与所述预配置主节点连接的情况下,确定读写虚拟IP地址VIP是否与所述预配置主节点绑定;
[0020]在读写VIP与所述预配置主节点绑定的情况下,对所述预配置主节点执行第一管理操作;
[0021]其中,所述第一管理操作包括以下至少一项:
[0022]指示关闭所述预配置主节点上的第一进程;
[0023]指示解除所述读写VIP与所述预配置主节点之间的绑定。
[0024]可选地,在所述对所述预配置主节点执行第一管理操作之后,所述方法还包括:
[0025]判断所述预配置主节点是否为主节点状态;
[0026]在所述预配置主节点为主节点状态的情况下,对所述预配置主节点执行所述第一管理操作。
[0027]可选地,还包括以下至少一项:
[0028]在所述第一节点是当前的所述主节点的情况下,发送第一提示信息,所述第一提示信息用于提示所述数据库集群的主节点已切换至所述第一节点;
[0029]在所述第一节点未与所述预配置主节点连接的情况下,发送第二提示信息,所述第二提示信息用于提示所述预配置主节点已发生网络故障;
[0030]在所述读写VIP未与所述预配置主节点绑定的情况下,在日志中记录第一状态信
息,所述第一状态信息用于表示所述读写VIP未与所述预配置主节点绑定。
[0031]可选地,所述根据判断结果,对所述数据库集群中的节点执行管理操作,包括:
[0032]在所述第一节点为预配置主节点的情况下,判断所述第一节点是否为从节点;
[0033]根据判断结果,对所述第一节点执行管理操作。
[0034]可选地,所述根据判断结果,对所述第一节点执行管理操作,包括:
[0035]在所述第一节点为主节点的情况下,对所述第一节点执行第二管理操作;
[0036]其中,所述第二管理操作包括以下至少一项:
[0037]关闭所述第一节点上的第一进程;
[0038]解除读写VIP与所述第一节点之间的绑定。
[0039]可选地,所述根据判断结果,对所述第一节点执行管理操作,包括:
[0040]在所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库集群管理方法,应用于数据库集群中的第一节点,其特征在于,包括:获取数据库集群当前的主节点对应的第一信息;其中,所述第一信息包括以下至少一项:服务器名、互联网协议IP地址和网关地址;根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,对所述数据库集群中的节点执行管理操作;其中,所述资源配置信息包括:预配置主节点对应的所述第一信息,所述预配置主节点为针对所述数据库集群配置的主节点。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,对所述数据库集群中的节点执行管理操作,包括:根据所述数据库集群的资源配置信息和当前的所述主节点对应的所述第一信息,确定当前的所述主节点是否为预配置主节点;在当前的所述主节点不为预配置主节点的情况下,根据所述资源配置信息,判断所述第一节点是否为预配置主节点;根据判断结果,对所述数据库集群中的节点执行管理操作。3.根据权利要求2所述的方法,其特征在于,所述根据判断结果,对所述数据库集群中的节点执行管理操作,包括:在所述第一节点不为预配置主节点,且所述第一节点不是当前的所述主节点的情况下,确定所述第一节点是否与所述预配置主节点连接;在所述第一节点与所述预配置主节点连接的情况下,确定读写虚拟IP地址VIP是否与所述预配置主节点绑定;在读写VIP与所述预配置主节点绑定的情况下,对所述预配置主节点执行第一管理操作;其中,所述第一管理操作包括以下至少一项:指示关闭所述预配置主节点上的第一进程;指示解除所述读写VIP与所述预配置主节点之间的绑定。4.根据权利要求3所述的方法,其特征在于,在所述对所述预配置主节点执行第一管理操作之后,所述方法还包括:判断所述预配置主节点是否为主节点状态;在所述预配置主节点为主节点状态的情况下,对所述预配置主节点执行所述第一管理操作。5.根据权利要求3所述的方法,其特征在于,还包括以下至少一项:在所述第一节点是当前的所述主节点的情况下,发送第一提示信息,所述第一提示信息用于提示所述数据库集群的主节点已切换至所述第一节点;在所述第一节点未与所述预配置主节点连接的情况下,发送第二提示信息,所述第二提示信息用于提示所述预配置主节点已发生网络故障;在所述读写VIP未与所述预配置主节点绑定的情况下,在日志中记录第一状态信息,所述第一状态信息用于表示所述读写VIP未与所述预配置主节点绑定。6.根据权利要求2所述的方法,其特征在于,所述根据判断结果,对所述数据库集群中
的节点执行...

【专利技术属性】
技术研发人员:倪项菲郭琦柳青
申请(专利权)人:中移智行网络科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1