CN112799866A - 一种GlusterFS故障自动处理方法及装置 - Google Patents

一种GlusterFS故障自动处理方法及装置 Download PDF

Info

Publication number
CN112799866A
CN112799866A CN202110144639.7A CN202110144639A CN112799866A CN 112799866 A CN112799866 A CN 112799866A CN 202110144639 A CN202110144639 A CN 202110144639A CN 112799866 A CN112799866 A CN 112799866A
Authority
CN
China
Prior art keywords
fault
storage unit
module
glusterfs
storage
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.)
Pending
Application number
CN202110144639.7A
Other languages
English (en)
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.)
Beijing Minglue Zhaohui Technology Co Ltd
Original Assignee
Beijing Minglue Zhaohui 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 Beijing Minglue Zhaohui Technology Co Ltd filed Critical Beijing Minglue Zhaohui Technology Co Ltd
Priority to CN202110144639.7A priority Critical patent/CN112799866A/zh
Publication of CN112799866A publication Critical patent/CN112799866A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种GlusterFS故障自动处理方法及装置,包括心跳单元周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间;故障评估及处理单元管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元。基于本发明所提出的故障自动处理方法相关机制及故障自动处理装置,当有brick发生故障时,可以及时发现该故障并自动处理故障,相较于当前的技术方案,可以显著提升数据的安全性和GlusterFS文件系统的稳定性。

Description

