一种慢盘检测方法和装置与流程

文档序号:17064036发布日期:2019-03-08 18:43阅读:280来源:国知局
一种慢盘检测方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种慢盘检测方法和装置。



背景技术:

磁盘阵列系统可包括多组独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID),其RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成的一个硬盘组(逻辑硬盘)。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能,从而提供比单个硬盘更高的存储性能和提供数据备份技术。同时,在储存数据时,将数据切割成许多区段,分别存放在各个硬盘上。

对于该磁盘阵列系统来说,当系统中出现硬盘老化、磁头退化、硬盘坏道等多种情况时会导致硬盘响应速度变慢,而由于数据切割为多个区段分别存放在各个硬盘上,因而会由于一块硬盘的响应变慢会拖累整个系统的响应速度,因此,需要定期或不定期对硬盘的输入/输出(input/output,I/O)响应时间进行监控,以根据I/O响应时间确定出慢盘,进而对该慢盘实施RAID重构、硬盘隔离等相关措施。

目前,检测慢盘的方式大多是设定一个阀值,在的一定的时间周期或多个相同的时间周期内,如果硬盘的I/O请求的平均服务时间达到的阈值,则认定该硬盘为慢盘。其中,I/O请求的平均服务时间为时间周期内发送的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请求的响应时间之和;

根据所述响应时间之和与所述当前预设周期内所述每个硬盘对应的I/O请求个数的比值获取所述当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

结合第一方面的第一种可能实现的方式,在第一方面的第三种可能实现的方式中,所述获取所述当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值包括:

获取所述当前预设周期内的单位时间内所述每个硬盘对应的I/O请求的平均服务时间之和;

根据所述平均服务时间之和与所述单位时间的个数的比值获取所述当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

结合第一方面的第一种可能实现的方式至第三种可能实现的方式,在第一方面的第四种可能实现的方式中,所述根据不同类型的硬盘中的每个硬盘的所述平均值以及所述比率获取所述当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间包括:

将不同类型的硬盘中的每个硬盘的平均值和所述比率进行加权计算获取所述当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间;

其中,若不同类型的硬盘中的任一类型的硬盘对应的I/O请求的平均服务时间表示为AvgT,则AvgT=X1*Z1+X2*Z2+…Xn*Zn,X1表示所述任一类型的硬盘中的第1个硬盘对应的平均值,Z1表示所述第1个硬盘对应的比率,X2表示所述任一类型的硬盘中的第2个硬盘对应的平均值,Z2表示所述第2个硬盘对应的比率,Xn表示所述任一类型的硬盘中的第n个硬盘对应的平均值,Zn表示所述第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请求的平均服务时间的平均值。

结合第二方面的第一种可能实现的方式,在第二方面的第三种可能实现的方式中,所述获取单元具体用于:

所述获取单元具体用于:

获取所述当前预设周期内的单位时间内所述每个硬盘对应的I/O请求的平均服务时间之和;

根据所述平均服务时间之和与所述单位时间的个数的比值获取所述当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

结合第二方面的第一种可能实现的方式至第三种可能实现的方式,在第二方面的第四种可能实现的方式中,所述获取单元具体用于:

将不同类型的硬盘中的每个硬盘的平均值和所述比率进行加权计算获取所述当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间;

其中,若不同类型的硬盘中的任一类型的硬盘对应的I/O请求的平均服务时间表示为AvgT,则AvgT=X1*Z1+X2*Z2+…Xn*Zn,X1表示所述任一类型的硬盘中的第1个硬盘对应的平均值,Z1表示所述第1个硬盘对应的比率,X2表示所述任一类型的硬盘中的第2个硬盘对应的平均值,Z2表示所述第2个硬盘对应的比率,Xn表示所述任一类型的硬盘中的第n个硬盘对应的平均值,Zn表示所述第n个硬盘对应的比率。

结合第二方面,在第二方面的第五种可能实现的方式中,所述获取单元具体用于:

根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的乘积获取下一预设周期不同类型的硬盘对应的慢盘阈值。

结合第二方面,在第二方面的第六种可能实现的方式中,所述确定单元还用于:

在存储阵列上电后第一个预设周期内,根据不同类型的硬盘对应的初始阈值与所述每个硬盘对应的I/O请求的平均服务时间确定不同类型的硬盘中的慢盘。

