慢盘检测方法和存储阵列与流程

文档序号:17772973发布日期:2019-05-28 19:39阅读:582来源:国知局
慢盘检测方法和存储阵列与流程

本申请涉及计算机技术领域,并且更具体地,涉及一种慢盘检测方法和存储阵列。



背景技术:

存储阵列通常包括磁盘阵列。受到各种因素的影响,磁盘阵列中的磁盘在生命周期的后段可能会出现输入输出(inputoutput,i/o)响应慢的问题,甚至有可能无法对i/o进行响应。这种类型的磁盘称为慢盘。

慢盘的存在会对上层业务造成影响,例如会导致业务数据的处理不及时。因此,需要对磁盘阵列中的慢盘进行慢盘检测,并对慢盘上承载的业务数据进行隔离。

传统技术通常基于i/o平均服务时间进行慢盘检测。例如,如果某个磁盘在检测周期内的i/o平均服务时间大于预设阈值,则将该磁盘判定为慢盘。但是,由于磁盘会受到不同业务模型的影响,会导致慢盘检测的结果不准确。



技术实现要素:

本申请提供一种慢盘检测方法和存储阵列,可以提高慢盘检测的准确性。

第一方面,提供了一种慢盘检测方法,由存储阵列执行,所述存储阵列包括至少一个磁盘集,每个磁盘集包括至少一个磁盘,所述方法包括:侦测所述存储阵列中的至少一个磁盘集中的每个磁盘的n个磁盘参数值,其中,n为大于或等于2的正整数;根据所述每个磁盘的n个磁盘参数值计算所述每个磁盘的慢盘概率;根据所述每个磁盘的慢盘概率判断所述每个磁盘集中的慢盘。

上述技术方案侦测至少一个磁盘集中的每个磁盘的n个磁盘参数值。在慢盘检测过程中,通过考虑每个磁盘的多个磁盘参数值,与传统的仅基于i/o平均服务时间这一因素进行慢盘检测的方式相比,使得慢盘检测的结果更准确。

在一种可能的实现方式中,所述根据所述每个磁盘的n个磁盘参数值计算每个磁盘的慢盘概率,包括:判断所述侦测的每个磁盘的每个磁盘参数值所落入的参数区间,其中,所述每个磁盘参数对应至少一个参数区间;确定所述侦测的每个磁盘的每个磁盘参数值所落入的参数区间对应的概率,其中,所述每个磁盘参数值所落入的参数区间对应一个概率;根据所述每个磁盘的n个磁盘参数对应的概率计算所述每个磁盘的慢盘概率;根据所述每个磁盘的慢盘概率判断所述磁盘集中的慢盘。

在一种可能的实现方式中,所述每个磁盘集中对应的每个磁盘参数对应一个权值,所述根据所述每个磁盘的n个磁盘参数对应的概率计算所述每个磁盘的慢盘概率,包括:根据所述每个磁盘的n个磁盘参数对应的概率及所述每个磁盘的n个磁盘参数对应的权重计算所述每个磁盘的慢盘概率。

上述技术方案中,可以根据n个磁盘参数对应的权值,对每个磁盘的n个磁盘参数对应的概率进行加权求和,确定每个磁盘为慢盘的总概率。通过综合考虑每个磁盘的n个磁盘参数,使得慢盘检测的结果更准确。

在一种可能的实现方式中,所述每个磁盘集具有相同的磁盘特性。

上述技术方案中,同一个磁盘集中的磁盘特性相同,相当于在排除了磁盘特性对慢盘检测结果的影响的前提下,再进行慢盘检测,使得慢盘检测的结果更准确。

在一种可能的实现方式中,不同磁盘集对应的所述磁盘特性中至少有一个磁盘特性不同。

