一种RAID健康状态检测方法、系统及相关装置与流程

文档序号:14122250阅读:237来源:国知局
一种RAID健康状态检测方法、系统及相关装置与流程

本发明涉及硬盘技术领域,更具体地说,涉及一种raid健康状态检测方法、系统、装置及计算机可读存储介质。



背景技术:

随着数据存储需求的日益增长,数据中心中存储系统也随之快速增长,目前,硬盘是企业级存储中最重要的存储介质。硬盘在数据存储中处于核心的地位,同时,硬盘也是存储系统中最容易损坏的一种硬件。

现在存储系统依赖于raid(冗余磁盘阵列)这样的冗余机制来应对磁盘的故障,也就是少量磁盘损坏的情况下,保证数据存储以及系统的正常运行,然而,多块磁盘在相近的时间内发生故障时,此方法便不适用,也就是当多块磁盘在相近的时间内发生故障时,硬盘便不能保证磁盘的正常工作。

因此,如何避免raid发生故障,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种raid健康状态检测方法、系统、装置及计算机可读存储介质,以避免raid发生故障。

为实现上述目的,本发明实施例提供了如下技术方案:

一种raid健康状态检测方法,包括:

接收检测指令;

确定raid中故障阈值数的目标磁盘;其中,所述故障阈值为所述raid中允许故障的最大磁盘数;

获取存储设备的历史磁盘数据与每个目标磁盘的第一可重新分配扇区计数;

利用所述历史磁盘数据与每个所述第一可重新分配扇区计数确定每个所述目标磁盘的最终失效概率;

利用每个所述目标磁盘的最终失效概率确定所述raid的失效概率;以利用所述raid的失效概率确定所述raid的健康状态。

其中,所述检测指令是间隔预设时间触发的检测指令。

其中,所述获取存储设备的历史磁盘数据与每个目标磁盘的第一可重新分配扇区计数,包括:

获取存储设备的历史磁盘数据;

利用每个所述目标磁盘的实时扇区信息获取每个所述目标磁盘的第一可重新分配扇区计数。

其中,利用所述历史磁盘数据与每个所述第一可重新分配扇区计数确定每个所述目标磁盘的最终失效概率,包括:

利用所述历史磁盘数据确定所述存储设备中已失效磁盘的第二可重新分配扇区计数,利用所述第二可重新分配扇区计数确定所述已失效磁盘的失效概率;

利用所述历史磁盘数据确定所述存储设备中所有磁盘的第三可重新分配扇区计数,利用所述第三可重新分配扇区计数确定所述存储设备的综合失效概率;

利用每个所述第一可重新分配扇区计数确定每个所述目标磁盘的初始失效概率;

利用所述失效概率、所述综合失效概率、每个所述初始失效概率确定每个所述目标磁盘的最终失效概率。

一种raid健康状态检测系统,包括:

接收模块,用于接收检测指令;

确定模块,用于确定raid中故障阈值数的目标磁盘;其中,所述故障阈值为所述raid中允许故障的最大磁盘数;

获取模块,用于获取存储设备的历史磁盘数据与每个目标磁盘的第一可重新分配扇区计数;

第一计算模块,用于利用所述历史磁盘数据与每个所述第一可重新分配扇区计数确定每个所述目标磁盘的最终失效概率;

第二计算模块,用于利用每个所述目标磁盘的最终失效概率确定所述raid的失效概率;以利用所述raid的失效概率确定所述raid的健康状态。

其中,所述检测指令是间隔预设时间触发的检测指令。

其中,所述获取模块,包括:

第一获取单元,用于获取存储设备的历史磁盘数据;

第二获取单元,用于利用每个所述目标磁盘的实时扇区信息获取每个所述目标磁盘的第一可重新分配扇区计数。

其中,所述计算模块,包括:

第一计算单元,用于利用所述历史磁盘数据确定所述存储设备中已失效磁盘的第二可重新分配扇区计数,利用所述第二可重新分配扇区计数确定所述已失效磁盘的失效概率;

第二计算单元,用于利用所述历史磁盘数据确定所述存储设备中所有磁盘的第三可重新分配扇区计数,利用所述第三可重新分配扇区计数确定所述存储设备的综合失效概率;

第三计算单元,用于利用每个所述第一可重新分配扇区计数确定每个所述目标磁盘的初始失效概率;

第四计算单元,用于利用所述失效概率、所述综合失效概率、每个所述初始失效概率确定每个所述目标磁盘的最终失效概率。

一种存储设备,包括:

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

处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述raid健康状态检测方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述raid健康状态检测方法的步骤。

