一种坏道磁盘检测方法和装置与流程

文档序号:15019858发布日期:2018-07-25 00:26阅读:184来源:国知局

本发明涉及通信技术领域,特别涉及一种坏道磁盘检测方法和装置。



背景技术:

磁盘使用久了就可能出现各种各样的问题,而磁盘“坏道”便是其中最常见的问题。磁盘是存储数据的重要载体,如果磁盘出现坏道,那么磁盘的数据就存在丢失的危险。

在分布式存储系统中,磁盘出现坏道会导致数据丢失且影响系统对数据的读写操作,导致系统无法正常运行。因此,需要及时检测系统中是否存在坏道磁盘,但是对坏道磁盘的检测需要占用额外的时间和人力,造成资源浪费。



技术实现要素:

有鉴于此,本发明的目的在于提供一种坏道磁盘检测方法和装置,能够及时发现坏道磁盘,减少资源浪费。

为了达到上述目的,本发明提供了如下技术方案:

一种坏道磁盘检测方法,应用于分布式存储系统,该方法包括:

确定分布式存储系统中的待测试目标磁盘;

针对每个待测试目标磁盘,设置该待测试目标磁盘的测试类型,并基于该待测试目标磁盘的测试类型配置与该待测试目标磁盘运行情况相关的性能参数阈值;

针对每个待测试目标磁盘,根据该待测试目标磁盘的测试类型对该待测试目标磁盘按照预设频率发起任务请求,以使分布式存储系统确定该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求时,确定该待测试目标磁盘为坏道磁盘并从分布式存储系统中踢出该待测试目标磁盘。

一种坏道磁盘检测装置,应用于分布式存储系统,该装置包括:确定单元、配置单元、测试单元;

所述确定单元,用于确定分布式存储系统中的待测试目标磁盘;

所述配置单元,用于针对每个待测试目标磁盘,设置该待测试目标磁盘的测试类型,并基于该待测试目标磁盘的测试类型配置与该待测试目标磁盘运行情况相关的性能参数阈值;

所述测试单元,用于针对每个待测试目标磁盘,根据该待测试目标磁盘的测试类型对该待测试目标磁盘按照预设频率发起任务请求,以使分布式存储系统确定该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求时,确定该待测试目标磁盘为坏道磁盘并从分布式存储系统中踢出该待测试目标磁盘。

由上面的技术方案可知,本发明中,先对待测试目标磁盘进行测试类型设置和对应的性能参数阈值设置,再基于测试类型对待测试目标磁盘发送任务请求,使得分布式存储系统在执行任务的过程中判断根据磁盘的性能与配置的性能参数阈值进行对比,确定待测试目标磁盘是否是坏道磁盘。应用本发明的方法,可以及时发现坏道磁盘,减少资源浪费。

附图说明

图1是本发明实施例坏道磁盘检测方法流程图;

图2是本发明实施例坏道磁盘检测装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。

参见图1,图1是本发明实施例坏道磁盘检测方法流程图,该方法应用于分布式存储系统,如图1所示,该方法包括以下步骤:

步骤101、确定分布式存储系统中的待测试目标磁盘。

可以对分布式存储系统中的所有磁盘进行测试,也可以仅对部分目标磁盘进行测试,视具体需求确定。

步骤102、针对每个待测试目标磁盘,设置该待测试目标磁盘的测试类型,并基于该待测试目标磁盘的测试类型配置与该待测试目标磁盘运行情况相关的性能参数阈值。

在实际应用中,当对磁盘进行读/写操作时,如果磁盘响应时间过慢,或者磁盘累积的任务量过多,均能说明该磁盘的运行情况不良,需要考虑是否存在磁盘坏道的问题。

本实施例中,通过对磁盘进行读/写操作实现对磁盘坏道的检测,测试类型包括以下几种:慢盘测试、读错误测试、写错误测试。其中,

慢盘检测以磁盘任务量和磁盘响应时间为检测对象,通过对待测试目标磁盘进行预设频率的读操作和/或写操作,并检测该待测试目标磁盘的磁盘任务量的变化和磁盘响应时间的变化,如果磁盘任务量超过一定阈值或磁盘响应时间超过一定阈值,则可以认为该待测试目标磁盘为坏道磁盘。

读错误测试以磁盘响应时间为检测对象,通过对待测试目标磁盘进行预设频率的读操作,并检测该待测试目标磁盘的磁盘响应时间的变化,如果磁盘响应时间超过一定阈值,则可以认为该待测试目标磁盘为坏道磁盘。