第二方面,提供了一种存储阵列,所述存储阵列包括至少一个磁盘集,每个磁盘集包括至少一个磁盘,所述存储阵列包括:侦测单元,用于侦测所述存储阵列中的至少一个磁盘集中的每个磁盘的n个磁盘参数值,其中,n为大于或等于2的正整数;计算单元,用于根据所述每个磁盘的n个磁盘参数值计算所述每个磁盘的慢盘概率;判断单元,用于根据所述每个磁盘的慢盘概率判断所述每个磁盘集中的慢盘。

上述技术方案侦测至少一个磁盘集中的每个磁盘的n个磁盘参数值。在慢盘检测过程中,通过考虑每个磁盘的多个磁盘参数值,与传统的仅基于i/o平均服务时间这一因素进行慢盘检测的方式相比,使得慢盘检测的结果更准确。

在一种可能的实现方式中,所述计算单元具体用于:判断所述侦测的每个磁盘的每个磁盘参数值所落入的参数区间,其中,所述每个磁盘参数对应至少一个参数区间;确定所述侦测的每个磁盘的每个磁盘参数值所落入的参数区间对应的概率,其中,所述每个磁盘参数值所落入的参数区间对应一个概率;根据所述每个磁盘的n个磁盘参数对应的概率计算所述每个磁盘的慢盘概率;根据所述每个磁盘的慢盘概率判断所述磁盘集中的慢盘。

在一种可能的实现方式中,所述每个磁盘集中对应的每个磁盘参数对应一个权值,所述计算单元具体用于:根据所述每个磁盘的n个磁盘参数对应的概率及所述每个磁盘的n个磁盘参数对应的权重计算所述每个磁盘的慢盘概率。

上述技术方案中,可以根据n个磁盘参数对应的权值,对每个磁盘的n个磁盘参数对应的概率进行加权求和,确定每个磁盘为慢盘的总概率。通过综合考虑每个磁盘的n个磁盘参数,使得慢盘检测的结果更准确。

在一种可能的实现方式中,所述每个磁盘集具有相同的磁盘特性。

上述技术方案中,同一个磁盘集中的磁盘特性相同,相当于在排除了磁盘特性对慢盘检测结果的影响的前提下,再进行慢盘检测,使得慢盘检测的结果更准确。

在一种可能的实现方式中,不同磁盘集对应的所述磁盘特性中至少有一个磁盘特性不同。

第三方面,提供了一种存储阵列,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被执行时,所述处理器用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。

第四方面,提供了一种计算机存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如上述第一方面或第一方面的任意可能的实现方式中所述的方法。

第五方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第一方面或第一方面的任意可能的实现方式中所述的方法。

附图说明

图1是可应用本发明实施例的存储阵列的结构示例图。

图2是本发明实施例提供的慢盘检测方法的示意性流程图。

图3是本发明实施例提供的待检测的磁盘的分组方式的示例图。

图4是与磁盘的i/o平均服务时间对应的慢盘概率模型的示意图。

图5是与i/o处理时间超过预设阈值的i/o个数对应的慢盘概率模型的示意图。

图6是本发明实施例提供的存储阵列的示意性结构图。

图7是本发明实施例提供的存储阵列的示意性结构图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

图1是可应用本发明实施例的存储阵列的结构示例图。如图1所示,磁盘阵列100可以位于盘框110内部。盘框可以包括多个盘槽,每个磁盘槽可以放置一张磁盘120。本申请提及的磁盘例如可以是固态硬盘(solidstatedrives,ssd),串行高级技术附加装置(serialadvancedtechnologyattachment,sata)盘,串行连接小型计算机系统接口(serialattachedsmallcomputersysteminterface,sas)盘,近线sas(nearline-sas,nl-sas)盘等。图1所示的存储阵列例如可以是独立磁盘冗余阵列(redundantarrayofindependentdisks,raid)。

本发明实施例提供一种慢盘检测方法,可以提高慢盘检测准确率。下面结合图2对本发明实施例进行详细描述。

图2是本发明实施例提供的慢盘检测方法的示意性流程图。图2的方法可以由存储阵列执行,例如可以是磁盘所在的存储阵列中的处理器。图2的方法可以包括步骤210-230,下面分别对步骤210-230进行详细描述。