通过以上方案可知,本发明实施例提供的一种raid健康状态检测方法,首先接收检测指令;确定raid中故障阈值数的目标磁盘;其中,所述故障阈值为所述raid中允许故障的最大磁盘数;获取存储设备的历史磁盘数据与每个目标磁盘的第一可重新分配扇区计数;利用所述历史磁盘数据与每个所述第一可重新分配扇区计数确定每个所述目标磁盘的最终失效概率;利用每个所述目标磁盘的最终失效概率确定所述raid的失效概率;以利用所述raid的失效概率确定所述raid的健康状态。

由此可见,本发明实施例提供的一种raid健康状态检测方法,可以仅仅通过raid中目标磁盘的可重新分配扇区数与存储设备的历史磁盘信息就可以计算得到每个目标磁盘的失效概率,从而计算出raid的失效概率,进而可以从失效概率判断raid是否健康,因此可以在raid故障前就能够提前预防故障的发生,提前做好措施,避免raid故障带来的影响。本发明实施例还提供一种raid健康状态检测系统、装置及计算机可读存储介质,同样可以实现上述技术效果。

附图说明

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

图1为本发明实施例公开的一种raid健康状态检测方法流程图;

图2为本发明实施例公开的一种具体的raid健康状态检测方法流程图;

图3为本发明实施例公开的一种raid健康状态检测系统结构示意图;

图4为本发明实施例公开的一种具体的raid健康状态检测系统结构示意图。

具体实施方式

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

本发明实施例公开了一种raid健康状态检测方法、系统、装置及计算机可读存储介质,以避免raid发生故障。

参见图1,本发明实施例提供的一种raid健康状态检测方法,具体包括:

s101,接收检测指令。

在本实施例中,检测指令可以是周期性自动触发的,即定时对raid(磁盘冗余阵列)进行检测;也可以是根据检测需求即时触发的,即需要对raid的健康状态进行检测时,再控制存储设备检测raid。

s102,确定raid中故障阈值数的目标磁盘;其中,所述故障阈值为所述raid中允许故障的最大磁盘数。

具体地,对于raid会有一个故障阈值,故障阈值决定了raid在什么情况下故障。在raid终会有多个磁盘互为冗余,当raid中一个磁盘故障时,其他磁盘接替其工作,是raid整体看来依然是在正常工作,但是当raid中故障的磁盘数目到达一定数量时,raid也就无法正常工作,此时就确认raid故障,而这个数量就是raid的故障阈值,也就是当raid中的故障磁盘数到达故障阈值时,raid即为故障。

在本方案中,首先确定raid的故障阈值,然后确定故障阈值个数的目标磁盘,例如对于当前raid,共有3个磁盘,故障阈值为2,那么在3个磁盘中确定2个为目标磁盘。

s103,获取存储设备的历史磁盘数据与每个目标磁盘的第一可重新分配扇区计数。

在本方案中,若要计算raid的失效概率,那么首先需要计算得到每个目标磁盘的失效概率。

具体地,首先获取存储设备的每个raid的历史磁盘数据,以及每个目标磁盘的第一可重新分配扇区计数。可重新分配扇区是磁盘中的替换扇区,当磁盘中的扇区损坏不能继续使用时,将可重新分配扇区映射到磁盘,以使磁盘正常使用,而此时,对应此块磁盘的可重新分配扇区就会相应减少,因此可以利用可重新分配扇区计数计算出初步的此块磁盘的失效概率。

需要说明的是,存储设备通常为一个集群,包括多个磁盘或raid,raid中又包括多个磁盘,存储设备维护所有磁盘的数据,这些数据中包括存储设备中可重新分配扇区计数不为零但已经故障的磁盘的可重新分配扇区数,以及存储设备中所有磁盘(包括故障磁盘、非故障磁盘)的总数以及所有磁盘可重新分配扇区计数的总数,因此也可以利用历史磁盘数据计算出上述故障的磁盘的失效概率以及存储设备在不考虑具体是故障或非故障磁盘的情况下的失效概率。

s104,利用所述历史磁盘数据与每个所述第一可重新分配扇区计数确定每个所述目标磁盘的最终失效概率。

具体地,利用历史磁盘数据和每个第一可重新分配扇区计数即可计算出每个目标磁盘的失效概率,具体计算方法在下述实施例中详细介绍,此处不再赘述。得到每个目标磁盘的失效概率即可利用每个目标失效概率确定raid的失效概率。

s105,利用每个所述目标磁盘的最终失效概率确定所述raid的失效概率;以利用所述raid的失效概率确定所述raid的健康状态。

