分布式存储的慢盘处理方法、系统、终端及存储介质

文档序号:1815419 发布日期:2021-11-09 浏览:5次 >En<

阅读说明:本技术 分布式存储的慢盘处理方法、系统、终端及存储介质 (Distributed storage slow disk processing method, system, terminal and storage medium ) 是由 赵闪闪 于 2021-06-25 设计创作,主要内容包括:本发明提供一种分布式存储的慢盘处理方法、系统、终端及存储介质,包括:对分布式存储集群进行慢盘检测,筛选并标记慢盘;判断对已标记的慢盘进行隔离是否超出集群故障域:若是,则上报慢盘故障告警;若否,则上报慢盘故障告警并对所述慢盘进行隔离。本发明通过对检测出的慢盘进行标记,并对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。(The invention provides a distributed storage slow disk processing method, a system, a terminal and a storage medium, comprising the following steps: slow disk detection is carried out on the distributed storage cluster, and slow disks are screened and marked; judging whether the marked slow disk is isolated and exceeds a cluster fault domain: if yes, reporting a slow disc fault alarm; and if not, reporting a slow disk fault alarm and isolating the slow disk. According to the method and the device, the detected slow disk is marked, the marked slow disk is subjected to fault domain rule judgment, whether the marked slow disk is isolated to meet the fault domain is judged, and if the marked slow disk is not isolated to meet the fault domain, only the fault alarm of the slow disk is generated without isolating the slow disk, so that the reduction of the availability of the distributed file system caused by directly isolating the slow disk can be avoided, the fault expansion of the distributed file system is avoided, the adverse effect of the slow disk on the system performance in the distributed file system is solved, and the high availability of the distributed file system can be ensured.)

分布式存储的慢盘处理方法、系统、终端及存储介质

技术领域

本发明涉及分布式存储技术领域,具体涉及一种分布式存储的慢盘处理方法、系统、终端及存储介质。

背景技术

分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。单独的DFS共享文件夹的作用是相对于通过网络上的其他共享文件夹的访问点。

分布式文件系统中的慢盘是指存储系统中性能较低的硬盘。“慢盘”的存在会影响所在RAID组甚至整个业务系统的性能。为了使存储系统的性能稳定,需要及时对分布式文件系统进行慢盘检测,并对检测出的慢盘进行更换。目前的分布式文件系统一旦检测出慢盘就将慢盘进行隔离处理,来减少对系统性能的影响。

然而,慢盘虽然对系统性能有一定的影响,但是如果不加以区分的对慢盘进行隔离,就会对分布式文件系统的可用性造成不利影响,破坏分布式文件系统的稳定性。

发明内容

针对现有技术的上述不足,本发明提供一种分布式存储的慢盘处理方法、系统、终端及存储介质,以解决上述对慢盘直接进行隔离导致的分布式文件系统稳定性下降的技术问题。

第一方面,本发明提供一种分布式存储的慢盘处理方法,包括:

对分布式存储集群进行慢盘检测,筛选并标记慢盘;

判断对已标记的慢盘进行隔离是否超出集群故障域:

若是,则上报慢盘故障告警;

若否,则上报慢盘故障告警并对所述慢盘进行隔离。

进一步的,对分布式存储集群进行慢盘检测,筛选并标记慢盘,包括:

设定检测次数、时延值和门限值;

根据所述检测次数对对分布式存储集群的磁盘进行循环检测,并记录每次检测得到的磁盘实际时延值;

比对磁盘实际时延值和设定的时延值,若实际时延值达到所述时延值,则计数所述磁盘的当前次检测为有效1次;

循环检测完成后统计磁盘的有效总次数,若有效总次数超过所述门限值,则判定所述磁盘为慢盘。

进一步的,判断对已标记的慢盘进行隔离是否超出集群故障域,包括:

获取慢盘所在的副本池的故障域允许的故障节点数量;

获取集群运行状态,若集群状态异常则获取集群的异常类型;

