CN106844092B - 一种自动恢复掉电的MariaDB Galera Cluster的方法 - Google Patents
一种自动恢复掉电的MariaDB Galera Cluster的方法 Download PDFInfo
- Publication number
- CN106844092B CN106844092B CN201611132006.XA CN201611132006A CN106844092B CN 106844092 B CN106844092 B CN 106844092B CN 201611132006 A CN201611132006 A CN 201611132006A CN 106844092 B CN106844092 B CN 106844092B
- Authority
- CN
- China
- Prior art keywords
- state
- nodes
- cluster
- service
- mariadb
- 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.)
- Active
Links
Images
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (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 (5)
1.一种自动恢复掉电的MariaDB Galera Cluster的方法,用于恢复掉电并再次上电的MariaDB Galera Cluster的服务,其特征在于,包括:
当MariaDB Galera Cluster的节点掉电并上电后,上报所有节点的状态ID至服务发现集群中;
遍历节点的状态ID,并判断当前状态ID的值是否为所有节点状态ID的值中最大,若是,则启动当前状态ID对应节点的服务,若否,则跳过;状态ID的值越大,表示该节点在数据库中所存储信息越全;
当最大值的状态ID对应的节点服务启动后,启动所有其它节点的服务;
对于执行非事务性操作时崩溃的MariaDB Galera Cluster:
所有节点的状态ID上报至服务发现集群中后,依次遍历节点的状态ID,当首次出现值为-1的状态ID,则启动该状态ID对应的节点的服务,执行数据库恢复服务,当成功恢复一个节点后,启动所有其它节点的服务。
2.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:状态ID的值通过全局事务ID获取。
3.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:所述节点的状态ID通过启动脚本上报至服务发现集群中。
4.如权利要求1所述的一种自动恢复掉电的MariaDB Galera Cluster的方法,其特征在于:待数据库守护脚本确定所有节点的状态ID均已上报至服务发现集群中后,开始依次遍历节点的状态ID。
5.如权利要求1至4任一项所述的一种自动恢复掉电的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 CN106844092A (zh) | 2017-06-13 |
CN106844092B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678795A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种多主数据库集群的管理方法及其装置 |
CN108647114B (zh) * | 2018-03-30 | 2022-03-08 | 斑马网络技术有限公司 | 车机操作系统及其启动方法、系统分区更新和恢复方法 |
CN109271347B (zh) * | 2018-09-04 | 2022-04-22 | 郑州云海信息技术有限公司 | 一种分布式文件系统存储单元的启动方法、装置及设备 |
CN109639794B (zh) * | 2018-12-10 | 2021-07-13 | 杭州数梦工场科技有限公司 | 一种有状态集群恢复方法、装置、设备及可读存储介质 |
CN110286732B (zh) * | 2019-06-27 | 2021-01-12 | 华云数据控股集团有限公司 | 高可用集群掉电自动恢复方法、装置、设备及存储介质 |
CN111367998A (zh) * | 2020-03-04 | 2020-07-03 | 安超云软件有限公司 | 基于Galera的数据库集群恢复方法及终端设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454267C (zh) * | 2002-07-25 | 2009-01-21 | 联想(北京)有限公司 | 超级服务器的监控管理系统 |
CN104683446A (zh) * | 2015-01-29 | 2015-06-03 | 广州杰赛科技股份有限公司 | 一种云存储集群节点服务状态实时监控方法和系统 |
CN105224490B (zh) * | 2015-11-12 | 2018-02-06 | 珠海格力电器股份有限公司 | 一种配送柜扩展方法、系统、配送柜和智能配送站 |
CN105354129A (zh) * | 2015-12-15 | 2016-02-24 | 山东海量信息技术研究院 | 一种高端容错服务器的节点管理资产管理方法 |
CN105915583B (zh) * | 2016-03-28 | 2020-05-26 | 联想(北京)有限公司 | 一种启动服务集群的方法及服务集群 |
-
2016
- 2016-12-09 CN CN201611132006.XA patent/CN106844092B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106844092A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844092B (zh) | 一种自动恢复掉电的MariaDB Galera Cluster的方法 | |
US11269902B2 (en) | Time series data management method, device, and apparatus | |
US9491100B2 (en) | Method and device for updating routing lookup tree | |
US20170031948A1 (en) | File synchronization method, server, and terminal | |
CN107682399B (zh) | 一种基于大数据的文件夹断点续传方法 | |
CN105468475A (zh) | 数据库的备份方法及备份装置 | |
CN109063005B (zh) | 一种数据迁移方法及系统、存储介质、电子设备 | |
CN112270290B (zh) | 人脸图像动态聚类方法、装置、电子设备和存储介质 | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
CN106570091B (zh) | 一种增强分布式集群文件系统的高可用性的方法 | |
CN106201772A (zh) | 一种基于数据中心的操作系统备份、恢复方法及装置 | |
CN116701063B (zh) | 数联网数据语用内存状态数据的持久化方法、装置及系统 | |
CN108959547B (zh) | 一种pv快照分布式数据库集群恢复方法 | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
CN109862097A (zh) | Id生成方法及装置 | |
CN104158843A (zh) | 分布式文件存储系统的存储单元失效检测方法及装置 | |
CN112711649A (zh) | 一种数据库多字段匹配方法、装置、设备及存储介质 | |
CN111400321A (zh) | 基于oracle数据库自动回收高水位的方法 | |
CN108536798B (zh) | 订单级别的数据库数据的恢复方法及系统 | |
CN110928727A (zh) | 一种操作系统快速恢复出厂设置的方法 | |
CN110555009A (zh) | 一种网络文件系统nfs服务的处理方法及装置 | |
CN112433882B (zh) | 一种记录和恢复微服务部署信息的方法 | |
CN105072372B (zh) | Dvr终端上的fat文件系统自动修复方法 | |
CN103327105A (zh) | hadoop系统中从属节点服务自动恢复方法 | |
CN110674220B (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 |