CN103197992B - GlusterFS脑裂的自动化恢复方法 - Google Patents
GlusterFS脑裂的自动化恢复方法 Download PDFInfo
- Publication number
- CN103197992B CN103197992B CN201310118842.2A CN201310118842A CN103197992B CN 103197992 B CN103197992 B CN 103197992B CN 201310118842 A CN201310118842 A CN 201310118842A CN 103197992 B CN103197992 B CN 103197992B
- Authority
- CN
- China
- Prior art keywords
- gluster
- service
- fissure
- cluster
- server
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了GlusterFS脑裂的自动化恢复方法,停止集群中Gluster服务和所有调用Gluster服务的系统服务,其中Gluster服务是Gluster服务器中的服务;将Gluster服务器中的数据进行备份和删除;恢复停止的Gluster服务,同时恢复和管理集群中Gluster客户端的服务;从Gluster客户端将备份的Gluster服务器中的数据重新写回到Gluster服务器中,解除脑裂状态;恢复停止的所有调用Gluster服务的系统服务。本发明在集群环境中进行GlusterFS脑裂的自动恢复,相比手动恢复,自动恢复简便易操作、耗时短、效率高,同时避免手动恢复过程中出现的人为错误。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及GlusterFS脑裂的自动化恢复方法。
背景技术
GlusterFS是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持PB数量级的存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。
脑裂是因为集群分裂导致的,集群中节点因为处理器忙或者其他原因暂时停止响应时,其他节点可能误认为该节点“已死”,从而夺取共享磁盘(即资源)的访问权,此时极有可能假死节点重新对共享文件系统产生读写操作,从而导致共享磁盘文件系统损坏。脑裂就是当心跳网络出现状况的时候,集群可能分裂成几个节点组,几个节点组都分别接管服务并且访问文件系统资源(例如并发写入文件系统)导致数据损坏。GlusterFS卷可以在宕机恢复之后自动从备份服务器上恢复数据,但是各节点之间有时会相互指控,这时就发生了声名狼藉的脑裂,此时无法自动修复,只能采取手动的方式进行恢复。
为了避免脑裂的发生,可以采用GlusterFS本身提供了quorum的机制,也可以通过对Gluster服务器添加心跳检测来降低脑裂发生的几率,但都无法杜绝脑裂的发生。但是现有技术中的手动恢复容易受网络环境的影响,出错的几率比较大,而且耗时长、效率低。
发明内容
(一)要解决的技术问题
针对上述缺陷,本发明要解决的技术问题是解决手动恢复过程中容易受环境影响的弊端,尽量减少恢复时出现的错误。
(二)技术方案
为解决上述问题,本发明提供了GlusterFS脑裂的自动化恢复方法,所述方法具体包括:
S1:通过安全外壳协议方式停止集群中Gluster服务和所有调用所述Gluster服务的系统服务,其中所述Gluster服务是Gluster服务器中的服务;
S2:将集群中所述Gluster服务器中的数据进行备份和删除;
S3:恢复步骤S1中停止的Gluster服务,同时恢复和管理集群中Gluster客户端的服务,且允许存储目录;
S4:从所述Gluster客户端将备份的Gluster服务器中的数据重新写回到所述Gluster服务器中,解除脑裂状态;
S5:恢复步骤S1停止的所有调用所述Gluster服务的系统服务。
进一步地,所述步骤S1之前还包括:
S0:定时检测所述Gluster客户端中存储目录的状态,如果所述存储目录的状态发生异常,则判断有脑裂状态的发生,进行脑裂自动化恢复进程。
进一步地,在进行所述脑裂自动化恢复进程之前:检查集群中Gluster服务器的运行状态,当集群中Gluster服务器的运行数量多于1个时,才开始脑裂自动化恢复进程。
进一步地,所述步骤S0之后、步骤S1之前还包括:
S01:在进行所述脑裂自动化恢复进程中,通过安全外壳协议方式重命名所有调用所述Gluster服务的系统服务的脚本以及所述Gluster服务的脚本。
进一步地,所述步骤S3还包括恢复集群中Gluster服务脚本的原命名,并且检测到集群中Gluster服务恢复后也恢复所述Gluster用户端的服务脚本的原命名。
进一步地,所述步骤S5还包括:恢复集群中调用所述Gluster服务的系统服务的脚本的原命名,恢复并管理集群中调用所述Gluster服务的系统服务。
(三)有益效果
本发明提供了GlusterFS脑裂的自动化恢复方法,在集群环境中进行GlusterFS脑裂的自动恢复,不受网络环境的影响,相比手动恢复,自动恢复简便易操作、耗时短、效率高,同时避免手动恢复过程中出现的人为错误。
附图说明
图1为本发明实施例中的GlusterFS脑裂的自动化恢复方法的步骤流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例中提供了GlusterFS脑裂的自动化恢复方法,步骤流程如图1所示,具体包括以下步骤:
步骤S1:通过安全外壳协议方式停止集群中Gluster服务和所有调用Gluster服务的系统服务,其中Gluster服务是Gluster服务器中的服务。判断全部正确完成后,再执行后续操作。
安全外壳协议(SecureShell,简称SSH)为建立在应用层和传输层基础上的安全协议。
步骤S1之前还包括:
步骤S0:在主控程序下定时检测Gluster客户端中存储目录的状态,如果存储目录的状态发生异常,则判断有脑裂状态的发生,进行脑裂自动化恢复进程。
在进行脑裂自动化恢复进程之前:检查集群中Gluster服务器的运行状态,因为脑裂是多个服务节点恢复数据的过程中才会发生的,所以需要检测有几个服务器在运行,如果只有一个服务器在运行也不会发生脑裂,不需要本实施例提供的方法来解决。只有当集群中Gluster服务器的运行数量多于1个时,才开始脑裂自动化恢复进程。
步骤S0之后、步骤S1之前还包括:
步骤S01:在进行脑裂自动化恢复进程中,通过安全外壳协议方式重命名所有调用Gluster服务的系统服务的脚本以及Gluster服务的脚本。判断全部正确完成后,再执行后续操作。
步骤S2:将集群中Gluster服务器中的数据进行备份和删除。判断全部正确完成后,再执行后续操作。
在脑裂自动化恢复进程中,通过SSH的方式,将停止之前的Gluster服务器中的数据备份起来,以备后续步骤中恢复使用,备份后就将原来的数据删除。
步骤S3:恢复步骤S1中停止的Gluster服务,同时由主控程序恢复和管理集群中Gluster客户端的服务,且允许存储目录。判断全部正确完成后,再执行后续操作。
在脑裂自动化恢复进程中,通过SSH的方式,恢复集群中Gluster服务脚本的原命名,并且检测到集群中Gluster服务恢复后也恢复Gluster用户端的服务脚本的原命名。
步骤S4:从Gluster客户端将备份的Gluster服务器中的数据重新写回到Gluster服务器中,解除脑裂状态。判断全部正确完成后,再执行后续操作。
上述步骤S3恢复Gluster客户端的服务,且存储目录可操作后,将上述步骤S2中备份的Gluster服务器中的数据通过Gluster客户端重新写回到新的Gluster服务器中。
步骤S5:恢复步骤S1停止的所有调用Gluster服务的系统服务。
在脑裂自动化恢复进程中,通过SSH的方式,恢复集群中调用Gluster服务的系统服务的脚本的原命名,恢复并管理集群中调用Gluster服务的系统服务。
通过上述方法,在集群环境中进行GlusterFS脑裂的自动恢复,不受网络环境的影响,相比手动恢复,自动恢复简便易操作、耗时短、效率高,同时避免手动恢复过程中出现的人为错误。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (4)
1.GlusterFS脑裂的自动化恢复方法,其特征在于,所述方法具体包括:
S0:定时检测Gluster客户端中存储目录的状态,如果所述存储目录的状态发生异常,则判断有脑裂状态的发生,进行脑裂自动化恢复进程;
S1:通过安全外壳协议方式停止集群中Gluster服务和所有调用所述Gluster服务的系统服务,其中所述Gluster服务是Gluster服务器中的服务;
S2:将集群中所述Gluster服务器中的数据进行备份和删除;
S3:恢复步骤S1中停止的Gluster服务,同时恢复和管理集群中Gluster客户端的服务,且允许Gluster客户端的存储目录可操作;
S4:从所述Gluster客户端将备份的Gluster服务器中的数据重新写回到所述Gluster服务器中,解除脑裂状态;
S5:恢复步骤S1停止的所有调用所述Gluster服务的系统服务;
其中,在进行所述脑裂自动化恢复进程之前:检查集群中Gluster服务器的运行状态,当集群中Gluster服务器的运行数量多于1个时,才开始脑裂自动化恢复进程。
2.如权利要求1所述的方法,其特征在于,所述步骤S0之后、步骤S1之前还包括:
S01:在进行所述脑裂自动化恢复进程中,通过安全外壳协议方式重命名所有调用所述Gluster服务的系统服务的脚本以及所述Gluster服务的脚本。
3.如权利要求1所述的方法,其特征在于,所述步骤S3还包括恢复集群中Gluster服务脚本的原命名,并且检测到集群中Gluster服务恢复后也恢复所述Gluster客户端的服务脚本的原命名。
4.如权利要求1所述的方法,其特征在于,所述步骤S5还包括:恢复集群中调用所述Gluster服务的系统服务的脚本的原命名,恢复并管理集群中调用所述Gluster服务的系统服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310118842.2A CN103197992B (zh) | 2013-04-08 | 2013-04-08 | GlusterFS脑裂的自动化恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310118842.2A CN103197992B (zh) | 2013-04-08 | 2013-04-08 | GlusterFS脑裂的自动化恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103197992A CN103197992A (zh) | 2013-07-10 |
CN103197992B true CN103197992B (zh) | 2016-05-18 |
Family
ID=48720576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310118842.2A Expired - Fee Related CN103197992B (zh) | 2013-04-08 | 2013-04-08 | GlusterFS脑裂的自动化恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103197992B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202458A (zh) * | 2016-07-15 | 2016-12-07 | 深圳市永达电子信息股份有限公司 | 一种可快速实时检测并恢复升级操作系统中文件的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457400B (zh) * | 2011-06-09 | 2014-11-05 | 中标软件有限公司 | 一种防止磁盘镜像资源发生脑裂的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111194B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Mirror split brain avoidance |
CN102591750A (zh) * | 2011-12-31 | 2012-07-18 | 曙光信息产业股份有限公司 | 集群系统的恢复方法 |
CN102957563A (zh) * | 2011-08-16 | 2013-03-06 | 中国石油化工股份有限公司 | Linux集群故障自动恢复方法和Linux集群故障自动恢复系统 |
-
2013
- 2013-04-08 CN CN201310118842.2A patent/CN103197992B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111194B1 (en) * | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | Mirror split brain avoidance |
CN102957563A (zh) * | 2011-08-16 | 2013-03-06 | 中国石油化工股份有限公司 | Linux集群故障自动恢复方法和Linux集群故障自动恢复系统 |
CN102591750A (zh) * | 2011-12-31 | 2012-07-18 | 曙光信息产业股份有限公司 | 集群系统的恢复方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202458A (zh) * | 2016-07-15 | 2016-12-07 | 深圳市永达电子信息股份有限公司 | 一种可快速实时检测并恢复升级操作系统中文件的方法 |
CN106202458B (zh) * | 2016-07-15 | 2019-09-17 | 深圳市永达电子信息股份有限公司 | 一种可快速实时检测并恢复升级操作系统中文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103197992A (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255641B (zh) | 一种基于云平台的cdp容灾方法 | |
CN103051681B (zh) | 一种面向分布式文件系统的协作式日志系统 | |
US9098439B2 (en) | Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN103516736A (zh) | 分布式缓存系统的数据恢复方法及装置 | |
CN103729280A (zh) | 一种虚拟机高可用机制 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
WO2019020081A1 (zh) | 分布式系统及其故障恢复方法、装置、产品和存储介质 | |
CN103780417A (zh) | 一种基于云硬盘的数据库故障转移方法及装置 | |
CN103488546A (zh) | 一种支持多级别数据和数据库在线并发备份与恢复方法 | |
US11269737B2 (en) | Incrementally updating recovery map data for a memory system | |
WO2016078529A1 (zh) | 业务处理方法、装置及系统 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN109391691A (zh) | 一种单节点故障下nas服务的恢复方法及相关装置 | |
CN109144787A (zh) | 一种数据恢复方法、装置、设备及可读存储介质 | |
US10318385B2 (en) | Service recovery using snapshots and interservice messages | |
WO2020233001A1 (zh) | 双控构架分布式存储系统、数据读取方法、装置和存储介质 | |
CN110858168B (zh) | 集群节点故障处理方法、装置及集群节点 | |
CN103197992B (zh) | GlusterFS脑裂的自动化恢复方法 | |
CN108959547B (zh) | 一种pv快照分布式数据库集群恢复方法 | |
US20160139996A1 (en) | Methods for providing unified storage for backup and disaster recovery and devices thereof | |
CN105471616A (zh) | 缓存系统管理方法和系统 | |
CN105373549A (zh) | 数据迁移方法、设备及数据节点服务器 | |
WO2017054643A1 (zh) | 一种数据抢救方法及文件服务器 | |
WO2017080362A1 (zh) | 数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160518 Termination date: 20180408 |
|
CF01 | Termination of patent right due to non-payment of annual fee |