若异常类型为节点故障,则判断故障节点数量是否达到允许的故障节点数量,若达到允许的故障节点数量则不对慢盘进行隔离;

若异常类型为磁盘故障,则判断慢盘与故障磁盘是否在同一放置组,若是,则不对慢盘进行隔离。

进一步的,获取慢盘所在的副本池的故障域允许的故障节点数量,包括:

预先存储多类副本池对应的允许故障节点数量;

获取慢盘所在的副本池类型,并根据副本池类型查找慢盘对应的允许故障节点数量。

第二方面,本发明提供一种分布式存储的慢盘处理系统,包括:

慢盘检测单元,用于对分布式存储集群进行慢盘检测,筛选并标记慢盘;

规则判断单元,用于判断对已标记的慢盘进行隔离是否超出集群故障域;

告警上报单元,用于若对已标记的慢盘进行隔离超出集群故障域,则上报慢盘故障告警;

慢盘隔离单元,用于若对已标记的慢盘进行隔离未超出集群故障域,则上报慢盘故障告警并对所述慢盘进行隔离。

进一步的,所述慢盘检测单元包括:

参数设定模块,用于设定检测次数、时延值和门限值;

循环检测模块,用于根据所述检测次数对对分布式存储集群的磁盘进行循环检测,并记录每次检测得到的磁盘实际时延值;

有效计数模块,用于比对磁盘实际时延值和设定的时延值,若实际时延值达到所述时延值,则计数所述磁盘的当前次检测为有效1次;

门限比对模块,用于循环检测完成后统计磁盘的有效总次数,若有效总次数超过所述门限值,则判定所述磁盘为慢盘。

进一步的,所述规则判断单元包括:

标准获取模块,用于获取慢盘所在的副本池的故障域允许的故障节点数量;

异常获取模块,用于获取集群运行状态,若集群状态异常则获取集群的异常类型;

第一处理模块,用于若异常类型为节点故障,则判断故障节点数量是否达到允许的故障节点数量,若达到允许的故障节点数量则不对慢盘进行隔离;

第二处理模块,用于若异常类型为磁盘故障,则判断慢盘与故障磁盘是否在同一放置组,若是,则不对慢盘进行隔离。

进一步的,所述标准获取模块包括:

类型预存子模块,用于预先存储多类副本池对应的允许故障节点数量;

数量查找子模块,用于获取慢盘所在的副本池类型,并根据副本池类型查找慢盘对应的允许故障节点数量。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的分布式存储的慢盘处理方法,通过对检测出的慢盘进行标记,并对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。

本发明提供的分布式存储的慢盘处理系统,通过慢盘检测单元对检测出的慢盘进行标记,并利用规则判断单元对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。

本发明提供的终端,执行分布式存储的慢盘处理方法,终端通过对检测出的慢盘进行标记,并对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。

本发明提供的存储介质,存储有执行分布式存储的慢盘处理方法的程序,通过对检测出的慢盘进行标记,并对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的方法的另一示意性流程图。

图3是本发明一个实施例的系统的示意性框图。

图4为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

下面对本发明中出现的关键术语进行解释。

故障域,通过创建故障域并向其分配一个或者多个节点对可能会同时发生故障的节点进行分组。单个故障域中所有节点的故障将被视为同一个故障。如果制定了故障域,则不会将同一对象的多个副本放置在同一故障域中。

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种分布式存储的慢盘处理系统。

如图1所示,该方法包括:

步骤110,对分布式存储集群进行慢盘检测,筛选并标记慢盘;

步骤120,判断对已标记的慢盘进行隔离是否超出集群故障域:

步骤130,若是,则上报慢盘故障告警;

步骤140,若否,则上报慢盘故障告警并对所述慢盘进行隔离。

为了便于对本发明的理解,下面以本发明分布式存储的慢盘处理方法的原理,结合实施例中对分布式存储的慢盘进行处理的过程,对本发明提供的分布式存储的慢盘处理方法做进一步的描述。