在步骤210中,侦测所述存储阵列中的至少一个磁盘集中的每个磁盘的n个磁盘参数值,其中,n为大于或等于2的正整数。

应理解,可以按照不同的磁盘特性将磁盘阵列中的磁盘分成不同的磁盘集,该磁盘集中的磁盘具有相同的磁盘特性。磁盘特性例如可以是磁盘的硬件特征,也可以是磁盘上存储的业务类型。

本发明实施例对磁盘的硬件特征的类型不做具体限定,该磁盘的硬件特征可以有多种。例如,硬件特征可以包括以下中的至少一种:磁盘的类型,转速,协议类型。

磁盘类型例如可以包括以下类型中的至少一种:ssd、sata、sas、nl-sas等。磁盘的转速例如可以包括以下转速中的至少一种:5400转/分钟、7200转/分钟、10000转/分钟、15000转/分钟。磁盘的协议类型例如可以包括以下协议中的至少一种:非易失内存表达(non-volatilememoryexpress,nvme)协议、因特网小型计算机系统接口(internetsmallcomputersysteminterface,iscsi)协议、先进技术附件(advancedtechnologyattachment,ata)协议等。

可选地,在一些实施例中,磁盘上存储的业务类型例如可以是当磁盘分给上层应用使用时,上层应用所产生的数据存储在该磁盘上,不同的上层应用将会产生不同的数据类型。

下面结合图3对每个磁盘集对应的磁盘特性进行详细说明。参见图3,可以将磁盘上存储的业务类型选取为磁盘所属的硬盘域,并将磁盘的硬件特征选取为磁盘的类型和/或转速。如图3所示,基于待检测磁盘的上述特征,可以将待检测的磁盘划分至如图3所示的4个检测域(也可称为磁盘集)。检测域1中的磁盘满足如下条件:所属的硬盘域为硬盘域0,磁盘为sas盘,磁盘的转速为10000转/分钟。检测域2中的磁盘满足如下条件:所属的硬盘域为硬盘域0,磁盘为sas盘,磁盘的转速为15000转/分钟。检测域3中的磁盘满足如下条件:所属的硬盘域为硬盘域1,磁盘为sdd盘。检测域4中的磁盘满足如下条件:所属的硬盘域为硬盘域2,磁盘为nvme盘。图3中,不同的检测域(磁盘集)中对应的磁盘特性中可以至少有一个磁盘特性不同。

实际检测过程中,可以依次对检测域1-检测域4中的硬盘进行慢盘检测。或者,也可以并行地对4个检测域中的盘分别进行慢盘检测。

本发明实施例将慢盘检测的对象选取为磁盘的硬件特征和/或磁盘上存储的业务类型相同的一个磁盘集。并对该磁盘集中的磁盘侦测多个参数值,使得慢盘检测的结果更准确。

应理解,每个磁盘的n个磁盘参数值均可为用于衡量磁盘是否为慢盘的n个因素。该n个磁盘参数例如可以包括以下因素中的部分或全部因素:i/o平均服务时间,i/o处理时间超过预设阈值的i/o个数,以及未被响应的i/o个数等。i/o平均服务时间例如可以是磁盘本身处理单个i/o需要消耗的平均时间,i/o处理时间超过预设阈值的i/o个数例如可以是磁盘处理i/o的时间超过设定阈值时间的i/o个数,未被响应的i/o个数例如可以是磁盘所有的i/o里没有响应的i/o个数。

在步骤220中,根据所述每个磁盘的n个磁盘参数值计算所述每个磁盘的慢盘概率。

可选地,在一些实施例中,可以通过判断所侦测的每个磁盘的每个磁盘参数值所落入的参数区间,其中每个磁盘参数可对应至少一个参数区间。并可通过每个磁盘的每个磁盘参数值所落入的参数区间对应的概率计算每个磁盘的慢盘概率。下面结合具体的实施例进行详细的说明。

