一种硬盘稳定性跌落测试方法、系统、终端及存储介质与流程

文档序号:19226013发布日期:2019-11-26 02:33阅读:392来源:国知局
一种硬盘稳定性跌落测试方法、系统、终端及存储介质与流程

本发明涉及硬盘测试技术领域,具体涉及一种硬盘稳定性跌落测试方法、系统、终端及存储介质。



背景技术:

在硬盘测试中,当新引进一款硬盘或者fw导入时,经常需要确认硬盘是否稳定,需要测试很长时间,才可以确认。目前服务器市场的hdd容量越来越大,要想对硬盘的稳定性进行追踪确认,需要花费很长时间。且整个过程产生大量的测试数据,需要测试人员对大量的测试数据进行分析,从而得到测试结果。费时费力。



技术实现要素:

针对现有技术的上述不足,本发明提供一种硬盘稳定性跌落测试方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种硬盘稳定性跌落测试方法,包括:

记录硬盘测试前的smart日志中的初始坏块数量;

通过fio工具对硬盘持续施加压力;

记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图;

查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果。

进一步的,所述通过fio工具对硬盘持续施加压力,包括:

在预设时间内向硬盘下发硬盘各块的顺序读参数;

在预设时间内向硬盘下发硬盘各块的顺序写参数;

在预设时间内向硬盘下发硬盘各块的混合读写参数。

进一步的,所述利用iostat-xm1记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图,包括:

记录硬盘在压力持续期间的每秒的io数据;

利用绘制脚本实时根据记录的io数据绘制散点图;

对所述散点图进行识别,判断所述散点图是否存在明显从散点趋势线跌落的散点:

是,则判定所述散点图所属硬盘存在稳定性跌落;

否,则判定所述硬盘稳定性正常。

进一步的,所述查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果,包括:

判断所述坏块数量是否大于初始坏块数量:

是,则判定所述硬盘稳定性异常;

否,则判定所述硬盘稳定性正常。

第二方面,本发明提供一种硬盘稳定性跌落测试系统,包括:

初始记录单元,配置用于记录硬盘测试前的smart日志中的初始坏块数量;

压力施加单元,配置用于通过fio工具对硬盘持续施加压力;

散点作图单元,配置用于记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图;

坏块校对单元,配置用于查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果。

进一步的,所述压力施加单元包括:

第一施加模块,配置用于在预设时间内向硬盘下发硬盘各块的顺序读参数;

第二施加模块,配置用于在预设时间内向硬盘下发硬盘各块的顺序写参数;

第三施加模块,配置用于在预设时间内向硬盘下发硬盘各块的混合读写参数。

进一步的,所述散点绘制单元包括:

数据记录模块,配置用于记录硬盘在压力持续期间的每秒的io数据;

实时绘制模块,配置用于利用绘制脚本实时根据记录的io数据绘制散点图;

跌落识别模块,配置用于对所述散点图进行识别,判断所述散点图是否存在明显从散点趋势线跌落的散点;

跌落判定模块,配置用于判定所述散点图所属硬盘存在稳定性跌落;

跌落否定模块,配置用于判定所述硬盘稳定性正常。

进一步的,所述坏块校对单元包括:

数量判断模块,配置用于判断所述坏块数量是否大于初始坏块数量;

异常判定模块,配置用于判定所述硬盘稳定性异常;

正常判定模块,配置用于判定所述硬盘稳定性正常。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

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

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的硬盘稳定性跌落测试方法、系统、终端及存储介质,通过利用fio工具对硬盘施加压力,并以秒为单位记录硬盘的fio读写,生成散点图,散点图可以直观的反应出硬盘有无跌落情况。同时对比测试前后硬盘的坏块数量是否一致,若坏块数量在测试后增多,说明硬盘稳定性测试未通过。本发明操作简便,具有较强易用性,程序中各模块之间结构清晰,便于维护。从程序运行后生成的散点图可以快速的判断有无跌落情况,实现了硬盘稳定性的检测确认。同时该测试程序能够实现多块hdd同时跑脚本验证稳定性,跑起脚本后,不需要人为参与,既减少了大量人力的投入,又能避免人工操作中造成的误操作,提高了测试结果的准确性,也提高了测试的效率。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

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

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的方法的散点图。

图3是本发明一个实施例的系统的示意性框图。

图4为本发明实施例提供的一种终端的结构示意图。

具体实施方式

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

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种硬盘稳定性跌落测试系统。

如图1所示,该方法100包括:

步骤110,记录硬盘测试前的smart日志中的初始坏块数量;

步骤120,通过fio工具对硬盘持续施加压力;

步骤130,利用iostat-xm1记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图;

步骤140,查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果。

可选地,作为本发明一个实施例,所述通过fio工具对硬盘持续施加压力,包括:

在预设时间内向硬盘下发硬盘各块的顺序读参数;

在预设时间内向硬盘下发硬盘各块的顺序写参数;

在预设时间内向硬盘下发硬盘各块的混合读写参数。

可选地,作为本发明一个实施例,所述利用iostat-xm1记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图,包括:

记录硬盘在压力持续期间的每秒的io数据;

利用绘制脚本实时根据记录的io数据绘制散点图;

对所述散点图进行识别,判断所述散点图是否存在明显从散点趋势线跌落的散点:

是,则判定所述散点图所属硬盘存在稳定性跌落;

否,则判定所述硬盘稳定性正常。

可选地,作为本发明一个实施例,所述查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果,包括:

判断所述坏块数量是否大于初始坏块数量:

是,则判定所述硬盘稳定性异常;

否,则判定所述硬盘稳定性正常。

为了便于对本发明的理解,下面以本发明硬盘稳定性跌落测试方法的原理,结合实施例中对硬盘稳定性进行跌落测试的过程,对本发明提供的硬盘稳定性跌落测试方法做进一步的描述。

具体的,所述硬盘稳定性跌落测试方法包括:

s1、记录硬盘测试前的smart日志中的初始坏块数量。

满配置硬盘在对应的机型上,不同机型可能硬盘满配数量不一样,因此测试前记录smart熟悉值坏块数量,作为后续比对的基础,标记为初始坏块数量。

s2、通过fio工具对硬盘持续施加压力。

硬盘下的各个数据块有大有小,顺序读表示向磁盘下发读数据指令,按照数据块由大到小依次读各存储块的数据,顺序写指按照数据块由大到小的排序依次向数据块写入数据。顺序混合读写是指各数据块按照由大到小的顺序同时执行读数据和写入数据。

以大块io压力下验证为例,通过fio工具,分别下发大io顺序读(bs=1m;qd=32,job=1,libaio);通过fio工具,下发大io顺序写(bs=1m;qd=32,job=1,libaio);通过fio工具,下发大io混合读写(bs=1m;qd=32,job=1,libaio,rwmixread=50)。每种压力施加类型持续12h。相邻两种类型之间间隔10秒。

利用压力脚本调用fio工具施加压力,在root用户下,直接执行如下命令:./satahdd.sh脚本运行后将自动执行顺序写、顺序读、顺序混合各12h,相邻2个程序间隔10秒。如下为跑完12h的读测试,接着跑12h的写测试。脚本内容如下:

fio下发顺序读、顺序写、顺序混合程序部分代码

s3、利用iostat-xm1记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图。

在步骤s2施加压力过程中,利用iostat-xm1记录每个磁盘每秒的io数据,各持续12小时,根据io数据对每个磁盘的iops和带宽自动绘出散点图,其中当一个压力施加类型结束后,会间隔10秒再进行下一个压力施加程序。在间隔的10秒内,io大幅度瞬间回落,作图脚本随机将完成的压力施加类型对应的散点图输出,并标记压力施加类型和所属硬盘块。

绘制散点图部分代码如下:

对得到的散点图进行图像识别,将严重偏离散点趋势线的散点群标记出来,若散点图中存在严重偏离散点趋势线的散点群,则生成硬盘稳定性跌落提示。标记的散点图为测试人员后续的数据分析提供了便利。存在散点群跌落的散点图如图2所示。

s4、查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果。

查询每次io完成后的fio输出是否有错误,再次查询每个盘smart日志,观察是否有坏块增加。

如图3示,该系统300包括:

初始记录单元310,配置用于记录硬盘测试前的smart日志中的初始坏块数量;

压力施加单元320,配置用于通过fio工具对硬盘持续施加压力;

散点作图单元330,配置用于利用iostat-xm1记录硬盘在压力持续过程中的io数据,并根据所述io数据生成散点图,输出所述散点图;

坏块校对单元340,配置用于查询硬盘smart日志中的坏块数量,并将所述坏块数量与初始坏块数量进行比对,得到并输出比对结果。

可选地,作为本发明一个实施例,所述压力施加单元包括:

第一施加模块,配置用于在预设时间内向硬盘下发硬盘各块的顺序读参数;

第二施加模块,配置用于在预设时间内向硬盘下发硬盘各块的顺序写参数;

第三施加模块,配置用于在预设时间内向硬盘下发硬盘各块的混合读写参数。

可选地,作为本发明一个实施例,所述散点绘制单元包括:

数据记录模块,配置用于记录硬盘在压力持续期间的每秒的io数据;

实时绘制模块,配置用于利用绘制脚本实时根据记录的io数据绘制散点图;

跌落识别模块,配置用于对所述散点图进行识别,判断所述散点图是否存在明显从散点趋势线跌落的散点;

跌落判定模块,配置用于判定所述散点图所属硬盘存在稳定性跌落;

跌落否定模块,配置用于判定所述硬盘稳定性正常。

可选地,作为本发明一个实施例,所述坏块校对单元包括:

数量判断模块,配置用于判断所述坏块数量是否大于初始坏块数量;

异常判定模块,配置用于判定所述硬盘稳定性异常;

正常判定模块,配置用于判定所述硬盘稳定性正常。

图4为本发明实施例提供的一种终端系统400的结构示意图,该终端系统400可以用于执行本发明实施例提供的硬盘稳定性跌落测试方法。

其中,该终端系统400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。

处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本发明通过利用fio工具对硬盘施加压力,并以秒为单位记录硬盘的fio读写,生成散点图,散点图可以直观的反应出硬盘有无跌落情况。同时对比测试前后硬盘的坏块数量是否一致,若坏块数量在测试后增多,说明硬盘稳定性测试未通过。本发明操作简便,具有较强易用性,程序中各模块之间结构清晰,便于维护。从程序运行后生成的散点图可以快速的判断有无跌落情况,实现了硬盘稳定性的检测确认。同时该测试程序能够实现多块hdd同时跑脚本验证稳定性,跑起脚本后,不需要人为参与,既减少了大量人力的投入,又能避免人工操作中造成的误操作,提高了测试结果的准确性,也提高了测试的效率,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

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

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

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

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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