本实施例开启慢盘检测开关以后,系统进入慢盘检测流程,对于满足条件的磁盘被标记为慢盘后,开始对集群的故障域进行判断,对于会超出故障域的慢盘仅进行慢盘告警提醒,对于不超出故障域的慢盘在上报告警的同时,对慢盘进行隔离,来保证存储系统的高性能和可用性。

具体的,请参考图2,所述分布式存储的慢盘处理方法包括:

S1、对分布式存储集群进行慢盘检测,筛选并标记慢盘。

设定检测次数、时延值和门限值;根据检测次数对对分布式存储集群的磁盘进行循环检测,并记录每次检测得到的磁盘实际时延值;比对磁盘实际时延值和设定的时延值,若实际时延值达到时延值,则计数磁盘的当前次检测为有效1次;循环检测完成后统计磁盘的有效总次数,若有效总次数超过门限值,则判定磁盘为慢盘。

具体的,开启慢盘检测开关,设置检测次数,时延值以及门限值;对分布式集群中的所有磁盘进行慢盘检测,按照设置的检测次数进行检测并记录结果(当实际时延达到设置的时延值,则认为该次数据有效),当一个周期(达到检测次数认为是一个周期)内有效数据次数累计超过门限值时,则认为发生慢盘故障;举例说明如下:检测次数为20,时延为1000ms,门限值为18,即连续20次检测中时延达到1000ms的次数超过18次,则认为该盘为慢盘。

对检测出的慢盘进行标记,并获取已标记慢盘的详细信息,如硬盘号、所属副本池以及在故障域的分组等。

S2、判断对已标记的慢盘进行隔离是否超出集群故障域:若是,则上报慢盘故障告警;若否,则上报慢盘故障告警并对所述慢盘进行隔离。

预先存储多类副本池对应的允许故障节点数量;获取慢盘所在的副本池类型,并根据副本池类型查找慢盘对应的允许故障节点数量。获取慢盘所在的副本池的故障域允许的故障节点数量;获取集群运行状态,若集群状态异常则获取集群的异常类型;若异常类型为节点故障,则判断故障节点数量是否达到允许的故障节点数量,若达到允许的故障节点数量则不对慢盘进行隔离,若未达到则需要进一步对慢盘数量、故障节点数量和允许的故障节点数量进行判断,即慢盘数量与故障节点数量之和是否超过允许的故障节点数量,若未超过,则可以对慢盘进行隔离,否则不可对慢盘进行隔离;若异常类型为磁盘故障,则判断慢盘与故障磁盘是否在同一放置组,若是,则不对慢盘进行隔离。

具体的,检测到慢盘故障时,在对慢盘进行隔离前,首先对集群故障域进行判断,如果进行慢盘隔离(等同于将磁盘从集群中移除出去)会超出集群的故障域,则只上报慢盘故障告警,而不进行磁盘隔离操作;如果慢盘隔离不超出故障域,则在上报慢盘故障告警的同时,完成该磁盘的隔离操作。

故障域判断机制,对于副本数量为N的副本池,系统最多允许同时N/2(向下取整数)个节点出现故障。对于K+M规则的纠删池,系统最多允许同时M个节点出现故障。因此根据慢盘所属的副本池类型获取相应的允许的故障节点数量。

以两副本池为例,两副本策略的集群,最大允许故障节点数为1,如果集群状态是正常的,则允许进行慢盘隔离;如果集群状态异常,则需要判断该异常是节点故障还是磁盘故障,如果是节点故障,则不允许进行慢盘隔离,因为已经存在节点故障,叠加其他任何的故障均会超出故障域;如果是磁盘故障,则要判断故障磁盘和检测到慢盘故障的磁盘是否属于同一放置组,如果属于同一放置组,则不进行慢盘隔离,如果不属于同一放置组,则允许进行慢盘隔离;(同一放置组内的两块磁盘,一个磁盘存放原数据,一个磁盘存放备份数据,如果同时故障,会导致故障域超出)。