以i/o平均服务时间作为磁盘的一个参数值为例,对于单个磁盘,通常来说,i/o平均服务时间越长,磁盘为慢盘的概率越大。图4是与磁盘的i/o平均服务时间对应的慢盘概率模型。如图4所示,当磁盘的i/o平均服务时间在区间0-s1时,该磁盘为慢盘的概率为x%。当磁盘的i/o平均服务时间在区间s1-s2时,该磁盘为慢盘的概率为y%。当磁盘的i/o平均服务时间在区间s2-s3时,该磁盘为慢盘的概率为z%。从图4可以看出,随着磁盘的i/o平均服务时间越长,磁盘为慢盘的概率越大。因此,磁盘i/o平均服务时间可以作为衡量磁盘是否为慢盘的因素。

以i/o处理时间超过预设阈值的i/o个数为每个磁盘的一个参数值为例,对于单个磁盘,通常来说,i/o处理时间超过预设阈值的i/o个数越多,磁盘为慢盘的概率越大。图5是与i/o处理时间超过预设阈值的i/o个数对应的慢盘概率模型。如图5所示,正常盘中i/o处理时间超过t3(设定的阈值时间)的i/o个数占i/o总个数的概率为p%(也可称为慢盘该率),慢盘中i/o处理时间超过t3(设定的阈值时间)的i/o个数占i/o总个数的概率为m%。由于慢盘中i/o处理时间超过预设阈值的i/o个数比正常盘中i/o处理时间超过预设阈值的i/o个数越多,该磁盘为慢盘的概率越大。因此,i/o处理时间超过预设阈值的i/o个数可以作为衡量磁盘是否为慢盘的因素。

上文提及的k个因素的重要性可能并不相同,因此,如表1所示,可以按照各因素重要性的不同给其赋予不同的权值。

表1

然后,可以根据每个因素的权值,对n个磁盘中的每个磁盘在k个因素下为慢盘的概率进行加权求和,确定每个磁盘为慢盘的总概率。

作为一个示例,如表2所示,对于磁盘d1,x1%表示d1在因素1下为慢盘的概率,y1%表示d1在因素2下为慢盘的概率。对于磁盘d2,x2%表示d1在因素1下为慢盘的概率,y2%表示d1在因素2下为慢盘的概率,以此类推。

表2

然后,可以基于各个因素的权值,计算出确定每个磁盘为慢盘的总概率。如表3所示,磁盘d1被判定为慢盘的概率可以通过下式计算:p(d1)=x1%*w1+y1%*w2+……。其中,x1%表示d1在因素1下为慢盘的概率,w1表示因素1的权值,y1%表示d1在因素2下为慢盘的概率,w2表示因素2的权值。

表3

在步骤230中,根据所述每个磁盘的慢盘概率判断所述每个磁盘集中的慢盘。

在本申请实施例中,侦测至少一个磁盘集中的每个磁盘的n个磁盘参数值。在慢盘检测过程中,通过考虑每个磁盘的多个磁盘参数值,与传统的仅基于i/o平均服务时间这一因素进行慢盘检测的方式相比,使得慢盘检测的结果更准确。

步骤230中提及的每个磁盘的慢盘概率可以是该磁盘在一个检测周期内为慢盘的概率,也可以包含磁盘在多个检测周期中的各检测周期内为慢盘的概率。例如,可以先根据每个磁盘在多个检测周期中的每个检测周期内为慢盘的概率以及预设阈值,从每个磁盘中选取每个检测周期对应的疑似慢盘。接着可以从多个检测周期对应的疑似慢盘中确定慢盘(如可以将每个磁盘中的作为疑似磁盘次数大于预设次数,或者每个磁盘中的作为疑似磁盘次数最多的磁盘确定为慢盘)。