一种GlusterFS故障自动处理方法及装置
技术领域
本发明属于存储领域,具体涉及一种GlusterFS故障自动处理方法及装置。
背景技术
GlusterFS是一个去中心化的、可靠的、可扩展的、分布式的文件系统,能够将多台服务器的磁盘存储资源聚合在一起提供存储服务,其系统架构如图1所示:每一个服务器节点上都包含一定数量的磁盘,每一块磁盘上会根据用户需要划分出指定大小的多个分区作为brick的存储路径,brick即为GlusterFS服务端使用的存储单元;GlusterFS以volume的形式对外提供存储服务,volume有多种类型,每一个volume都由指定数量的brick组成;每一个brick都有一个与之对应的管理进程glusterfsd,该进程负责管理brick与同一volume中的其它brick之间以及与client之间的通信和数据传输;每一个服务器节点上都运行一个glusterd进程,该进程负责管理整个集群中所有的volume以及该节点上所有的glusterfsd进程,各节点上的glusterd进程组成一个TSP(Trusted Storage Pool),TSP即代表对外提供存储服务的整个GlusterFS集群;client挂载指定的volume后即可向该volume写入数据或从该volume读出数据,实质上是与组成该volume的brick之间进行通信和数据传输。
volume v1可表示一个典型的复制卷,由三个birck组成,分别为:node_1>disk_1>brick_1、node_2>disk_1>brick_2、node_3>disk_2>brick_1,为表述方便,以下将这三个brick分别简称为:brick_a、brick_b、brick_c,并假设其大小为1GB。这三个brick上存储完全相同的数据,互为备份。
在实际的生产环境中,因磁盘故障、机器故障、系统负载、网络负载等原因,可能会导致TSP中的brick发生故障(如掉线),作为GlusterFS基本的存储单元,brick故障会直接影响数据的访问。如何及时感知brick故障并且有效地处理故障对于数据的安全性和GlusterFS文件系统的稳定性具有重要意义。
在现有技术方案中,当有brick发生故障时,必须等待系统管理员主动查看volume的状态才能够发现该故障brick;在处理故障brick时,需要系统管理员在集群中一块空间足够的磁盘上划分出一个指定大小的分区并将其设置为新brick的存储路径,然后通过gluster命令用此新brick替换故障brick并释放故障brick的存储资源,最终完成对故障brick的处理。
由于在现有技术方案中,故障brick的感知及处理需要系统管理员手动操作。因此,当有brick发生故障时,该故障并不能够被及时感知并处理,这会给数据的安全性和GlusterFS文件系统的稳定性带来很大的风险。
发明内容
基于现有技术方案中故障brick的感知及处理机制存在的不足,本发明旨在提出一种无需人工介入的、自动化的故障自动处理方法及装置。当有brick发生故障时,可以及时发现该故障并自动处理故障,相较于当前的技术方案,可以显著提升数据的安全性和GlusterFS文件系统的稳定性。
本发明解决上述技术问题的技术方案如下:
第一方面,本发明提供一种GlusterFS故障自动处理方法,包括:
心跳单元周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间;
故障评估及处理单元管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元。
进一步,所述心跳单元具体包括:心跳发送模块、心跳接收模块和状态管理模块;
所述心跳单元周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间,具体包括:
所述心跳发送模块周期性地收集所述GlusterFS集群中各存储单元的状态并发送给所述心跳接收模块,其中,所述GlusterFS集群中的每一个服务器节点上都包含一个所述心跳发送模块;
所述心跳接收模块接收所述GlusterFS集群中各服务器节点上心跳发送模块周期性发送的存储单元状态信息并推送给所述状态管理模块;
所述状态管理模块维护及标记所述GlusterFS集群中各存储单元的状态和故障存储单元的故障持续时间,其中,在接收到所述心跳接收模块推送的存储单元的状态信息后,基于所述状态信息更新其所维护的存储单元状态信息,并且,对于状态被标记为故障的存储单元,则更新其故障持续时间。
进一步,所述故障评估及处理单元具体包括:资源管理模块、故障评估模块和故障处理模块;
所述故障评估及处理单元管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元,具体包括:
所述资源管理模块管理所述GlusterFS集群中的存储资源,维护所述GlusterFS集群中存储资源的分布及使用情况,处理所述GlusterFS集群的资源申请,以及回收GlusterFS集群中故障存储单元对应的存储资源;
所述故障评估模块周期性地检查所述状态管理模块维护的各存储单元的状态及故障存储单元的故障持续时间以最终判定存储单元是否故障,并将故障存储单元的相关信息推送给故障处理模块;
所述故障处理模块向所述资源管理模块请求新的存储单元,以替换故障存储单元并请求所述资源管理模块回收故障存储单元的存储资源以最终完成对故障存储单元的处理。
进一步,所述故障评估模块周期性地检查所述状态管理模块维护的各存储单元的状态及故障存储单元的故障持续时间以最终判定存储单元是否故障,具体包括:
所述故障评估模块按照预设时间间隔周期性地检查所述状态管理模块维护的各存储单元的状态;对于状态被标记为故障的存储单元,检查其故障持续时间;当故障持续时间超出预设阈值时,判定存储单元故障。
进一步,所述故障处理模块向所述资源管理模块请求新的存储单元,以替换故障存储单元并请求所述资源管理模块回收故障存储单元的存储资源以最终完成对故障存储单元的处理,具体包括:
所述故障处理模块在接收到所述故障评估模块推送的故障存储单元的信息后,向所述资源管理模块请求指定大小的存储单元,在获取新存储单元的存储路径后,通过gluster命令用所述新存储单元替换故障存储单元,然后请求所述资源管理模块回收故障存储单元的存储资源,最终完成对故障存储单元的处理。
第二方面,本发明提供一种GlusterFS故障自动处理装置,包括:
心跳单元,用于周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间;
故障评估及处理单元,用于管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元。
进一步,所述心跳单元具体包括:心跳发送模块、心跳接收模块和状态管理模块;
所述心跳发送模块,用于周期性地收集所述GlusterFS集群中各存储单元的状态并发送给所述心跳接收模块,其中,所述GlusterFS集群中的每一个服务器节点上都包含一个所述心跳发送模块;
所述心跳接收模块,用于接收所述GlusterFS集群中各服务器节点上心跳发送模块周期性发送的存储单元状态信息并推送给所述状态管理模块;
所述状态管理模块,用于维护及标记所述GlusterFS集群中各存储单元的状态和故障存储单元的故障持续时间,其中,在接收到所述心跳接收模块推送的存储单元的状态信息后,基于所述状态信息更新其所维护的存储单元状态信息,并且,对于状态被标记为故障的存储单元,则更新其故障持续时间。
进一步,所述故障评估及处理单元具体包括:资源管理模块、故障评估模块和故障处理模块;
所述资源管理模块,用于管理所述GlusterFS集群中的存储资源,维护所述GlusterFS集群中存储资源的分布及使用情况,处理所述GlusterFS集群的资源申请,以及回收GlusterFS集群中故障存储单元对应的存储资源;
所述故障评估模块,用于周期性地检查所述状态管理模块维护的各存储单元的状态及故障存储单元的故障持续时间以最终判定存储单元是否故障,并将故障存储单元的相关信息推送给故障处理模块;
所述故障处理模块,用于向所述资源管理模块请求新的存储单元,以替换故障存储单元并请求所述资源管理模块回收故障存储单元的存储资源以最终完成对故障存储单元的处理。
进一步,所述故障评估模块,具体用于:
按照预设时间间隔周期性地检查所述状态管理模块维护的各存储单元的状态;对于状态被标记为故障的存储单元,检查其故障持续时间;当故障持续时间超出预设阈值时,判定存储单元故障。
进一步,所述故障处理模块,具体用于:
在接收到所述故障评估模块推送的故障存储单元的信息后,向所述资源管理模块请求指定大小的存储单元,在获取新存储单元的存储路径后,通过gluster命令用所述新存储单元替换故障存储单元,然后请求所述资源管理模块回收故障存储单元的存储资源,最终完成对故障存储单元的处理。
本发明的有益效果是:基于本发明所提出的故障自动处理方法相关机制及故障自动处理装置,当有brick发生故障时,可以及时发现该故障并自动处理故障,相较于当前的技术方案,可以显著提升数据的安全性和GlusterFS文件系统的稳定性。
附图说明
图1为GlusterFS系统架构图;
图2为本发明实施例提供的心跳单元的结构图;
图3为本发明实施例提供的故障评估及处理机制结构图;
图4为本发明实施例提供的故障自动处理装置结构图;
图5故障处理前后对比图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明实施例提供的一种GlusterFS故障自动处理系统,包括:心跳单元和故障评估及处理单元。
心跳单元负责周期性地收集、维护及标记GlusterFS集群中各brick的状态和故障brick的故障持续时间,具体包括:心跳发送模块、心跳接收模块、brick状态管理模块,如图2所示为该心跳单元的结构图。
心跳发送模块:该模块负责周期性地收集GlusterFS集群中各brick的状态并发送给心跳接收模块。GlusterFS集群中的每一个服务器节点上都包含一个心跳发送模块,该模块按照参数TIME_INTERVAL_SEND指定的时间间隔周期性地收集宿主服务器节点上各brick的状态并发送给心跳接收模块。
心跳接收模块:该模块负责接收GlusterFS集群中各服务器节点上心跳发送模块周期性发送的brick状态信息并推送给brick状态管理模块。
brick状态管理模块:该模块负责维护及标记GlusterFS集群中各brick的状态和故障brick的故障持续时间。在接收到心跳接收模块推送的brick状态信息后,该模块基于这些信息更新其所维护brick状态信息;并且,对于状态被标记为故障的brick,该模块会更新其故障持续时间。
故障评估及处理单元负责管理GlusterFS集群中的存储资源,并与上述心跳单元交互以周期性地评估brick是否故障并且自动处理故障brick,具体包括:资源管理模块、故障评估模块、故障处理模块,如图3所示为该故障评估及处理机制的结构图。
资源管理模块:该模块负责管理GlusterFS集群中的存储资源。该模块维护GlusterFS集群中存储资源的分布及使用情况,处理GlusterFS集群的资源申请,以及回收GlusterFS集群中故障brick对应的存储资源。
故障评估模块:该模块负责周期性地检查brick状态管理模块维护的各brick的状态及故障brick的故障持续时间以最终判定brick是否故障,并将故障brick的相关信息推送给故障处理模块。该模块按照参数TIME_INTERVAL_CHECK指定的时间间隔周期性地检查brick状态管理模块维护的各brick的状态;对于状态被标记为故障的brick,该模块会检查其故障持续时间;为避免因网络抖动等因素导致的对brick状态的错误判断,只有当故障持续时间超出由参数TIME_THRESHOLD_FAILURE指定的阈值时,该模块才会最终判定brick故障;当判定brick故障后,该模块将该故障brick相关的信息推送给故障处理模块。
故障处理模块:该模块负责向资源管理模块请求新的brick,用其替换故障brick并请求资源管理模块回收故障brick的存储资源以最终完成对故障brick的处理。在接收到故障评估模块推送的故障brick的信息后,该模块向资源管理模块请求指定大小的brick,在获取新brick的存储路径后,该模块通过gluster命令用此新brick替换故障brick,然后请求资源管理模块回收故障brick的存储资源,最终完成对故障brick的处理。
如图4所示为本发明所提出的GlusterFS故障自动处理装置的结构图。
下面给出一个实例来说明该装置的运行流程:
实例.故障brick自动处理
相关参数设置如下:
TIME_INTERVAL_SEND=1min、TIME_INTERVAL_CHECK=5min、TIME_THRESHOLD_FAILURE=10min
以图1中volume v1为例,假设其所辖brick_c(大小为1GB)发生故障,该装置感知并处理该故障的流程如下:
a.TSP中各服务器节点上的【心跳单元-心跳发送模块】每间隔1min向【心跳单元-心跳接收模块】发送该节点上所有brick的状态,其中brick_c的状态为“故障”
b.【心跳单元-心跳接收模块】在接收到brick_c“故障”的心跳信息后,将该信息推送给【心跳单元-brick状态管理模块】
c.【心跳单元-brick状态管理模块】在接收到brick_c“故障”的心跳信息后,将brick_c的状态标记为“故障”,并开始更新其故障持续时间
d.【故障评估及处理单元-故障评估模块】每间隔5min检查【心跳单元-brick状态管理模块】中各brick的状态,其中,对于状态被标记为“故障”的brick_c,检查其故障持续时间是否超出10min,若否,则不做任何处理;若是,则最终判定brick_c故障,继续执行以下流程
e.【故障评估及处理单元-故障评估模块】将brick_c相关的信息推送给【故障评估及处理单元-故障处理模块】
f.【故障评估及处理单元-故障处理模块】在接收到brick_c的相关信息后,向【故障评估及处理单元-资源管理模块】请求分配大小为1GB的新brick
g.【故障评估及处理单元-资源管理模块】在集群中选择一块剩余存储容量大于1GB的磁盘,假设该磁盘为node_m>disk_1
h.【故障评估及处理单元-资源管理模块】在TSP中node_m>disk_1上划分出一个大小为1GB的新brick,假设该brick为node_m>disk_1>brick_3,为表述方便,以下将该brick简称为brick_d
i.【故障评估及处理单元-资源管理模块】在获取成功分配的新brick的路径后,将brick_d的存储路径返回给【故障评估及处理单元-故障处理模块】
j.【故障评估及处理单元-故障处理模块】在接收到brick_d的存储路径后通过gluster命令用brick_d替换brick_c,然后该模块向【故障评估及处理单元-资源管理模块】请求回收brick_c的存储资源
k.【故障评估及处理单元-资源管理模块】在接收到回收brick_c存储资源的请求后,释放TSP中node_3>disk_2>brick_1对应的存储资源
l.至此,完成对volume v1所辖brick_c的故障处理,故障处理前后相关信息对比如图5所示:
在现有技术方案中,当GlusterFS集群有brick发生故障时,必须等待系统管理员手动操作,因此,该故障并不能够被及时感知并处理,这会给数据的安全性和GlusterFS文件系统的稳定性带来很大的风险。
基于现有技术方案中故障brick的感知及处理机制存在的不足,本发明提出一种无需人工介入的、自动化的故障brick处理方法及装置。基于本发明所提出的故障自动处理方法相关机制及故障自动处理装置,当有brick发生故障时,可以及时发现该故障并自动处理故障,相较于当前的技术方案,可以显著提升数据的安全性和GlusterFS文件系统的稳定性。
本发明针对现有技术方案中故障brick的感知及处理机制存在的不足,提出了一种GlusterFS故障自动处理方法及装置,有以下三个关键技术点:
①本发明所提出的故障自动处理方法-心跳机制,基于该机制可以周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各brick的状态和故障brick的故障持续时间,具体包括以下三个模块:心跳发送模块、心跳接收模块、brick状态管理模块。
②本发明所提出的故障自动处理方法-故障评估及处理机制,基于该机制可以管理GlusterFS集群中的存储资源,周期性地评估brick是否故障并且自动处理故障brick,具体包括以下三个模块:资源管理模块、故障评估模块、故障处理模块。
③本发明所提出的故障自动处理装置,基于该装置可以支持和实现上述故障自动处理方法中各基础机制,进而实现故障brick的自动感知及处理,具体包括以下两个功能单元:心跳单元、故障评估及处理单元,以及基于这些功能单元的该装置的逻辑结构。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述系统实施例中的模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种GlusterFS故障自动处理方法,其特征在于,包括:
心跳单元周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间;
故障评估及处理单元管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元。
2.根据权利要求1所述的方法,其特征在于,所述心跳单元具体包括:心跳发送模块、心跳接收模块和状态管理模块;
所述心跳单元周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间,具体包括:
所述心跳发送模块周期性地收集所述GlusterFS集群中各存储单元的状态并发送给所述心跳接收模块,其中,所述GlusterFS集群中的每一个服务器节点上都包含一个所述心跳发送模块;
所述心跳接收模块接收所述GlusterFS集群中各服务器节点上心跳发送模块周期性发送的存储单元状态信息并推送给所述状态管理模块;
所述状态管理模块维护及标记所述GlusterFS集群中各存储单元的状态和故障存储单元的故障持续时间,其中,在接收到所述心跳接收模块推送的存储单元的状态信息后,基于所述状态信息更新其所维护的存储单元状态信息,并且,对于状态被标记为故障的存储单元,则更新其故障持续时间。
3.根据权利要求2所述的方法,其特征在于,所述故障评估及处理单元具体包括:资源管理模块、故障评估模块和故障处理模块;
所述故障评估及处理单元管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元,具体包括:
所述资源管理模块管理所述GlusterFS集群中的存储资源,维护所述GlusterFS集群中存储资源的分布及使用情况,处理所述GlusterFS集群的资源申请,以及回收GlusterFS集群中故障存储单元对应的存储资源;
所述故障评估模块周期性地检查所述状态管理模块维护的各存储单元的状态及故障存储单元的故障持续时间以最终判定存储单元是否故障,并将故障存储单元的相关信息推送给故障处理模块;
所述故障处理模块向所述资源管理模块请求新的存储单元,以替换故障存储单元并请求所述资源管理模块回收故障存储单元的存储资源以最终完成对故障存储单元的处理。
4.根据权利要求3所述的方法,其特征在于,所述故障评估模块周期性地检查所述状态管理模块维护的各存储单元的状态及故障存储单元的故障持续时间以最终判定存储单元是否故障,具体包括:
所述故障评估模块按照预设时间间隔周期性地检查所述状态管理模块维护的各存储单元的状态;对于状态被标记为故障的存储单元,检查其故障持续时间;当故障持续时间超出预设阈值时,判定存储单元故障。
5.根据权利要求3所述的方法,其特征在于,所述故障处理模块向所述资源管理模块请求新的存储单元,以替换故障存储单元并请求所述资源管理模块回收故障存储单元的存储资源以最终完成对故障存储单元的处理,具体包括:
所述故障处理模块在接收到所述故障评估模块推送的故障存储单元的信息后,向所述资源管理模块请求指定大小的存储单元,在获取新存储单元的存储路径后,通过gluster命令用所述新存储单元替换故障存储单元,然后请求所述资源管理模块回收故障存储单元的存储资源,最终完成对故障存储单元的处理。
6.一种GlusterFS故障自动处理装置,其特征在于,包括:
心跳单元,用于周期性地收集、维护及标记GlusterFS集群中每一台服务器节点上各存储单元的状态和故障存储单元的故障持续时间;
故障评估及处理单元,用于管理所述GlusterFS集群中的存储资源,并与所述心跳单元交互以周期性地评估所述存储单元是否故障及自动处理故障存储单元。
7.根据权利要求6所述的装置,其特征在于,所述心跳单元具体包括:心跳发送模块、心跳接收模块和状态管理模块;
所述心跳发送模块,用于周期性地收集所述GlusterFS集群中各存储单元的状态并发送给所述心跳接收模块,其中,所述GlusterFS集群中的每一个服务器节点上都包含一个所述心跳发送模块;
所述心跳接收模块,用于接收所述GlusterFS集群中各服务器节点上心跳发送模块周期性发送的存储单元状态信息并推送给所述状态管理模块;
所述状态管理模块,用于维护及标记所述GlusterFS集群中各存储单元的状态和故障存储单元的故障持续时间,其中,在接收到所述心跳接收模块推送的存储单元的状态信息后,基于所述状态信息更新其所维护的存储单元状态信息,并且,对于状态被标记为故障的存储单元,则更新其故障持续时间。
8.根据权利要求7所述的装置,其特征在于,所述故障评估及处理单元具体包括:资源管理模块、故障评估模块和故障处理模块;
所述资源管理模块,用于管理所述GlusterFS集群中的存储资源,维护所述GlusterFS集群中存储资源的分布及使用情况,处理所述GlusterFS集群的资源申请,以及回收GlusterFS集群中故障存储单元对应的存储资源;
所述故障评估模块,用于周期性地检查所述状态管理模块维护的各存储单元的状态及故障存储单元的故障持续时间以最终判定存储单元是否故障,并将故障存储单元的相关信息推送给故障处理模块;
所述故障处理模块,用于向所述资源管理模块请求新的存储单元,以替换故障存储单元并请求所述资源管理模块回收故障存储单元的存储资源以最终完成对故障存储单元的处理。
9.根据权利要求8所述的装置,其特征在于,所述故障评估模块,具体用于:
按照预设时间间隔周期性地检查所述状态管理模块维护的各存储单元的状态;对于状态被标记为故障的存储单元,检查其故障持续时间;当故障持续时间超出预设阈值时,判定存储单元故障。
10.根据权利要求8所述的装置,其特征在于,所述故障处理模块,具体用于:
在接收到所述故障评估模块推送的故障存储单元的信息后,向所述资源管理模块请求指定大小的存储单元,在获取新存储单元的存储路径后,通过gluster命令用所述新存储单元替换故障存储单元,然后请求所述资源管理模块回收故障存储单元的存储资源,最终完成对故障存储单元的处理。
CN202110144639.7A 2021-02-02 2021-02-02 一种GlusterFS故障自动处理方法及装置 Pending CN112799866A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110144639.7A CN112799866A (zh) 2021-02-02 2021-02-02 一种GlusterFS故障自动处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110144639.7A CN112799866A (zh) 2021-02-02 2021-02-02 一种GlusterFS故障自动处理方法及装置