以2+1纠删池为例,2+1纠删策略的集群,最大允许故障节点数为1,如果集群状态是正常的,则允许进行慢盘隔离;如果集群状态异常,则需要判断该异常是节点故障还是磁盘故障,如果是节点故障,则不允许进行慢盘隔离,因为已经存在节点故障,叠加其他任何的故障均会超出故障域;如果是磁盘故障,则要判断故障磁盘和检测到慢盘故障的磁盘是否属于同一放置组,如果属于同一放置组,则不进行慢盘隔离,如果不属于同一放置组,则允许进行慢盘隔离;(同一放置组内的三块磁盘,两块磁盘存放数据信息,一个磁盘存放校验信息,三块磁盘中,仅支持一块磁盘故障,两块磁盘及以上故障,会导致故障域超出)。

本实施例在存储系统中的磁盘被检测确认为慢盘后,启动故障域判断机制,根据集群中存储池策略的不同,来判断对慢盘进行隔离处理后,是否会超出故障域,对于会超出故障域的慢盘仅进行慢盘告警提醒,对于不超出故障域的慢盘在上报告警的同时,对慢盘进行隔离,来保证存储系统的高性能和可用性。

如图3所示,该系统300包括:

慢盘检测单元,用于对分布式存储集群进行慢盘检测,筛选并标记慢盘;

规则判断单元,用于判断对已标记的慢盘进行隔离是否超出集群故障域;

告警上报单元,用于若对已标记的慢盘进行隔离超出集群故障域,则上报慢盘故障告警;

慢盘隔离单元,用于若对已标记的慢盘进行隔离未超出集群故障域,则上报慢盘故障告警并对所述慢盘进行隔离。

可选地,作为本发明一个实施例,所述慢盘检测单元包括:

参数设定模块,用于设定检测次数、时延值和门限值;

循环检测模块,用于根据所述检测次数对对分布式存储集群的磁盘进行循环检测,并记录每次检测得到的磁盘实际时延值;

有效计数模块,用于比对磁盘实际时延值和设定的时延值,若实际时延值达到所述时延值,则计数所述磁盘的当前次检测为有效1次;

门限比对模块,用于循环检测完成后统计磁盘的有效总次数,若有效总次数超过所述门限值,则判定所述磁盘为慢盘。

可选地,作为本发明一个实施例,所述规则判断单元包括:

标准获取模块,用于获取慢盘所在的副本池的故障域允许的故障节点数量;

异常获取模块,用于获取集群运行状态,若集群状态异常则获取集群的异常类型;

第一处理模块,用于若异常类型为节点故障,则判断故障节点数量是否达到允许的故障节点数量,若达到允许的故障节点数量则不对慢盘进行隔离;

第二处理模块,用于若异常类型为磁盘故障,则判断慢盘与故障磁盘是否在同一放置组,若是,则不对慢盘进行隔离。

可选地,作为本发明一个实施例,所述标准获取模块包括:

类型预存子模块,用于预先存储多类副本池对应的允许故障节点数量;

数量查找子模块,用于获取慢盘所在的副本池类型,并根据副本池类型查找慢盘对应的允许故障节点数量。

本发明提供的分布式存储的慢盘处理系统,通过慢盘检测单元对检测出的慢盘进行标记,并利用规则判断单元对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。

图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的分布式存储的慢盘处理方法。

其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。

处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明提供的终端,执行分布式存储的慢盘处理方法,终端通过对检测出的慢盘进行标记,并对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

因此,本发明通过对检测出的慢盘进行标记,并对已标记的慢盘进行故障域规则判断,判断若对已标记的慢盘进行隔离是否符合故障域,若不符合故障域则仅生成慢盘的故障告警而不对慢盘进行隔离,由此可以避免直接隔离慢盘导致的分布式文件系统可用性降低,避免了分布式文件系统的故障扩大,实现了在解决分布式文件系统中慢盘对系统性能的不利影响的同时,又能保证分布式文件系统的高可用性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种实现存储集群仲裁的方法、系统及计算机设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类