具体地,在得到每个目标磁盘的最终失效概率后,利用每个最终失效概率计算raid的失效概率,判定raid是否故障,从而判断是否需要提前更换raid或磁盘,以防止raid故障带来的影响。

需要说明的是,在检测到具体的raid的失效概率后,可以根据预先设定的阈值进行比较,阈值来限定是否报警,当超过阈值时,可以进行告警,提示磁盘即将失效,同时还可以根据raid中每一个目标磁盘的失效概率确定raid中具体哪个磁盘故障导致了raid故障。

由此可见,本发明实施例提供的一种raid健康状态检测方法,可以仅仅通过raid中目标磁盘的可重新分配扇区数与存储设备的历史磁盘信息就可以计算得到每个目标磁盘的失效概率,从而计算出raid的失效概率,进而可以从失效概率判断raid是否健康,因此可以在raid故障前就能够提前预防故障的发生,提前做好措施,避免raid故障带来的影响。

下面对本发明实施例提供的一种具体的raid健康状态检测方法进行介绍,区别于上述实施例,本发明实施例对上述实施例中的检测指令做了进一步的限定和说明,其他步骤内容与上述实施例大致相同,具体可以参考上述实施例,此处不再赘述。

具体地,检测指令时间隔预设时间触发的检测指令。

需要说明的是,对于raid健康状态的检测,可以是周期性进行,例如间隔一天、12小时触发一次检测指令,具体间隔时间根据具体情况而定,此处不做限定。触发检测指令后进而确定raid的失效概率,实现对磁盘的周期性检测。

对存储设备的raid进行周期性检测,一旦存储设备raid失效概率较高,即将出现问题时,就能及时的掌握raid的失效信息,以进行预防处理,从而保证了存储设备的稳定性。显然,对于检测指令的触发条件不局限于根据预设的时间周期进行,可以根据待检测的磁盘状态即时的发出检测需求,从而触发检测指令进行检测,不必等到预设时间点才能获取到失效概率。

本发明实施例提供一种具体的raid健康状态检测方法,区别于上述实施例,本发明实施例对上述实施例中s103做了进一步的限定和说明,其他步骤内容与上述实施例大致相同,具体可以参考上述实施例,此处不再赘述。具体地,s103包括:

获取存储设备的历史磁盘数据;

利用每个所述目标磁盘的实时扇区信息获取每个所述目标磁盘的第一可重新分配扇区计数。

具体地,存储设备中,每个磁盘都会维护智能信息,智能信息中包括可重新分配扇区计数,智能信息可以通过智能接口进行查询和检索。在接收到检测指令后,首先获取历史的磁盘数据,以及磁盘智能信息中的可重新分配扇区计数,以便后续计算目标磁盘的失效概率。

本发明实施例提供一种具体的raid健康状态检测方法,区别于上述实施例,本发明实施例对上述实施例中s104做了进一步的限定和说明,其他步骤内容与上述实施例大致相同,具体可以参考上述实施例,此处不再赘述。具体的,参考图2,s104包括:

s201,利用所述历史磁盘数据确定所述存储设备中已失效磁盘的第二可重新分配扇区计数,利用所述第二可重新分配扇区计数确定所述已失效磁盘的失效概率。

具体地,首先根据历史磁盘数据确定存储设备中已失效的一个磁盘的重新分配扇区计数,利用这个重新分配扇区计数可以计算得到这个已失效磁盘的失效概率p(fail)。

s202,利用所述历史磁盘数据确定所述存储设备中所有磁盘的第三可重新分配扇区计数,利用所述第三可重新分配扇区计数确定所述存储设备的综合失效概率。

具体地,获取到存储设备的额历史磁盘数据后,确定所有磁盘的第三可重新分配扇区计数,其中所有磁盘即不区分磁盘的状态,包括正常磁盘和失效磁盘,利用第三可重新分配扇区计数得到系统总体的失效概率p(rs)。

s203,利用每个所述第一可重新分配扇区计数确定每个所述目标磁盘的初始失效概率。

具体地,获取到每个目标磁盘的额第一可重新分配扇区计数后,计算得到每个目标磁盘的初始的失效概率p(rs|fail)。

s204,利用所述失效概率、所述综合失效概率、每个所述初始失效概率确定每个所述目标磁盘的最终失效概率。

具体地,利用失效概率、综合失效概率、初始失效概率确定每个目标磁盘的最终失效概率,具体实现为最终失效概率

p(fail|rs)=p(rs|fail)*p(fail)/p(rs)。

