慢盘检测方法和装置制造方法

文档序号:6539600阅读:196来源:国知局
慢盘检测方法和装置制造方法
【专利摘要】本发明实施例提供一种慢盘检测方法和装置。本发明慢盘检测方法,包括:在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的输入输出IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件,其中,所述慢盘事件判断门限为各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值;在所述检测周期结束时,获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
【专利说明】慢盘检测方法和装置
【技术领域】
[0001 ] 本发明实施例涉及计算机技术,尤其涉及一种慢盘检测方法和装置。
【背景技术】
[0002]硬盘由于磁头退化或者其它机械、环境问题,会导致硬盘输入输出(10,Input/Output)响应时间变长,成为慢盘。
[0003]在存储阵列系统中,用户数据并行存储到一系列硬盘中,如果某一个硬盘很慢,会导致整体的读写操作变慢,严重的情况下,会导致业务中断。因此,需要对存储阵列中的各盘进行实时检测确定慢盘,以便及时对慢盘进行隔离或备份。目前,通过将硬盘的IO响应时间与慢盘事件判断门限进行比较来确定慢盘事件,并且当统计周期内某个硬盘的慢盘事件次数超过一定次数时将该硬盘判定为慢盘的方法来检测慢盘。其中,采用将存储阵列中所有硬盘的IO响应时间的平均值作为慢盘事件判断门限来确定存储阵列系统中的慢盘事件。
[0004]但是,现有技术时常将正常的硬盘判断为慢盘,误判率较高。

【发明内容】

[0005]本发明实施例提供一种慢盘检测方法和装置。
[0006]本发明实施例提供一种慢盘检测方法,包括:
[0007]在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的输入输出IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件,其中,所述慢盘事件判断门限为各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值;
[0008]在所述检测周期结束时,获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
[0009]本发明实施例提供一种慢盘检测装置,包括:
[0010]检测模块,用于在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的输入输出IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件;
[0011]判断门限获得模块,用于每次检测过程中,将各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限;
[0012]确定模块,用于在所述检测周期结束时,从所述检测模块获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
[0013]本发明实施例提供一种慢盘检测方法和装置,通过将存储阵列中各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限,解决现有技术中存储阵列各硬盘工作负荷差异较大,使用将存储阵列中全部硬盘的IO响应时间的平均值作为慢盘事件判断门限时,慢盘误判率较高的问题,降低慢盘误判率。
【专利附图】