写错误测试以磁盘响应时间为检测对象,通过对待测试目标磁盘进行预设频率的写操作,并检测该待测试目标磁盘的磁盘响应时间的变化,如果磁盘响应时间超过一定阈值,则可以认为该待测试目标磁盘为坏道磁盘。

可以选择上述三种测试类型中的一种或几种测试类型对待测试目标磁盘进行坏道检测。当需要对待测试目标磁盘进行上述任意一种测试类型的坏道检测时,均需要先使能该测试类型。本步骤102中,设置该待测试目标磁盘的测试类型的具体方法为:使能对该待测试目标磁盘的慢盘测试、读错误测试、和/或写错误测试。

另外,由于上述三种检测类型中,慢盘测试主要关注磁盘任务量的变化,而读错误测试和写错误测试则主要关注磁盘响应时间的变化,因此可以看出,测试类型不同,需要设置的性能参数也不完全相同,本发明中,将这些参数称为与磁盘运行情况相关的性能参数。

本步骤102中,基于该待测试目标磁盘的测试类型配置与该待测试目标磁盘运行情况相关的性能参数阈值,具体包括:

当该待测试目标磁盘的测试类型包括慢盘测试时,设置一磁盘任务量阈值和一磁盘响应时间阈值,将该磁盘任务量阈值和磁盘响应时间阈值配置为与该待测试目标磁盘运行情况相关的性能参数阈值;

当该待测试目标磁盘的测试类型包括读错误测试和/或写错误测试时,设置一磁盘响应时间阈值,将该磁盘响应时间阈值配置为与该待测试目标磁盘运行情况相关的性能参数阈值。

步骤103、针对每个待测试目标磁盘,根据该待测试目标磁盘的测试类型对该待测试目标磁盘按照预设频率发起任务请求,以使分布式存储系统确定该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求时,确定该待测试目标磁盘为坏道磁盘并从分布式存储系统中踢出该待测试目标磁盘。

为了对待测试目标磁盘进行坏到磁盘检测,需要预先设置一频率,该频率为本次检测过程中对待测试磁盘的访问频率,本实施例中,将该频率设置为分布式存储系统中磁盘的正常访问频率,因此,根据分布式存储系统的正常访问频率的不同,该频率值也相应不同,需要根据具体需求设置。

本实施例中,任务请求包括读请求和写请求两种,在实际测试过程中,是发送读请求作为任务请求或写请求作为任务请求,需要根据具体的测试类型确定,其中,如果测试类型是慢盘测试,则发送的任务请求可以是读请求和/或写请求,如果测试类型是读错误测试,则发送的任务请求只能是读请求,如果测试类型是写错误测试,则发送的任务请求只能是写请求。

因此,本步骤103中,根据该待测试目标磁盘的测试类型对该待测试目标磁盘按照预设频率发起任务请求的方法具体为:

当该待测试目标磁盘的测试类型仅包括读错误测试时,按照预设频率向该待测试目标磁盘发起读请求;

当该待测试目标磁盘的测试类型仅包括写错误测试时,按照预设频率向该待测试目标磁盘发起写请求;

当该待测试目标磁盘的测试类型包括慢盘测试时,按照预设频率向该待测试目标磁盘发起读请求和/或写请求。

由于已经使能了待测试目标磁盘的测试类型,在对待测试目标磁盘进行读操作或写操作的过程中,分布式存储系统可以实时检测该待测试目标磁盘的性能是否符合与该待测试目标磁盘运行情况相关的性能参数阈值要求,并据此确定待测试目标磁盘是否是坏道磁盘。

具体地,

当待测试目标磁盘的测试类型仅包括读错误测试或写错误测试时,如果分布式存储系统确定该待测试目标磁盘当前的磁盘响应时间大于为该待测试目标磁盘配置的磁盘响应时间阈值,则可以确定该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求,此时,可以认为该待测试目标磁盘为坏道磁盘,将该待测试目标磁盘踢出分布式存储系统。

当该待测试目标的测试类型包括慢盘测试时,如果分布式存储系统确定该待测试目标磁盘当前的磁盘响应时间大于为该待测试目标磁盘配置的磁盘响应时间阈值,和/或,该待测试目标磁盘当前的磁盘任务量大于为该待测试目标磁盘配置的磁盘任务量阈值时,则可以确定该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求,此时,可以认为该待测试目标磁盘为坏道磁盘,将该待测试目标磁盘踢出分布式存储系统。