本发明实施例提供一种慢盘检测方法和装置,通过获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间,再根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值,进而根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定所述下一预设周期中的慢盘,由此,本发明能够根据当前预设周期内不同类型的硬盘的平均服务时间确定出下一预设周期的慢盘阈值,这样可对不同类型的硬盘由于其I/O的平均服务时间的不同制定差异化的慢盘阈值,也由于硬盘不同业务类型的I/O响应时间不同,不同服务年限的硬盘的I/O的响应时间也不同,导致硬盘的I/O的平均服务时间不同,使得本发明这种慢盘阈值的差异化确定相当于对系统内的硬盘做横向比较,因此,本发明不同类型的差异化的慢盘阈值也能够适应不同业务类型和不同服务年限的硬盘,能够根据不同硬盘类型、不同业务类型和不同服务年限的硬盘的差异化解决慢盘检测精确度低的问题,提升了慢盘检测的精确度。

附图说明

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

图1为本发明实施例提供的一种慢盘检测方法的流程示意图;

图2为本发明实施例提供的一种慢盘检测方法的流程示意图;

图3为本发明实施例提供的一种慢盘检测的装置。

图4为本发明实施例提供的一种慢盘检测的装置。

具体实施方式

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

本发明实施例提供一种慢盘检测方法,本实施例的执行主体为检测慢盘的处理装置,该装置可以采用硬件和/或软件的方式实现,优选的,该处理装置可以设置在装载了硬盘的阵列系统上,便于对阵列系统中的硬盘进行检测,如图1所示,包括:

101、获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间。

用于慢盘检测的装置可首先确定阵列系统中的硬盘类型,例如,该硬盘类型可以包括固态硬盘(Solid State Drives,SSD)、串行连接SCSI(Serial Attached Small computer system interface,SAS)、近线SAS(Near Line_SAS,NL_SAS)以及串口硬盘(Serial Advanced Technology Attachment,SATA)等,而后获取每种类型的硬盘在当前预设周期内的I/O请求的平均服务时间。

通常来讲,对于单个硬盘,I/O请求的平均服务时间是指该单个硬盘1s内接收到的多个I/O请求的响应时间的平均值,I/O请求的响应时间是指硬盘从接收到的I/O请求到达阵列系统时起到服务结束时为止的时间。而在将硬盘分类后,按照硬盘类型,获取每一类硬盘在当前预设周期内的I/O请求的平均服务时间。其中,预设周期可以为一小时,也可以为其它值,本申请不做限定。

102、根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值。

本发明实施例中,假设该阵列系统中,如果有一个或几个硬盘的I/O响应时间比其它硬盘的I/O响应时间的加权平均值大,且数值上呈现出倍数趋势,那么将这一个硬盘或这几个硬盘视为慢盘,也即慢盘的概念是将其与其它所有硬盘做一个横向比较。

由于硬盘的I/O请求的平均服务时间为单位时间内的接收到的I/O请求的响应时间的平均值,且硬盘是分类的,那么慢盘阈值的确定可以是不同类型的硬盘通过加权算法获取不同类型对应的I/O请求的平均服务时间,即加权平均值,于是当硬盘的I/O请求的平均服务时间可以是比其所属类型的硬盘的加权平均值高出倍数时确定为慢盘。于是,这里根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值可以包括:根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的乘积,获取下一预设周期不同类型的硬盘对应的慢盘阈值。这里的预设值根据经验可设置为10,当然也可为其它值,本申请不做限定。

103、根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘。

在根据下一预设周期内不同类型的硬盘的慢盘阈值后,在下一预设周期内,可根据每个硬盘的一定时间内的I/O请求的平均服务时间与其所属类型的硬盘的慢盘阈值进行比较,如果任一硬盘的I/O请求的平均服务时间大于或等于其所属类型的硬盘的慢盘阈值,则可确定该任一硬盘为慢盘。这里的一定时间是指在下一预设周期内,每隔一定时间获取一次任一硬盘在一定时间内接收到的I/O请求的平均服务时间,比如,一定时间为5min,预设周期为一小时。

本发明实施例提供一种慢盘检测方法,通过获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间,再根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值,进而根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘,由此,本发明能够根据当前预设周期内不同类型的硬盘的平均服务时间确定出下一预设周期的慢盘阈值,这样可对不同类型的硬盘由于其I/O的平均服务时间的不同制定差异化的慢盘阈值,也由于硬盘不同业务类型的I/O响应时间不同,不同服务年限的硬盘的I/O的响应时间也不同,导致硬盘的I/O的平均服务时间不同,使得本发明这种慢盘阈值的差异化确定相当于对系统内的硬盘做横向比较,因此,本发明不同类型的差异化的慢盘阈值也能够适应不同业务类型和不同服务年限的硬盘,能够根据不同硬盘类型、不同业务类型和不同服务年限的硬盘的差异化解决慢盘检测精确度低的问题,提升了慢盘检测的精确度。

