买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种自动恢复掉电的MariaDB Galera Cluster的方法_武汉烽火信息集成技术有限公司_201611132006.X 

申请/专利权人:武汉烽火信息集成技术有限公司

申请日:2016-12-09

公开(公告)日:2017-06-13

公开(公告)号:CN106844092A

主分类号:G06F11/14(2006.01)I

分类号:G06F11/14(2006.01)I;G06F17/30(2006.01)I

优先权:

专利状态码:有效-授权

法律状态:2020.02.11#授权;2017.07.07#实质审查的生效;2017.06.13#公开

摘要:本发明公开了一种自动恢复掉电的MariaDB Galera Cluster的方法,MariaDB Galera Cluster是MariaDB数据库的同步多主集群,涉及云平台基础数据库领域,包括:当MariaDB Galera Cluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。本发明能够快速恢复云平台基础数据库服务。

主权项:一种自动恢复掉电的MariaDB Galera Cluster的方法,用于恢复掉电并再次上电的MariaDB Galera Cluster的服务,其特征在于,包括:当MariaDB Galera Cluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。

全文数据:_种自动恢复掉电的MariaDBGaleraCluster的方法技术领域[0001]本发明涉及云平台基础数据库领域,具体涉及一种自动恢复掉电的MariaDBGaleraCluster的方法。背景技术[0002]数据库是云平台的基础组件,如何保证数据库的高可靠性是云平台建设需重点专注的项目。为保证云平台运行的高效性,现如今普遍采用MariaDBGaleraCluster,MariaDBGaleraCluster是MariaDB数据库的同步多主集群,但数据库集群在全部掉电并再次上电后,数据库集群的功能无法自动恢复,需人工介入使数据库集群恢复,费时费力,且不符合现如今提倡的自动化社会的建设需求。发明内容[0003]针对现有技术中存在的缺陷,本发明的目的在于提供一种自动恢复掉电的MariaDBGaleraCluster的方法,能够快速恢复云平台服务。[0004]为达到以上目的,本发明采取的技术方案是,包括:[0005]当MariaDBGaleraCluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;[0006]遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;[0007]当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。[0008]在上述技术方案的基础上,状态ID的值通过全局事务ID获取。[0009]在上述技术方案的基础上,所述节点的状态ID通过启动脚本上报至服务发现集群中。[0010]在上述技术方案的基础上,待数据库守护脚本确定所有节点的状态ID均己上报至服务发现集群中后,开始依次遍历节点的状态ID。[0011]在上述技术方案的基础上,对于执行非事务性操作时崩溃的MariaDBGaleraCluster:[0012]所有节点的状态ID上报至服务发现集群中后,依次遍历节点的状态113,当首次出现值为-1的状态ID,则启动该状态ID对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务。[0013]在上述技术方案的基础上,所述服务发现集群为Etcd服务发现集群。[0014]与现有技术相比,本发明的优点在于:当节点掉电并上电后,通过将节点的状态ID的值上报至Etcd服务发现集群中,比对找到状态id的值最大的节点,并启动该节点的服务,然后启动所有其它节点的服务,从而自动恢复MariaDBGaleraCluster,且整个过程无需人工千预,便能快速恢复云平台基础数据库服务。附图说明[0015]图1为本发明一种自动恢复掉电的MariaDBGaleraCluster的方法的流程图。具体实施方式[0016]以下结合附图对本发明作进一步详细说明。_7]参见图i所示,本发明提供一种自动恢复掉电的趾丨祕GaleraClustei^方法,用于陕見掉电并再次上电的MariaDBGaleraCluster的服务。MariaDBGaleraCluster为种多主读与的数据库集群,MariaDBGaleraCluster是MariaDB数据库的同步多主集群,MariaDB数据库是MySQL的一个分支,MySQL是一个关系型数据库管理系统。本发明包括以下步骤:[0018]步骤S1:当MariaDBGaleraCluster的节点掉电并上电后,通过启动脚本上报所有节点的状态ID至服务发现集群中,本实施例中服务发现集群为狀以服务发现集群;[0019]步骤S2:通过数据库守护脚本确定所有节点的状态ID均已上报至Etcd服务发现集群中后,遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过。状态id的值越大,表示该节点在数据库中所存储信息越全,因此最大状态ID的值的节点必须首先启动。Etcd服务发现集群为一种共享的键值存储系统,用于服务发现。[0020]状态ID的值的获取是通过全局事务ID来实现的,可以在grastate.dat文件中找到相应配置,例如某个状态ID的grastate•dat文件的配置为:[0021]#GALERAsavedstate[0022]version:2.1[0023]uuid:e8dc56f3-ce33-4df8-8b44-c692ac62cc9f[0024]seqno:346578973[0025]cert—index:[0026]其中,seqno字段的值即为节点的状态ID的值,g卩状态ID的值为grastate.dat文件的配置中seqno字段的值,通过比较seqno字段的值即可判断当前状态id的值是否为所有节点状态ID的值中取大。一般情况下,通过运订mysqldwsrep-recovei选项,便能够从errorlog中找到全局事务ID。[0027]步骤S3:当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务,此时MariaDBGaleraCluster的全部节点的服务启动,从而恢复云平台的服务。[0028]对于执行非事务性操作时崩溃的MariaDBGaleraCluster,例如在执行ALTERTABLE时,此时,seqno字段的值可能为-1,因而,所有节点的状态ID上报至Etcd服务发现集群中后,依次遍历节点的状态ID,当首次出现值为-1的状态id,则启动该状态id对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务,从而恢复云平台的服务。^[0029]当节点掉电并上电后,通过将节点的状态ID的值上报至Etcd服务发现集群中,比对找到状态ID的值最大的节点,并启动该节点的服务,然后启动所有其它节点的服务,从而自动恢复MariaDBGaleraCluster,且整个过程无需人工干预,便能快速恢复云平台服务。[0030]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

权利要求:1.一种自动恢复掉电的MariaDBGaleraCluster的方法,用于恢复掉电并再次上电的MariaDBGaleraCluster的服务,其特征在于,包括:当MariaDBGaleraCluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。2.如权利要求1所述的一种自动恢复掉电GaleraCluster的方法,其特征在于:状态ID的值通过全局事务ID获取。3.如权利要求1所述的一种自动恢复掉电的MariaDBGaleraCluster的方法,其特征在于:所述节点的状态ID通过启动脚本上报至服务发现集群中。4.如权利要求1所述的一种自动恢复掉电的MariaDBGaleraCluster的方法,其特征在于:待数据库守护脚本确定所有节点的状态ID均已上报至服务发现集群中后,开始依次遍历节点的状态ID。5.如权利要求1所述的一种自动恢复掉电的MariaDBGaleraCluster的方法,其特征在于,对于执行非事务性操作时崩溃的MariaDBGaleraCluster:所有节点的状态ID上报至服务发现集群中后,依次遍历节点的状态ID,当首次出现值为-1的状态ID,则启动该状态ID对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务。6.如权利要求1至5任一项所述的一种自动恢复掉电的MariaDBGaleraCluster的方法,其特征在于:所述服务发现集群为Etcd服务发现集群。

百度查询: 武汉烽火信息集成技术有限公司 一种自动恢复掉电的MariaDB Galera Cluster的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。