可见,本发明实施例在确定可重新分配扇区计数的情况下即可计算出目标磁盘的失效概率,进而利用失效概率就可以raid的失效概率,确定raid的健康状态,从而可以提前做好预防措施,以备raid的损坏。

下面对本发明实施例提供的一种raid健康状态检测系统进行介绍,下文描述的一种raid健康状态检测系统与上文描述的一种raid健康状态检测方法可以相互参照。

参见图3,本发明实施例提供的一种raid健康状态检测系统,具体包括:

接收模块301,用于接收检测指令。

在本实施例中,检测指令可以是周期性自动触发的,即定时对raid(磁盘冗余阵列)进行检测;也可以是根据检测需求即时触发的,即需要对raid的健康状态进行检测时,再控制存储设备检测raid。

确定模块302,用于确定raid中故障阈值数的目标磁盘;其中,所述故障阈值为所述raid中允许故障的最大磁盘数。

具体地,对于raid会有一个故障阈值,故障阈值决定了raid在什么情况下故障。在raid终会有多个磁盘互为冗余,当raid中一个磁盘故障时,其他磁盘接替其工作,是raid整体看来依然是在正常工作,但是当raid中故障的磁盘数目到达一定数量时,raid也就无法正常工作,此时就确认raid故障,而这个数量就是raid的故障阈值,也就是当raid中的故障磁盘数到达故障阈值时,raid即为故障。

在本方案中,确定模块302首先确定raid的故障阈值,然后确定故障阈值个数的目标磁盘,例如对于当前raid,共有3个磁盘,故障阈值为2,那么在3个磁盘中确定2个为目标磁盘。

获取模块303,用于获取存储设备的历史磁盘数据与每个目标磁盘的第一可重新分配扇区计数。

在本方案中,若要计算raid的失效概率,那么首先需要计算得到每个目标磁盘的失效概率。

具体地,获取模块303首先获取存储设备的每个raid的历史磁盘数据,以及每个目标磁盘的第一可重新分配扇区计数。可重新分配扇区是磁盘中的替换扇区,当磁盘中的扇区损坏不能继续使用时,将可重新分配扇区映射到磁盘,以使磁盘正常使用,而此时,对应此块磁盘的可重新分配扇区就会相应减少,因此可以利用可重新分配扇区计数计算出初步的此块磁盘的失效概率。

需要说明的是,存储设备通常为一个集群,包括多个磁盘或raid,raid中又包括多个磁盘,存储设备维护所有磁盘的数据,这些数据中包括存储设备中可重新分配扇区计数不为零但已经故障的磁盘的可重新分配扇区数,以及存储设备中所有磁盘(包括故障磁盘、非故障磁盘)的总数以及所有磁盘可重新分配扇区计数的总数,因此也可以利用历史磁盘数据计算出上述故障的磁盘的失效概率以及存储设备在不考虑具体是故障或非故障磁盘的情况下的失效概率。

第一计算模块304,用于利用所述历史磁盘数据与每个所述第一可重新分配扇区计数确定每个所述目标磁盘的最终失效概率。

具体地,第一计算模块304利用历史磁盘数据和每个第一可重新分配扇区计数即可计算出每个目标磁盘的失效概率,具体计算方法在下述实施例中详细介绍,此处不再赘述。得到每个目标磁盘的失效概率即可利用每个目标失效概率确定raid的失效概率。

第二计算模块305,用于利用每个所述目标磁盘的最终失效概率确定所述raid的失效概率;以利用所述raid的失效概率确定所述raid的健康状态。

具体地,在得到每个目标磁盘的最终失效概率后,第二计算模块305利用每个最终失效概率计算raid的失效概率,判定raid是否故障,从而判断是否需要提前更换raid或磁盘,以防止raid故障带来的影响。

需要说明的是,在检测到具体的raid的失效概率后,可以根据预先设定的阈值进行比较,阈值来限定是否报警,当超过阈值时,可以进行告警,提示磁盘即将失效,同时还可以根据raid中每一个目标磁盘的失效概率确定raid中具体哪个磁盘故障导致了raid故障。

由此可见,本发明实施例提供的一种raid健康状态检测方法,第一计算模块204可以仅仅通过raid中目标磁盘的可重新分配扇区数与存储设备的历史磁盘信息就可以计算得到每个目标磁盘的失效概率,从而第二计算模块305计算出raid的失效概率,进而可以从失效概率判断raid是否健康,因此可以在raid故障前就能够提前预防故障的发生,提前做好措施,避免raid故障带来的影响。