【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明慢盘检测方法实施例一的流程图;
[0016]图2为本发明慢盘检测方法实施例二的流程图;
[0017]图3为本发明慢盘检测方法实施例三的流程图;
[0018]图4为本发明慢盘检测装置实施例一的结构示意图;
[0019]图5为本发明慢盘检测装置实施例二的结构示意图;
[0020]图6为本发明慢盘检测装置实施例四的结构示意图。
【具体实施方式】
[0021]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]图1为本发明慢盘检测方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
[0023]步骤101、在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件,其中,所述慢盘事件判断门限为各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值;
[0024]其中,m小于等于存储阵列中硬盘的总数;
[0025]现有技术中,慢盘事件判断门限为存储阵列中全部硬盘的IO响应时间的平均值,本发明中,慢盘事件判断门限为存储阵列中各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值;目前,越来越多的存储阵列采用资源池-逻辑单元号(POOL-LogicalUnit Number,POOL-LUN)的方式,LUN数据分布到了更多的硬盘上,POOL内每个硬盘的工作负荷的差异可能会比较大,采用将存储阵列中全部硬盘的IO响应时间的平均值作为慢盘事件判断门限,容易造成慢盘事件判断门限被工作负荷较小的硬盘拉低,导致出现某块硬盘或者几块硬盘同时被确定为慢盘的问题,造成慢盘的误判率过高;通过本发明中将存储阵列中各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限的方法,则避免了慢盘事件判断门限由于工作负荷较小的硬盘而被拉低的问题,降低慢盘误判率。
[0026]步骤102、在所述检测周期结束时,获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
[0027]其中,预设门限可以根据用户输入确定;
[0028]本实施例,通过将存储阵列中各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限,解决现有技术中存储阵列各硬盘工作负荷差异较大,使用将存储阵列中全部硬盘的IO响应时间的平均值作为慢盘事件判断门限时,慢盘误判率较高的问题,降低慢盘误判率。
[0029]图2为本发明慢盘检测方法实施例二的流程图,在实施例一的基础上,进一步的,m根据每次检测过程中的各硬盘的慢盘事件次数进行动态调整。本实施例的慢盘检测方法,具体可以包括如下步骤:
[0030]步骤201、在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件,其中,所述慢盘事件判断门限为各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值,m根据每次检测过程中的各硬盘的慢盘事件次数进行动态调整;
[0031]其中,m根据每次检测过程中的各硬盘的慢盘事件次数进行动态调整,包括:若上一检测周期预定时刻不同硬盘的慢盘事件次数大于或等于预设慢盘事件次数,并且所述不同硬盘的个数大于等于第一预设个数,则根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整。
[0032]可选的,预定时刻可以为一个,或者,多个,可以为检测周期中的任意时刻,或者,检测周期结束的时刻;
[0033]以一个预定时刻为例,若统计周期T内某个时刻,如T/2,有k个硬盘(k >第一预设个数)的慢盘事件次数大于或等于预设慢盘事件次数,表示k个硬盘即将被确定为慢盘,但是即将被确定为慢盘的硬盘数过多,则说明慢盘事件判断门限过低,因此需要在下一检测周期对m进行动态调整,以提高慢盘事件判断门限,从而避免误判。
[0034]其中,m根据每次检测过程中的各硬盘的慢盘事件次数进行动态调整,包括:每次检测过程中,动态调整m的大小,直到每次检测确定出发生慢盘事件的硬盘个数小于等于第二预设个数。
[0035]具体的,在每次检测过程中计算慢盘事件判断门限时,先将预设m值减1,再进行慢盘事件判断门限的计算,并使用此慢盘事件门限确定本次检测出现慢盘事件的硬盘,当确定发生慢盘事件的硬盘个数大于第二预设个数时,则将m值再减1,直到每次检测确定出发生慢盘事件的硬盘个数小于等于第二预设个数,并根据慢盘IO响应时间的长短,对应不同的慢盘事件累加值,例如对于最慢的慢盘,对应慢盘事件累加值为I,对于第二慢盘,对应慢盘事件累加值0.5。
[0036]步骤201中,m也可以为固定值。
[0037]步骤202、在所述检测周期结束时,获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
[0038]步骤202与图1所示方法实施例中的步骤102的实现原理类似,此处不再赘述。
[0039]本实施例中,步骤201?步骤202之后,还可以包括:根据存储阵列的冗余能力对慢盘事件次数最大的慢盘进行隔离或者备份。[0040]本实施例中,步骤201?步骤202之后,还可以包括:根据所述存储阵列的冗余能力,按照慢盘事件次数的大小对慢盘依次进行隔离或者备份;
[0041]例如,若当检测周期结束时,被确定为慢盘的为两个硬盘,且分别为第一慢盘和第二慢盘,其中第一慢盘为最慢的慢盘,对独立冗余硬盘阵列(Redundant Array ofIndependent Disks, RAID)中的RAID5而言,其一次可支持隔离一块硬盘,因此先将第一慢盘进行隔离,并利用系统的热备盘或者未使用硬盘对第二慢盘进行备份,待第二慢盘备份完毕后再对第二慢盘进行隔离。
[0042]本实施例,通过动态调整m的大小,使得所采用的慢盘事件门限能够确保确定出的慢盘个数小于等于第二预设个数,防止同时确定出多于第二预设个数个的慢盘,避免慢盘的误判;同时,通过设定不同的慢盘事件累加值,实现即使在多块慢盘实际发生的慢盘事件次数相同时,也能够区分出慢盘的等级,并根据阵列的冗余能力对慢盘事件次数最大的慢盘进行隔离或者备份,或者,根据所述存储阵列的冗余能力,按照慢盘事件次数的大小对慢盘依次进行隔离或者备份,实现根据慢盘的等级处理相应的慢盘,优化慢盘处理方法。
[0043]图3为本发明慢盘检测方法实施例三的流程图,在实施例一的基础上,进一步的,慢盘事件判断门限为上述平均值与一偏移量之和。本实施例的慢盘检测方法,具体可以包括如下步骤:
[0044]步骤301、在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件,其中,所述慢盘事件判断门限为各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值与偏移量之和;
[0045]可选的,偏移量为平均值乘以偏差比例;偏差比例根据用户输入确定,或者,偏差比例根据每次检测过程中的所述平均值动态调整。
[0046]其中,偏差比例根据每次检测过程中的平均值动态调整,包括:
[0047]每次检测过程中,根据平均值及预设的平均值与偏差比例的对应关系,对偏差比例进行调整。
[0048]可选的,当平均值越大时,偏差比例越高,当平均值越小时,偏差比例越低,使得对于不同的平均值,偏差的绝对值范围相差不会太大,从而避免在平均值较大时对慢盘的漏判;
[0049]例如,平均值小于20ms,则偏差比例为30%,平均值为大于等于20ms小于50ms,则偏差比例为25%,平均值大于等于50ms小于100ms,则偏差比例为20%,平均值大于等于100ms,则偏差比例为15%。
[0050]步骤302、在所述检测周期结束时,获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
[0051]步骤302与图1所示方法实施例中的步骤102的实现原理类似,此处不再赘述。
[0052]本实施例,通过动态调整偏差比例的大小,使得对于不同的平均值,偏差的绝对值范围相差不会太大,从而避免在平均值较大时对慢盘的漏判。
[0053]图4为本发明慢盘检测装置实施例一的结构示意图,如图4所示,本实施例的装置可以包括:检测模块401、判断门限获得模块402和确定模块403。其中,检测模块401,用于在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的输入输出IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件;判断门限获得模块402,用于每次检测过程中,将各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限;确定模块403,用于在所述检测周期结束时,从所述检测模块获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
[0054]本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0055]图5为本发明慢盘检测装置实施例二的结构示意图,如图5所示,本实施例的装置在图4所示装置结构的基础上,进一步地,还可以包括:第一动态调整模块404和处理模块405。其中,第一动态调整模块404用于根据每次检测过程中的各硬盘的慢盘事件次数对m进行动态调整;处理模块405,用于所述确定模块确定出慢盘时,根据存储阵列的冗余能力对慢盘事件次数最大的慢盘进行隔离或者备份,或者,根据所述存储阵列的冗余能力,按照慢盘事件次数的大小对慢盘依次进行隔离或者备份。
[0056]其中,第一动态调整模块404,具体用于若上一检测周期预定时刻不同硬盘的慢盘事件次数大于或等于预设慢盘事件次数,并且所述不同硬盘的个数大于等于第一预设个数,则根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整,和/或,每次检测过程中,动态调整m的大小,直到每次检测确定出发生慢盘事件的硬盘个数小于等于第二预设个数。
[0057]本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0058]慢盘检测装置实施例三:
[0059]本实施例装置的结构如图4所示,与慢盘检测装置实施例一不同之处在于,实施例一中,判断门限获得模块402,用于每次检测过程中,将各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限;本实施例中,判断门限获得模块402,用于每次检测过程中,将各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值与偏移量之和作为慢盘事件判断门限。
[0060]本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0061]图6为本发明慢盘检测装置实施例四的结构示意图,如图6所示,本实施例的装置在图4所示装置结构及慢盘检测装置实施例三的基础上,进一步地,还可以包括:第二动态调整模块406,该第二动态调整模块406用于根据每次检测过程中的所述平均值对偏差比例进行动态调整。
[0062]其中,第二动态调整模块406,具体用于每次检测过程中,根据所述平均值及预设的平均值与偏差比例的对应关系,对偏差比例进行调整。
[0063]本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0064]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0065]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种慢盘检测方法,其特征在于,包括: 在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的输入输出IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件,其中,所述慢盘事件判断门限为各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值; 在所述检测周期结束时,获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
2.根据权利要求1所述的方法,其特征在于,所述m为固定值,或者, 所述方法,还包括: 根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整。
3.根据权利要求2所述的方法,其特征在于,所述根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整,包括: 若上一检测周期预定时刻不同硬盘的慢盘事件次数大于或等于预设慢盘事件次数,并且所述不同硬盘的个数大于等于第一预设个数,则根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整。
4.根据权利要求 2或3所述的方法,其特征在于,所述根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整,包括: 每次检测过程中,动态调整所述m的大小,直到每次检测确定出发生慢盘事件的硬盘个数小于等于第二预设个数。
5.根据权利要求4所述的方法,其特征在于,还包括: 在所述检测周期结束时,根据所述存储阵列的冗余能力对慢盘事件次数最大的慢盘进行隔离或者备份。
6.根据权利要求4所述的方法,其特征在于,还包括: 根据所述存储阵列的冗余能力,按照慢盘事件次数的大小对慢盘依次进行隔离或者备份。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述慢盘事件判断门限为所述平均值与一偏移量之和。
8.根据权利要求7所述的方法,其特征在于,所述偏移量为所述平均值乘以偏差比例。
9.根据权利要求8所述的方法,其特征在于,还包括: 根据每次检测过程中的所述平均值动态调整所述偏差比例。
10.根据权利要求9所述的方法,其特征在于,所述根据每次检测过程中的所述平均值动态调整所述偏差比例,包括: 每次检测过程中,根据所述平均值及预设的平均值与偏差比例的对应关系,对所述偏差比例进行调整。
11.一种慢盘检测装置,其特征在于,包括: 检测模块,用于在检测周期内,对存储阵列中各硬盘是否为慢盘进行至少两次慢盘事件检测,所述检测包括:获取存储阵列中各硬盘的输入输出IO响应时间,将各硬盘的IO响应时间与慢盘事件判断门限进行比较,确定各硬盘中IO响应时间超过所述慢盘事件判断门限的硬盘出现慢盘事件; 判断门限获得模块,用于每次检测过程中,将各硬盘的IO响应时间从高到低排列的前m个IO响应时间的平均值作为慢盘事件判断门限; 确定模块,用于在所述检测周期结束时,从所述检测模块获得各硬盘出现慢盘事件的次数,确定所述次数超过预设门限的硬盘为慢盘。
12.根据权利要求11所述的装置,其特征在于,所述m为固定值,或者, 所述装置,还包括: 第一动态调整模块,用于根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进打动态调整。
13.根据权利要求12所述的装置,其特征在于,所述第一动态调整模块,具体用于: 若上一检测周期预定时刻不同硬盘的慢盘事件次数大于或等于预设慢盘事件次数,并且所述不同硬盘的个数大于等于第一预设个数,则根据每次检测过程中的所述各硬盘的慢盘事件次数对所述m进行动态调整。
14.根据权利要求12或13所述的装置,其特征在于,所述第一动态调整模块,具体用于: 每次检测过程中,动态调整所述m的大小,直到每次检测确定出发生慢盘事件的硬盘个数小于等于第二预设个数。
15.根据权利要求14所述的装置,其特征在于,还包括: 处理模块,用于在检测周期结束时,根据存储阵列的冗余能力对慢盘事件次数最大的慢盘进行隔离或者备份,或者,根据所述存储阵列的冗余能力,按照慢盘事件次数的大小对慢盘依次进行隔离或者备份。
16.根据权利要求11~15任一项所述的装置,其特征在于,所述慢盘事件判断门限为所述平均值与一偏移量之和。
17.根据权利要求16所述的装置,其特征在于,所述偏移量为所述平均值乘以偏差比例。
18.根据权利要求17所述的装置,其特征在于,还包括: 第二动态调整模块,用于根据每次检测过程中的所述平均值动态调整所述比例偏差。
19.根据权利要求18所述的装置,其特征在于,所述第二动态调整模块,具体用于: 每次检测过程中,根据所述平均值及预设的平均值与偏差比例的对应关系,对所述偏差比例进行调整。
【文档编号】G06F11/16GK103810062SQ201410078998
【公开日】2014年5月21日 申请日期:2014年3月5日 优先权日:2014年3月5日
【发明者】霍杰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1