CN103197992B - GlusterFS脑裂的自动化恢复方法 - Google Patents

GlusterFS脑裂的自动化恢复方法 Download PDF

Info

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
Application number
CN201310118842.2A
Other languages
English (en)
Other versions
CN103197992A (zh
Inventor
谭海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Opzoon Technology Co Ltd
Original Assignee
Opzoon Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Opzoon Technology Co Ltd filed Critical Opzoon Technology Co Ltd
Priority to CN201310118842.2A priority Critical patent/CN103197992B/zh
Publication of CN103197992A publication Critical patent/CN103197992A/zh
Application granted granted Critical
Publication of CN103197992B publication Critical patent/CN103197992B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了GlusterFS脑裂的自动化恢复方法,停止集群中Gluster服务和所有调用Gluster服务的系统服务,其中Gluster服务是Gluster服务器中的服务;将Gluster服务器中的数据进行备份和删除;恢复停止的Gluster服务,同时恢复和管理集群中Gluster客户端的服务;从Gluster客户端将备份的Gluster服务器中的数据重新写回到Gluster服务器中,解除脑裂状态;恢复停止的所有调用Gluster服务的系统服务。本发明在集群环境中进行GlusterFS脑裂的自动恢复,相比手动恢复,自动恢复简便易操作、耗时短、效率高,同时避免手动恢复过程中出现的人为错误。

Description

GlusterFS脑裂的自动化恢复方法
技术领域
本发明涉及云计算技术领域,尤其涉及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服务的系统服务。
CN201310118842.2A 2013-04-08 2013-04-08 GlusterFS脑裂的自动化恢复方法 Expired - Fee Related CN103197992B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202458A (zh) * 2016-07-15 2016-12-07 深圳市永达电子信息股份有限公司 一种可快速实时检测并恢复升级操作系统中文件的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457400B (zh) * 2011-06-09 2014-11-05 中标软件有限公司 一种防止磁盘镜像资源发生脑裂的方法

Citations (3)

* Cited by examiner, † Cited by third party
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集群故障自动恢复系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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