CN106844092A - 一种自动恢复掉电的MariaDB Galera Cluster的方法 - Google Patents
一种自动恢复掉电的MariaDB Galera Cluster的方法 Download PDFInfo
- Publication number
- CN106844092A CN106844092A CN201611132006.XA CN201611132006A CN106844092A CN 106844092 A CN106844092 A CN 106844092A CN 201611132006 A CN201611132006 A CN 201611132006A CN 106844092 A CN106844092 A CN 106844092A
- Authority
- CN
- China
- Prior art keywords
- state
- node
- cluster
- mariadb
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种自动恢复掉电的MariaDB Galera Cluster的方法,MariaDB Galera Cluster是MariaDB数据库的同步多主集群,涉及云平台基础数据库领域,包括:当MariaDB Galera Cluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。本发明能够快速恢复云平台基础数据库服务。
Description
技术领域
本发明涉及云平台基础数据库领域,具体涉及一种自动恢复掉电的MariaDBGalera Cluster的方法。
背景技术
数据库是云平台的基础组件,如何保证数据库的高可靠性是云平台建设需重点专注的项目。为保证云平台运行的高效性,现如今普遍采用MariaDB Galera Cluster,MariaDB Galera Cluster是MariaDB数据库的同步多主集群,但数据库集群在全部掉电并再次上电后,数据库集群的功能无法自动恢复,需人工介入使数据库集群恢复,费时费力,且不符合现如今提倡的自动化社会的建设需求。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种自动恢复掉电的MariaDB Galera Cluster的方法,能够快速恢复云平台服务。
为达到以上目的,本发明采取的技术方案是,包括:
当MariaDB Galera Cluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;
遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;
当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。
在上述技术方案的基础上,状态ID的值通过全局事务ID获取。
在上述技术方案的基础上,所述节点的状态ID通过启动脚本上报至服务发现集群中。
在上述技术方案的基础上,待数据库守护脚本确定所有节点的状态ID均已上报至服务发现集群中后,开始依次遍历节点的状态ID。
在上述技术方案的基础上,对于执行非事务性操作时崩溃的MariaDB GaleraCluster:
所有节点的状态ID上报至服务发现集群中后,依次遍历节点的状态ID,当首次出现值为-1的状态ID,则启动该状态ID对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务。
在上述技术方案的基础上,所述服务发现集群为Etcd服务发现集群。
与现有技术相比,本发明的优点在于:当节点掉电并上电后,通过将节点的状态ID的值上报至Etcd服务发现集群中,比对找到状态ID的值最大的节点,并启动该节点的服务,然后启动所有其它节点的服务,从而自动恢复MariaDB Galera Cluster,且整个过程无需人工干预,便能快速恢复云平台基础数据库服务。
附图说明
图1为本发明一种自动恢复掉电的MariaDB Galera Cluster的方法的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
参见图1所示,本发明提供一种自动恢复掉电的MariaDB Galera Cluster的方法,用于恢复掉电并再次上电的MariaDB Galera Cluster的服务。MariaDB Galera Cluster为一种多主读写的数据库集群,MariaDB Galera Cluster是MariaDB数据库的同步多主集群,MariaDB数据库是MySQL的一个分支,MySQL是一个关系型数据库管理***。本发明包括以下步骤:
步骤S1:当MariaDB Galera Cluster的节点掉电并上电后,通过启动脚本上报所有节点的状态ID至服务发现集群中,本实施例中服务发现集群为Etcd服务发现集群;
步骤S2:通过数据库守护脚本确定所有节点的状态ID均已上报至Etcd服务发现集群中后,遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过。状态ID的值越大,表示该节点在数据库中所存储信息越全,因此最大状态ID的值的节点必须首先启动。Etcd服务发现集群为一种共享的键值存储***,用于服务发现。
状态ID的值的获取是通过全局事务ID来实现的,可以在grastate.dat文件中找到相应配置,例如某个状态ID的grastate.dat文件的配置为:
#GALERA saved state
version:2.1
uuid:e8dc56f3-ce33-4df8-8b44-c692ac62cc9f
seqno:346578973
cert_index:
其中,seqno字段的值即为节点的状态ID的值,即状态ID的值为grastate.dat文件的配置中seqno字段的值,通过比较seqno字段的值即可判断当前状态ID的值是否为所有节点状态ID的值中最大。一般情况下,通过运行mysqld--wsrep-recover选项,便能够从errorlog中找到全局事务ID。
步骤S3:当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务,此时MariaDB Galera Cluster的全部节点的服务启动,从而恢复云平台的服务。
对于执行非事务性操作时崩溃的MariaDB Galera Cluster,例如在执行ALTERTABLE时,此时,seqno字段的值可能为-1,因而,所有节点的状态ID上报至Etcd服务发现集群中后,依次遍历节点的状态ID,当首次出现值为-1的状态ID,则启动该状态ID对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务,从而恢复云平台的服务。
当节点掉电并上电后,通过将节点的状态ID的值上报至Etcd服务发现集群中,比对找到状态ID的值最大的节点,并启动该节点的服务,然后启动所有其它节点的服务,从而自动恢复MariaDB Galera Cluster,且整个过程无需人工干预,便能快速恢复云平台服务。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种自动恢复掉电的MariaDB Galera Cluster的方法,用于恢复掉电并再次上电的MariaDB Galera Cluster的服务,其特征在于,包括:
当MariaDB Galera Cluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;
遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;
当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务。
2.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:状态ID的值通过全局事务ID获取。
3.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:所述节点的状态ID通过启动脚本上报至服务发现集群中。
4.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:待数据库守护脚本确定所有节点的状态ID均已上报至服务发现集群中后,开始依次遍历节点的状态ID。
5.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于,对于执行非事务性操作时崩溃的MariaDB Galera Cluster:
所有节点的状态ID上报至服务发现集群中后,依次遍历节点的状态ID,当首次出现值为-1的状态ID,则启动该状态ID对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务。
6.如权利要求1至5任一项所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:所述服务发现集群为Etcd服务发现集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611132006.XA CN106844092B (zh) | 2016-12-09 | 2016-12-09 | 一种自动恢复掉电的MariaDB Galera Cluster的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611132006.XA CN106844092B (zh) | 2016-12-09 | 2016-12-09 | 一种自动恢复掉电的MariaDB Galera Cluster的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844092A true CN106844092A (zh) | 2017-06-13 |
CN106844092B CN106844092B (zh) | 2020-02-11 |
Family
ID=59140775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611132006.XA Active CN106844092B (zh) | 2016-12-09 | 2016-12-09 | 一种自动恢复掉电的MariaDB Galera Cluster的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844092B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678795A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种多主数据库集群的管理方法及其装置 |
CN108647114A (zh) * | 2018-03-30 | 2018-10-12 | 斑马网络技术有限公司 | 车机操作***及其启动方法、***分区更新和恢复方法 |
CN109271347A (zh) * | 2018-09-04 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种分布式文件***存储单元的启动方法、装置及设备 |
CN109639794A (zh) * | 2018-12-10 | 2019-04-16 | 杭州数梦工场科技有限公司 | 一种有状态集群恢复方法、装置、设备及可读存储介质 |
CN110286732A (zh) * | 2019-06-27 | 2019-09-27 | 无锡华云数据技术服务有限公司 | 高可用集群掉电自动恢复方法、装置、设备及存储介质 |
CN111367998A (zh) * | 2020-03-04 | 2020-07-03 | 安超云软件有限公司 | 基于Galera的数据库集群恢复方法及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1470990A (zh) * | 2002-07-25 | 2004-01-28 | 联想(北京)有限公司 | 超级服务器的监控管理*** |
CN104683446A (zh) * | 2015-01-29 | 2015-06-03 | 广州杰赛科技股份有限公司 | 一种云存储集群节点服务状态实时监控方法和*** |
CN105224490A (zh) * | 2015-11-12 | 2016-01-06 | 珠海格力电器股份有限公司 | 一种配送柜扩展方法、***、配送柜和智能配送站 |
CN105354129A (zh) * | 2015-12-15 | 2016-02-24 | 山东海量信息技术研究院 | 一种高端容错服务器的节点管理资产管理方法 |
CN105915583A (zh) * | 2016-03-28 | 2016-08-31 | 联想(北京)有限公司 | 一种启动服务集群的方法及服务集群 |
-
2016
- 2016-12-09 CN CN201611132006.XA patent/CN106844092B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1470990A (zh) * | 2002-07-25 | 2004-01-28 | 联想(北京)有限公司 | 超级服务器的监控管理*** |
CN104683446A (zh) * | 2015-01-29 | 2015-06-03 | 广州杰赛科技股份有限公司 | 一种云存储集群节点服务状态实时监控方法和*** |
CN105224490A (zh) * | 2015-11-12 | 2016-01-06 | 珠海格力电器股份有限公司 | 一种配送柜扩展方法、***、配送柜和智能配送站 |
CN105354129A (zh) * | 2015-12-15 | 2016-02-24 | 山东海量信息技术研究院 | 一种高端容错服务器的节点管理资产管理方法 |
CN105915583A (zh) * | 2016-03-28 | 2016-08-31 | 联想(北京)有限公司 | 一种启动服务集群的方法及服务集群 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678795A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种多主数据库集群的管理方法及其装置 |
CN108647114A (zh) * | 2018-03-30 | 2018-10-12 | 斑马网络技术有限公司 | 车机操作***及其启动方法、***分区更新和恢复方法 |
CN108647114B (zh) * | 2018-03-30 | 2022-03-08 | 斑马网络技术有限公司 | 车机操作***及其启动方法、***分区更新和恢复方法 |
CN109271347A (zh) * | 2018-09-04 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种分布式文件***存储单元的启动方法、装置及设备 |
CN109639794A (zh) * | 2018-12-10 | 2019-04-16 | 杭州数梦工场科技有限公司 | 一种有状态集群恢复方法、装置、设备及可读存储介质 |
CN109639794B (zh) * | 2018-12-10 | 2021-07-13 | 杭州数梦工场科技有限公司 | 一种有状态集群恢复方法、装置、设备及可读存储介质 |
CN110286732A (zh) * | 2019-06-27 | 2019-09-27 | 无锡华云数据技术服务有限公司 | 高可用集群掉电自动恢复方法、装置、设备及存储介质 |
CN110286732B (zh) * | 2019-06-27 | 2021-01-12 | 华云数据控股集团有限公司 | 高可用集群掉电自动恢复方法、装置、设备及存储介质 |
CN111367998A (zh) * | 2020-03-04 | 2020-07-03 | 安超云软件有限公司 | 基于Galera的数据库集群恢复方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106844092B (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844092A (zh) | 一种自动恢复掉电的MariaDB Galera Cluster的方法 | |
CN100562874C (zh) | 一种增量数据捕获方法和*** | |
CN103229147B (zh) | 用于去重存储***内的合成备份的方法和*** | |
CN104331446A (zh) | 一种基于内存映射的海量数据预处理方法 | |
CN102495906A (zh) | 一种实现断点续传的增量式数据迁移方法 | |
CN107391306A (zh) | 一种异构数据库备份文件恢复方法 | |
US20180150536A1 (en) | Instance-based distributed data recovery method and apparatus | |
CN104794247A (zh) | 一种多结构数据库集成查询方法 | |
CN107679152B (zh) | 基于多层信息联合索引的数据处理方法 | |
CN102999524B (zh) | 一种文档关联检索方法及*** | |
CN102609487B (zh) | 一种面向列存储的桶内索引哈希连接方法 | |
CN113553313B (zh) | 一种数据迁移方法及***、存储介质、电子设备 | |
CN105550219A (zh) | 一种信息资源的自动编目方法 | |
CN104298736A (zh) | 数据集合连接方法、装置及数据库*** | |
CN113239365B (zh) | 一种基于知识图谱的漏洞修复方法 | |
CN104636349A (zh) | 一种索引数据压缩以及索引数据搜索的方法和设备 | |
CN102890719A (zh) | 一种对车牌号进行模糊搜索的方法及装置 | |
CN112270290A (zh) | 人脸图像动态聚类方法、装置、电子设备和存储介质 | |
CN116521956A (zh) | 一种图数据库查询方法、装置、电子设备及存储介质 | |
CN105786653B (zh) | 基于fat32文件***的文件恢复方法及其*** | |
CN111400321A (zh) | 基于oracle数据库自动回收高水位的方法 | |
CN104714956A (zh) | 一种异构记录集对比方法及装置 | |
CN110008236A (zh) | 一种数据分布式自增编码方法、***、设备及介质 | |
CN103970792A (zh) | 一种基于索引进行文件比对的方法和装置 | |
CN110659344B (zh) | 一种基于区块法的全文搜索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |