本发明涉及计算机
技术领域:
:,尤其涉及一种硬盘自动化检测方法。
背景技术:
::硬盘是服务器生产过程中使用量最大的一类部件,现有的服务器厂商对硬盘进行测试主要包括人工手动测试和通过自动化脚本进行一组多块硬盘的测试,其中,前者是测试人员直接查看smart(self-monitoringanalysisandreportingtechnology,自我监控分析及报告技术)信息,利用smartctl工具手动长短测试,其中,smart是一种自动的硬盘状态监测与预警系统和规范,smartctl是类unix系统下实施smart任务命令行工具,用于打印smart自检和错误日志,启用并禁用smart自动检测,以及初始化设备自检;后者是测试人员在服务器中编写自动化脚本进行一组多块硬盘测试。但是人工手动测试硬盘只能进行单硬盘测试,且费时费力;当被测硬盘数量很大时,利用自动化脚本进行硬盘测试也比较费时费力,测试效率低下。随着服务器市场规模的不断扩大,维持原有的硬盘检测技术已经渐渐无法满足市场需求,由此可见,硬盘的自动化测试需求也越来越明显,因此,需要设计一种能够自动化连续检测硬盘的方法,这是目前服务器厂商面临的一个急需解决的技术问题。技术实现要素:本发明提供的硬盘自动化检测方法,能够实现单个硬盘测试的自动化,并输出测试结果以便于测试人员根据测试结果判断测试硬盘状态,快速移除测试硬盘并进行测试硬盘添加,从而能够节省硬盘检测时间,提高硬盘检测效率。本发明提供一种硬盘自动化检测方法,包括:生成硬盘信息列表;对当前被测硬盘进行smart信息指标检验,如果所述当前被测硬盘通过smart信息指标检验,则通过抓取所述当前被测硬盘smart信息中的关键字来进行长短测试,否则输出表明所述当前被测硬盘故障的测试结果;如果所述当前被测硬盘通过长短测试,则输出表明所述当前测试硬盘正常的测试结果,否则输出表明所述当前被测硬盘故障的测试结果;移除所述当前被测硬盘,并根据所述硬盘信息列表更换下一个被测硬盘依次进行smart信息指标检验和长短测试,直至完成所述硬盘信息列表中所有硬盘的检测。可选地,所述生成硬盘信息列表包括:利用lsscsi工具获取系统下所有硬盘的硬盘名称,利用smart工具获取各个硬盘的供应商、型号、序列号、接口类型、容量、固件版本号和使用时间,生成硬盘信息列表。可选地,当所述当前被测硬盘完成所述smart信息指标检验和所述长短测试后保存测试日志和测试结果。可选地,在对所述当前被测硬盘进行smart信息指标检验和长短测试过程中,对所述当前被测硬盘进行故障分类。可选地,所述故障分类包括dnr、坏道故障盘、短测试故障盘、长测试故障盘和ntf本发明实施例提供的硬盘自动化检测方法,生成硬盘信息列表;对当前被测硬盘进行smart信息指标检验,如果所述当前被测硬盘通过smart信息指标检验,则通过抓取所述当前被测硬盘smart信息中的关键字来进行长短测试,否则输出表明所述当前被测硬盘故障的测试结果;如果所述当前被测硬盘通过长短测试,则输出表明所述当前测试硬盘正常的测试结果,否则输出表明所述当前被测硬盘故障的测试结果;移除所述当前被测硬盘,并根据所述硬盘信息列表更换下一个被测硬盘依次进行smart信息指标检验和长短测试,直至完成所述硬盘信息列表中所有硬盘的检测。与现有技术相比,本发明能够实现单个硬盘测试的自动化,并输出测试结果以便于测试人员根据测试结果判断测试硬盘状态,快速移除测试硬盘并进行测试硬盘添加,从而能够节省硬盘检测时间,提高硬盘检测效率。附图说明图1为本发明一实施例硬盘自动化检测方法的流程图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供一种硬盘自动化检测方法,如图1所示,所述方法包括:s11、生成硬盘信息列表。s12、对当前被测硬盘进行smart信息指标检验。s13、判断所述当前被测硬盘是否通过smart信息指标检验。如果所述当前被测硬盘通过smart信息指标检验,则执行步骤s14,否则执行步骤s15。s14、通过抓取所述当前被测硬盘smart信息中的关键字来进行长短测试。例如,smart信息中的关键字包括shortoffline和extendedoffline。s15、输出表明所述当前被测硬盘故障的测试结果。s16、判断所述当前被测硬盘是否通过长短测试,如果通过,则执行步骤s17,否则执行步骤s18。s17、输出表明所述当前测试硬盘正常的测试结果。s18、输出表明所述当前被测硬盘故障的测试结果。s19、移除所述当前被测硬盘,并根据所述硬盘信息列表更换下一个被测硬盘,以便于对下一个被测硬盘进行以上测试过程。本发明实施例提供的硬盘自动化检测方法,生成硬盘信息列表;对当前被测硬盘进行smart信息指标检验,如果所述当前被测硬盘通过smart信息指标检验,则通过抓取所述当前被测硬盘smart信息中的关键字来进行长短测试,否则输出表明所述当前被测硬盘故障的测试结果;如果所述当前被测硬盘通过长短测试,则输出表明所述当前测试硬盘正常的测试结果,否则输出表明所述当前被测硬盘故障的测试结果;移除所述当前被测硬盘,并根据所述硬盘信息列表更换下一个被测硬盘依次进行smart信息指标检验和长短测试,直至完成所述硬盘信息列表中所有硬盘的检测。与现有技术相比,本发明能够实现单个硬盘测试的自动化,并输出测试结果以便于测试人员根据测试结果判断测试硬盘状态,快速移除测试硬盘并进行测试硬盘添加,从而能够节省硬盘检测时间,提高硬盘检测效率。可选地,所述生成硬盘信息列表包括:利用lsscsi工具获取系统下所有硬盘的硬盘名称,利用smart工具获取各个硬盘的供应商、型号、序列号、接口类型、容量、固件版本号和使用时间,生成硬盘信息列表。如表1和表2所示分别为sas盘和sata盘的smart信息检验指标列表。表1指标标准smarthealthstatus非ok,坏道elementsingrowndefectlist>0,坏道readuncorrectederrors>0,坏道writeuncorrectederrors>0,坏道verifyuncorrectederrors>0,坏道non-mediumerrorcount>0,无坏道,判定为链路问题invaliddwordcount>0,无坏道,判定为链路问题runningdisparityerrorcount>0,无坏道,判定为链路问题lossofdwordsynchronization>0,无坏道,判定为链路问题phyresetproblem>0,无坏道,判定为链路问题表2指标标准smart指标出现failing_now或in_the_past字段,故障reallocated_sector_ctraw_value值非0,坏道current_pending_sectorraw_value值非0,坏道reported_uncorrectraw_value值非0,坏道offline_uncorrectableraw_value值非0,坏道end-to-end_errorraw_value值非0,无坏道,判定为链路问题udma_crc_error_countraw_value值非0,无坏道,判定为链路问题其中,所述lsscsi工具是linux系统查看硬件信息的命令,通过运行这个命令可以列出像硬盘和光驱等设备的信息。可选地,当所述当前被测硬盘完成所述smart信息指标检验和所述长短测试后保存测试日志和测试结果。可选地,在对所述当前被测硬盘进行smart信息指标检验和长短测试过程中,对所述当前被测硬盘进行故障分类。其中,所述故障分类包括dnr、坏道故障盘、短测试故障盘、长测试故障盘和ntf。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页12当前第1页12