下面对本发明实施例提供的一种具体的raid健康状态检测系统进行介绍,区别于上述实施例,本发明实施例对上述实施例中的检测指令做了进一步的限定和说明,其他步骤内容与上述实施例大致相同,具体可以参考上述实施例,此处不再赘述。

具体地,检测指令时间隔预设时间触发的检测指令。

需要说明的是,对于raid健康状态的检测,可以是周期性进行,例如间隔一天、12小时触发一次检测指令,具体间隔时间根据具体情况而定,此处不做限定。触发检测指令后进而确定raid的失效概率,实现对磁盘的周期性检测。

对存储设备的raid进行周期性检测,一旦存储设备raid失效概率较高,即将出现问题时,就能及时的掌握raid的失效信息,以进行预防处理,从而保证了存储设备的稳定性。显然,对于检测指令的触发条件不局限于根据预设的时间周期进行,可以根据待检测的磁盘状态即时的发出检测需求,从而触发检测指令进行检测,不必等到预设时间点才能获取到失效概率。

本发明实施例提供一种具体的raid健康状态检测系统,区别于上述实施例,本发明实施例对上述实施例中获取模块303做了进一步的限定和说明,其他模块内容与上述实施例大致相同,具体可以参考上述实施例,此处不再赘述。具体地,获取模块303包括:

第一获取单元,用于获取存储设备的历史磁盘数据;

第二获取单元,用于利用每个所述目标磁盘的实时扇区信息获取每个所述目标磁盘的第一可重新分配扇区计数。

具体地,存储设备中,每个磁盘都会维护智能信息,智能信息中包括可重新分配扇区计数,智能信息可以通过智能接口进行查询和检索。在接收到检测指令后,首先第一获取单元获取历史的磁盘数据,第二获取单元从磁盘智能信息中获取每个目标磁盘的可重新分配扇区计数,以便后续计算每个目标磁盘的失效概率。

本发明实施例提供一种具体的raid健康状态检测系统,区别于上述实施例,本发明实施例对上述实施例中第一计算模块304做了进一步的限定和说明,其他步骤内容与上述实施例大致相同,具体可以参考上述实施例,此处不再赘述。具体的,参考图4,第一计算模块304包括:

第一计算单元401,用于利用所述历史磁盘数据确定所述存储设备中已失效磁盘的第二可重新分配扇区计数,利用所述第二可重新分配扇区计数确定所述已失效磁盘的失效概率。

具体地,第一计算单元401首先根据历史磁盘数据确定存储设备中已失效的一个磁盘的重新分配扇区计数,利用这个重新分配扇区计数可以计算得到这个已失效磁盘的失效概率p(fail)。

第二计算单元402,用于利用所述历史磁盘数据确定所述存储设备中所有磁盘的第三可重新分配扇区计数,利用所述第三可重新分配扇区计数确定所述存储设备的综合失效概率。

具体地,获取到存储设备的额历史磁盘数据后,第二计算单元402确定所有磁盘的第三可重新分配扇区计数,其中所有磁盘即不区分磁盘的状态,包括正常磁盘和失效磁盘,利用第三可重新分配扇区计数得到系统总体的失效概率p(rs)。

第三计算单元403,用于利用每个所述第一可重新分配扇区计数确定每个所述目标磁盘的初始失效概率。

具体地,获取到每个目标磁盘的额第一可重新分配扇区计数后,第三计算单元403计算得到每个目标磁盘的初始的失效概率p(rs|fail)。

第四计算单元404,用于利用所述失效概率、所述综合失效概率、每个所述初始失效概率确定每个所述目标磁盘的最终失效概率。

具体地,第四计算单元404利用失效概率、综合失效概率、初始失效概率确定每个目标磁盘的最终失效概率,具体实现为最终失效概率

p(fail|rs)=p(rs|fail)*p(fail)/p(rs)。

可见,本发明实施例在确定可重新分配扇区计数的情况下即可计算出目标磁盘的失效概率,进而利用失效概率就可以raid的失效概率,确定raid的健康状态,从而可以提前做好预防措施,以备raid的损坏。

下面对本发明实施例提供的一种raid健康状态检测装置进行描述,下文描述的一种raid健康状态检测装置与上文描述的一种raid健康状态检测方法可以相互参照。

一种raid健康状态检测装置,具体包括:

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

处理器,用于执行所述计算机程序时实现如上述实施例所述raid健康状态检测方法的步骤。

下面对本发明实施例提供的一种计算机可读存储介质进行描述,下文描述的一种计算机可读存储介质与上文描述的一种raid健康状态检测方法可以相互参照。

具体地,一种计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述磁盘raid状态检测方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1