下面对上述实施例进行具体说明。

本发明实施例提供一种慢盘检测方法,如图2所示,包括:

201、在存储阵列上电后第一个预设周期内,根据不同类型的硬盘对应的初始阈值与每个硬盘对应的I/O请求的平均服务时间确定不同类型的硬盘中的慢盘。

如果该存储阵列刚上电,第一个预设周期内不同类型的硬盘的慢盘阈值可根据预设的初始阈值确定,该初始阈值可根据测试数据和现网业务情况制定,预设周期例如可以为一小时等。其中任一硬盘的I/O请求的平均服务时间可以是该任一硬盘在一段时间内的I/O请求的响应时间的平均值,该一段时间例如可以为5min等,即每隔5min获取一次任一硬盘的I/O请求的平均服务时间,并与其所属类型的硬盘的初始阈值进行比较,如果大于初始阈值,则确定为慢盘。

而后,可通过加权计算获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间,具体可由步骤202至步骤204实现。

202、获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

具体地,在当前预设周期与下一预设周期间的临界时间,获取当前预设周期内的每个硬盘对应的I/O请求的平均服务时间的平均值,例如在第一个预设周期与第二个预设周期的临界时间,获取第一个预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

示例性的,可获取当前预设周期内每个硬盘对应接收到的I/O请求的响应时间之和,根据响应时间之和与当前预设周期内每个硬盘对应的I/O请求个数的比值获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值Xn。

也即,对于单个硬盘来说,由于I/O请求的平均服务时间为单位时间(例如1s)内接收到的Z个I/O请求的响应时间的平均值,那么对于单个硬盘来说,可统计当前预设周期(例如一小时)内单个硬盘接收到的M个I/O请求的响应时间,然后将M各I/O请求的响应时间相加,相加的和再除以单个硬盘在当前预设周期内接收到的I/O请求的个数,得到当前预设周期内单个硬盘对应的I/O请求的平均服务时间的平均值Xn。

可选的,还可以获取当前预设周期内的单位时间内每个硬盘对应的I/O请求的平均服务时间之和,根据平均服务时间之和与单位时间的个数的比值获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值Xn。例如,单位时间为1s,预设周期为一小时,那么对于单个硬盘来说,可将一小时内单个硬盘每1s的I/O的平均服务时间相加,再除以3600s,得到当前预设周期内单个硬盘对应的I/O请求的平均服务时间的平均值Xn。

203、获取当前预设周期内每个硬盘对应接收到的I/O请求的数量占每个硬盘所属类型对应的所有硬盘接收到的I/O请求的总量的比率。

具体地,对于单个硬盘来说,可统计其在当前预设周期内接收到的I/O请求的数量Yn,对于每一类型的硬盘来说,将每一类型中的所有硬盘接收到的I/O请求的数量相加得到每一类型的硬盘的I/O请求的总量,而后,对其中一类型的硬盘,获取这一类型中的单个硬盘在当前预设周期内接收到的I/O请求的数量Yn占这一类型对应的所有硬盘接收到的I/O请求的总量的比率Zn。

204、根据不同类型的硬盘中的每个硬盘的平均值以及比率获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间。

具体地,可将不同类型的硬盘中的每个硬盘的平均值和比率进行加权计算获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间。

其中,若不同类型的硬盘中的任一类型的硬盘对应的I/O请求的平均服务时间表示为AvgT,则AvgT=X1*Z1+X2*Z2+…Xn*Zn,X1表示所述任一类型的硬盘中的第1个硬盘对应的平均值,Z1表示所述第1个硬盘对应的比率,X2表示所述任一类型的硬盘中的第2个硬盘对应的平均值,Z2表示所述第2个硬盘对应的比率,Xn表示所述任一类型的硬盘中的第n个硬盘对应的平均值,Zn表示所述第n个硬盘对应的比率。

这里如果一个硬盘接收到更多的I/O请求,其业务更繁忙,那么I/O压力大的硬盘在其所属类型的硬盘中的权值就更高。

205、根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值。

具体地,根据上述对于慢盘的概念的定义,不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系可以为乘积的关系,预设值例如可以为10。

本发明实施例中,预设值的确定也可以根据阵列系统的容错能力来确定,容错能力越高,这里的预设值越大。预设周期可与阵列系统的I/O请求的波动性确定,波动性越大,预设周期可设置越长。