Publications (1)

Publication Number Publication Date
CN112799866A true CN112799866A (zh) 2021-05-14

Family

ID=75813836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110144639.7A Pending CN112799866A (zh) 2021-02-02 2021-02-02 一种GlusterFS故障自动处理方法及装置

Country Status (1)

Country Link
CN (1) CN112799866A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634372A (zh) * 2013-11-04 2014-03-12 天津汉柏信息技术有限公司 一种大数据存储方法
CN108173672A (zh) * 2017-12-04 2018-06-15 华为技术有限公司 检测故障的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634372A (zh) * 2013-11-04 2014-03-12 天津汉柏信息技术有限公司 一种大数据存储方法
CN108173672A (zh) * 2017-12-04 2018-06-15 华为技术有限公司 检测故障的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名: "GlusterFS更换故障Brick", pages 1 - 10, Retrieved from the Internet <URL:https://blog.51cto.com/cmdschool/1908647> *

Similar Documents

Publication Publication Date Title
US11237927B1 (en) Resolving disruptions between storage systems replicating a dataset
US11516072B2 (en) Hybrid cluster recovery techniques
CN108509153B (zh) Osd选择方法、数据写入和读取方法、监控器和服务器集群
EP3620905B1 (en) Method and device for identifying osd sub-health, and data storage system
CN100417081C (zh) 检查和修复网络配置的方法和系统
CA2903841A1 (en) A computer implemented method for dynamic sharding
CN104715001A (zh) 用于对数据处理系统的集群中的共享资源执行写入操作的方法和系统
JPWO2008114441A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
CN112039970B (zh) 一种分布式业务锁服务方法、服务端、系统及存储介质
EP2723017A1 (en) Method, apparatus and system for implementing distributed auto-incrementing counting
CN111158608B (zh) 硬盘故障处理方法、装置及分布式系统
CN101137984A (zh) 用于分布加载数据库的系统、方法和软件
WO2021112909A1 (en) Managing replication state for deleted objects
CN103535014A (zh) 一种网络存储系统、数据处理方法和客户端
EP4027243A1 (en) Data recovery method and related device
CN114746843A (zh) 针对已分化数据恢复配置的存储器健康跟踪
CN108509296B (zh) 一种处理设备故障的方法和系统
EP2378434B1 (en) Mehtod and device of multiple disks grouping hot standby in distributed file system
CN115150253B (zh) 一种故障根因确定方法、装置及电子设备
CN112799866A (zh) 一种GlusterFS故障自动处理方法及装置
CN105323271A (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
CN111400248A (zh) 写数据、恢复数据的方法及文件系统
US20060089934A1 (en) Method for detecting changes in a storage area network without external tools and hardware
US10990313B2 (en) Multi-storage node system and capacity management method of multi-storage node system

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