在对分布式存储系统的所有待测试目标磁盘进行坏道检测结束后,被踢出分布式存储系统中的磁盘被认为是坏道磁盘。

以下以一个具体的例子对图1所示方法的实施进行说明:

在linux系统中,需要对某个磁盘进行坏道检测时,可以通过以下步骤实现:

1、修改ufs_meta中的参数,实现该磁盘的测试类型设置;

(1)慢盘测试的设置

-disk_uuid=指定磁盘UUID

-disk_write_slow=true

-disk_read_slow=true

(2)写错误测试的设置

-disk_write_failed=true

-disk_uuid=指定磁盘UUID

(3)读错误测试的设置

-disk_read_failed=true

-disk_uuid=指定磁盘UUID

2、基于测试类型配置性能参数阈值;

慢盘测试,需设置该磁盘对应的磁盘任务量阈值和磁盘响应时间阈值。

写错误测试和读错误测试,需设置该磁盘对应的磁盘响应时间阈值。

3、执行测试过程

慢盘测试,需按预设频率向该磁盘发送读请求和/或写请求。

写错误测试,需按预设频率向该磁盘发送写请求。

读错误测试,需按预设频率向该磁盘发送读请求。

分布式存储系统对该磁盘进行读操作和/或写操作的过程中,判断磁盘的与运行情况相关的参数的变化,如果阈值超过对应的最大阈值(磁盘任务量阈值或磁盘响应时间阈值),则确定该磁盘为坏道磁盘。

以上对本发明实施例坏道磁盘检测方法进行了详细说明,本发明还提供了一种坏道磁盘检测装置,以下结合图2进行详细说明。

参见图2,图2是本发明实施例坏道磁盘检测装置的结构示意图,应用于分布式存储系统,如图2所示,该装置包括:确定单元201、配置单元202、测试单元203;其中,

确定单元201,用于确定分布式存储系统中的待测试目标磁盘;

配置单元202,用于针对每个待测试目标磁盘,设置该待测试目标磁盘的测试类型,并基于该待测试目标磁盘的测试类型配置与该待测试目标磁盘运行情况相关的性能参数阈值;

测试单元203,用于针对每个待测试目标磁盘,根据该待测试目标磁盘的测试类型对该待测试目标磁盘按照预设频率发起任务请求,以使分布式存储系统确定该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求时,确定该待测试目标磁盘为坏道磁盘并从分布式存储系统中踢出该待测试目标磁盘。

图2所示装置中,

所述测试类型包括:慢盘测试、读错误测试、写错误测试;

配置单元202,设置该待测试目标磁盘的测试类型时,用于:使能对该待测试目标磁盘的慢盘测试、读错误测试、和/或写错误测试。

图2所示装置中,

所述配置单元202,基于该待测试目标磁盘的测试类型配置与该待测试目标磁盘运行情况相关的性能参数阈值包括:

当该待测试目标磁盘的测试类型包括慢盘测试时,设置一磁盘任务量阈值和一磁盘响应时间阈值,将该磁盘任务量阈值和磁盘响应时间阈值配置为与该待测试目标磁盘运行情况相关的性能参数阈值;

当该待测试目标磁盘的测试类型包括读错误测试和/或写错误测试时,设置一磁盘响应时间阈值,将该磁盘响应时间阈值配置为与该待测试目标磁盘运行情况相关的性能参数阈值。

图2所示装置中,

当待测试目标磁盘的测试类型仅包括读错误测试或写错误测试时,如果该待测试目标磁盘当前的磁盘响应时间大于为该待测试目标磁盘配置的磁盘响应时间阈值,则该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求;

当该待测试目标的测试类型包括慢盘测试时,如果该待测试目标磁盘当前的磁盘响应时间大于为该待测试目标磁盘配置的磁盘响应时间阈值,和/或,该待测试目标磁盘当前的磁盘任务量大于为该待测试目标磁盘配置的磁盘任务量阈值时,该待测试目标磁盘的性能不符合与该待测试目标磁盘运行情况相关的性能参数阈值要求。

图2所示装置中,

所述测试单元203,根据该待测试目标磁盘的测试类型对该待测试目标磁盘按照预设频率发起任务请求时,用于:

当该待测试目标磁盘的测试类型仅包括读错误测试时,按照预设频率向该待测试目标磁盘发起读请求;

当该待测试目标磁盘的测试类型仅包括写错误测试时,按照预设频率向该待测试目标磁盘发起写请求;

当该待测试目标磁盘的测试类型包括慢盘测试时,按照预设频率向该待测试目标磁盘发起读请求和/或写请求。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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