206、根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘。

在根据上一周期的I/O请求情况确定了不同类型的硬盘对应的慢盘阈值后,可在下一预设周期根据不同类型的硬盘对应的慢盘阈值确定出下一预设周期中的慢盘。具体地,对于其中任一类型的硬盘来说,可根据一段时间内每个硬盘的I/O请求的平均服务时间与该任一类型的硬盘的慢盘阈值进行比较,例如每5min计算一次单个硬盘的平均服务时间,如果该5min确定的单个硬盘的平均服务时间大于或等于其所属类型的硬盘的慢盘阈值,那么就确定该单个硬盘为慢盘。

207、启动慢盘数据重构,并发送告警信息。

如果某个硬盘确定为慢盘,可通过数据重构获取该慢盘的数据,并将该慢盘的数据转移至另一空闲硬盘,隔离该慢盘,并发送告警信息以通知管理人员。

由于本发明实施例是对阵列系统内的硬盘做横向比较,所以对于不同的业务类型,阵列系统内的硬盘的I/O的响应时间是不同的,因此,本发明实施例的慢盘检测方式也自适应了不同的业务类型。同样的,硬盘的服务年限增加后,阵列系统内的硬盘就有老化,其I/O的响应时间会相应变慢,本发明实施例这种横向比较确定慢盘的方式也自适应了不同服务年限的硬盘。

本发明实施例提供一种慢盘检测方法,通过获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间,再根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值,进而根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘,由此,本发明能够根据当前预设周期内不同类型的硬盘的平均服务时间确定出下一预设周期的慢盘阈值,这样可对不同类型的硬盘由于其I/O的平均服务时间的不同制定差异化的慢盘阈值,也由于硬盘不同业务类型的I/O响应时间不同,不同服务年限的硬盘的I/O的响应时间也不同,导致硬盘的I/O的平均服务时间不同,使得本发明这种慢盘阈值的差异化确定相当于对系统内的硬盘做横向比较,因此,本发明不同类型的差异化的慢盘阈值也能够适应不同业务类型和不同服务年限的硬盘,能够根据不同硬盘类型、不同业务类型和不同服务年限的硬盘的差异化解决慢盘检测精确度低的问题,提升了慢盘检测的精确度。

本发明实施例提供一种慢盘检测的装置3,如图3所示,包括:

获取单元301,用于获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间;

获取单元301,还用于根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值;

确定单元302,用于根据不同类型的硬盘对应的慢盘阈值与下一预设周期内每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘。

可选的,获取单元301可以具体用于:

获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值;

获取当前预设周期内每个硬盘对应接收到的I/O请求的数量占每个硬盘所属类型对应的所有硬盘接收到的I/O请求的总量的比率;

根据不同类型的硬盘中的每个硬盘的平均值以及比率获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间。

可选的,获取单元301可以具体用于:

获取当前预设周期内每个硬盘对应接收到的I/O请求的响应时间之和;

根据响应时间之和与当前预设周期内每个硬盘对应的I/O请求个数的比值获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

可选的,获取单元301可以具体用于:

获取当前预设周期内的单位时间内每个硬盘对应的I/O请求的平均服务时间之和;

根据平均服务时间之和与单位时间的个数的比值获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

可选的,获取单元301可以具体用于:

将不同类型的硬盘中的每个硬盘的平均值和比率进行加权计算获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间;

其中,若不同类型的硬盘中的任一类型的硬盘对应的I/O请求的平均服务时间表示为AvgT,则AvgT=X1*Z1+X2*Z2+…Xn*Zn,X1表示所述任一类型的硬盘中的第1个硬盘对应的平均值,Z1表示所述第1个硬盘对应的比率,X2表示所述任一类型的硬盘中的第2个硬盘对应的平均值,Z2表示所述第2个硬盘对应的比率,Xn表示所述任一类型的硬盘中的第n个硬盘对应的平均值,Zn表示所述第n个硬盘对应的比率。

可选的,获取单元301可以具体用于:

根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的乘积获取下一预设周期不同类型的硬盘对应的慢盘阈值。

可选的,确定单元302还可以用于:

在存储阵列上电后第一个预设周期内,根据不同类型的硬盘对应的初始阈值与每个硬盘对应的I/O请求的平均服务时间确定不同类型的硬盘中的慢盘。