上文描述的每个检测周期对应的疑似慢盘可以理解为在该每个检测周期内为慢盘的总概率大于预设阈值的磁盘(下文将磁盘在某个检测周期内为慢盘的概率大于预设阈值这一条件称为条件一)。每个周期对应的疑似慢盘可以是一个慢盘,也可以包括多个慢盘。如果某个磁盘为某个检测周期对应的疑似慢盘,也可以将该检测周期称为该磁盘的慢周期,表示该磁盘在该检测周期的i/o响应速度较慢。

本发明实施例并非将某个检测周期的慢盘检测结果直接确定为最终的慢盘检测结果,而是基于多个检测周期的慢盘检测结果综合地确定待检测的磁盘中是否包含慢盘,这种慢盘检测方式会使得慢盘检测结果更加准确。

上文基于条件一判定各检测周期对应的疑似慢盘。可选地,在某些实施例中,还可以综合考虑其他多种条件确定检测周期对应的疑似慢盘。例如,可以先判断该检测周期的数据是否满足如下条件二:每个磁盘集中概率最大的磁盘的概率大于磁盘集中其他磁盘的u(u大于1)倍。如果条件二未被满足,则确定该检测周期不存在疑似慢盘;如果条件二被满足,则判定该检测周期内是否存在满足上述条件一的磁盘;如果存在,则将该磁盘判定为该检测周期对应的疑似慢盘。又如,可以先判断该检测周期的数据是否满足如下条件三:磁盘集中至少有l(l为不小于1的正整数)个磁盘承接数据业务。如果条件三未被满足,则确定该检测周期不存在疑似慢盘;如果条件三被满足,则判定该检测周期内是否存在满足上述条件一的磁盘;如果存在,则将该磁盘判定为该检测周期对应的疑似慢盘。需要说明的是,上文提及的条件一、条件二、条件三可以任一组合,本发明实施例对此并不限定。

上文中结合图2至图5,详细描述了本发明实施例提供的慢盘检测方法,下面将结合图6,详细描述本发明实施例提供的存储阵列。图6的存储阵列可用于执行上文中的各个步骤。图6的存储阵列可以包括侦测单元610、计算单元620以及判断单元630。

侦测单元610,可用于侦测所述存储阵列中的至少一个磁盘集中的每个磁盘的n个磁盘参数值,其中,n为大于或等于2的正整数。

计算单元620,可用于根据所述每个磁盘的n个磁盘参数值计算所述每个磁盘的慢盘概率。

判断单元630,可用于根据所述每个磁盘的慢盘概率判断所述每个磁盘集中的慢盘。

可选地,在一些实施例中,计算单元620可具体用于:判断所述侦测的每个磁盘的每个磁盘参数值所落入的参数区间,其中,所述每个磁盘参数对应至少一个参数区间;确定所述侦测的每个磁盘的每个磁盘参数值所落入的参数区间对应的概率,其中,所述每个磁盘参数值所落入的参数区间对应一个概率;根据所述每个磁盘的n个磁盘参数对应的概率计算所述每个磁盘的慢盘概率;根据所述每个磁盘的慢盘概率判断所述磁盘集中的慢盘。

可选地,在一些实施例中,所述每个磁盘集中对应的每个磁盘参数对应一个权值,所述计算单元620还可具体用于:根据所述每个磁盘的n个磁盘参数对应的概率及所述每个磁盘的n个磁盘参数对应的权重计算所述每个磁盘的慢盘概率。

可选地,在一些实施例中,所述每个磁盘集具有相同的磁盘特性。

可选地,在一些实施例中,不同磁盘集对应的所述磁盘特性中至少有一个磁盘特性不同。

图7是本发明实施例提供的存储阵列的示意性结构图。图7中的存储阵列700可以执行图2至图5的任一实施例描述的慢盘检测方法。图7的存储阵列700可以包括存储器710和处理器720。存储器710可用于存储程序。处理器720可用于执行所述存储器710中存储的程序。当存储器710中存储的程序被执行时,所述处理器720可用于执行上文任一实施例描述的慢盘检测方法。

应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digitalvideodisc,dvd))、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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