本发明实施例提供一种慢盘检测的装置,通过获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间,再根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值,进而根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘,由此,本发明能够根据当前预设周期内不同类型的硬盘的平均服务时间确定出下一预设周期的慢盘阈值,这样可对不同类型的硬盘由于其I/O的平均服务时间的不同制定差异化的慢盘阈值,也由于硬盘不同业务类型的I/O响应时间不同,不同服务年限的硬盘的I/O的响应时间也不同,导致硬盘的I/O的平均服务时间不同,使得本发明这种慢盘阈值的差异化确定相当于对系统内的硬盘做横向比较,因此,本发明不同类型的差异化的慢盘阈值也能够适应不同业务类型和不同服务年限的硬盘,能够根据不同硬盘类型、不同业务类型和不同服务年限的硬盘的差异化解决慢盘检测精确度低的问题,提升了慢盘检测的精确度。

本发明实施例提供一种慢盘的检测装置4,如图4所示,包括:存储器401、处理器402以及通信总线403。其中:存储器401用于存储指令和数据,处理器402,用于执行该指令用于获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间;根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值;根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘。存储器401存储的数据包括当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间、预设值和下一预设周期不同类型的硬盘对应的慢盘阈值等。

在本发明实施例中,可选的,处理器402用于执行获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间包括:

获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值;

获取当前预设周期内每个硬盘对应接收到的I/O请求的数量占每个硬盘所属类型对应的所有硬盘接收到的I/O请求的总量的比率;

根据不同类型的硬盘中的每个硬盘的平均值以及比率获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间。

存储器401存储的数据还可以包括上述平均值和比率。

在本发明实施例中,可选的,处理器402用于执行获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值包括:

获取当前预设周期内每个硬盘对应接收到的I/O请求的响应时间之和;

根据响应时间之和与当前预设周期内每个硬盘对应的I/O请求个数的比值获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

在本发明实施例中,可选的,处理器402用于执行获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值包括:

获取当前预设周期内的单位时间内每个硬盘对应的I/O请求的平均服务时间之和;

根据平均服务时间之和与单位时间的个数的比值获取当前预设周期内每个硬盘对应的I/O请求的平均服务时间的平均值。

在本发明实施例中,可选的,处理器402用于执行根据不同类型的硬盘中的每个硬盘的平均值以及比率获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间包括:

将不同类型的硬盘中的每个硬盘的平均值和比率进行加权计算获取当前预设周期内不同类型的硬盘对应的I/O请求的平均服务时间;

其中,若不同类型的硬盘中的任一类型的硬盘对应的I/O请求的平均服务时间表示为AvgT,则AvgT=X1*Z1+X2*Z2+…Xn*Zn,X1表示所述任一类型的硬盘中的第1个硬盘对应的平均值,Z1表示所述第1个硬盘对应的比率,X2表示所述任一类型的硬盘中的第2个硬盘对应的平均值,Z2表示所述第2个硬盘对应的比率,Xn表示所述任一类型的硬盘中的第n个硬盘对应的平均值,Zn表示所述第n个硬盘对应的比率。

在本发明实施例中,可选的,处理器402用于执行根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值包括:

根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的乘积获取下一预设周期不同类型的硬盘对应的慢盘阈值。

在本发明实施例中,可选的,处理器402用于执行指令还可以用于:

在存储阵列上电后第一个预设周期内,根据不同类型的硬盘对应的初始阈值与每个硬盘对应的I/O请求的平均服务时间确定不同类型的硬盘中的慢盘。

本发明实施例提供一种慢盘检测的装置,通过获取当前预设周期内不同类型的硬盘对应的输入输出I/O请求的平均服务时间,再根据不同类型的硬盘对应的I/O请求的平均服务时间与预设值的关系获取下一预设周期不同类型的硬盘对应的慢盘阈值,进而根据不同类型的硬盘对应的慢盘阈值与下一预设周期中每个硬盘对应的I/O请求的平均服务时间确定下一预设周期中的慢盘,由此,本发明能够根据当前预设周期内不同类型的硬盘的平均服务时间确定出下一预设周期的慢盘阈值,这样可对不同类型的硬盘由于其I/O的平均服务时间的不同制定差异化的慢盘阈值,也由于硬盘不同业务类型的I/O响应时间不同,不同服务年限的硬盘的I/O的响应时间也不同,导致硬盘的I/O的平均服务时间不同,使得本发明这种慢盘阈值的差异化确定相当于对系统内的硬盘做横向比较,因此,本发明不同类型的差异化的慢盘阈值也能够适应不同业务类型和不同服务年限的硬盘,能够根据不同硬盘类型、不同业务类型和不同服务年限的硬盘的差异化解决慢盘检测精确度低的问题,提升了慢盘检测的精确度。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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