CN112416670B - 硬盘测试方法、装置、服务器和存储介质 - Google Patents

硬盘测试方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN112416670B
CN112416670B CN202011257798.XA CN202011257798A CN112416670B CN 112416670 B CN112416670 B CN 112416670B CN 202011257798 A CN202011257798 A CN 202011257798A CN 112416670 B CN112416670 B CN 112416670B
Authority
CN
China
Prior art keywords
hard disk
tested
test
check error
access check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011257798.XA
Other languages
English (en)
Other versions
CN112416670A (zh
Inventor
许飞
秦晓宁
魏冰清
颜顺鹏
刘国华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nettrix Information Industry Beijing Co Ltd
Original Assignee
Nettrix Information Industry Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nettrix Information Industry Beijing Co Ltd filed Critical Nettrix Information Industry Beijing Co Ltd
Priority to CN202011257798.XA priority Critical patent/CN112416670B/zh
Publication of CN112416670A publication Critical patent/CN112416670A/zh
Application granted granted Critical
Publication of CN112416670B publication Critical patent/CN112416670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种硬盘测试方法、装置、服务器和存储介质。所述方法包括:根据待测硬盘的类型确定对应的负载模型,并采用所述负载模型对所述待测硬盘进行多个测试场景的压力测试;其中,所述负载模型包括多种测试场景对应的测试参数文件;在所述压力测试过程中,获取每个测试场景下所述待测硬盘的实际访问校验错误计数;根据每个测试场景下所述待测硬盘的实际访问校验错误计数与所述待测硬盘预设访问校验错误计数,确定每个测试场景下所述待测硬盘的链路状态。采用本方法便于确定异常所对应的具体测试场景,以定位待测硬盘与服务器之间的链路状态的异常点位置,有利于后续分析异常原因。

Description

硬盘测试方法、装置、服务器和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种硬盘测试方法、装置、服务器和存储介质。
背景技术
随着计算机领域技术的不断发展,硬盘作为承载数据存储,进行数据交换的重要设备,被广泛地应用于服务器中。
为了保证服务器的可靠运行,需要对服务器中连接的硬盘进行测试。传统的硬盘测试通常采用压力测试的方法,在同一测试条件下,通过对硬盘进行实际的读或写操作,测试硬盘的性能。其中,若该硬盘成功完成了实际的读或写操作,则确定该硬盘与服务器之间的链路状态正常;若该硬盘无法完成实际的读或写操作,则确定该硬盘与服务器之间的链路状态异常。
然而,传统的硬盘测试只注重测试结果,无法定位硬盘与服务器之间的链路状态的异常点位置。
发明内容
基于此,有必要针对上述技术问题,提供一种硬盘测试方法、装置、服务器和存储介质。
一种硬盘测试方法,包括:
根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;
在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;
根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
本实施例中,服务器根据待测硬盘的类型确定该待测硬盘对应的负载模型,由于负载模型中包括了多种测试场景对应的测试参数文件,因此在压力测试过程中,服务器可以获取到每个测试场景下待测硬盘的实际访问校验错误计数,从而可以根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定出每个测试场景下待测硬盘的链路状态,进而使得服务器可以明确获知待测硬盘是在哪一个测试场景下出现的异常,便于服务器定位待测硬盘与服务器之间的链路状态的异常点位置,有利于后续分析异常原因;同时,又由于本实施例中可以根据待测硬盘的类型确定出与该待测硬盘对应的负载模型,使得在测试待测硬盘时所使用的负载模型更加适配于对应类型的待测硬盘,提高测试的兼容性;另外,又由于采用负载模型中的多个测试参数文件对待测硬盘进行对应多个测试场景的压力测试,对于待测硬盘实现不同测试场景的统一测试,避免了每次增加测试场景时都需要人为增加/修改测试条件的重复工作,提升了测试效率。
在其中一个实施例中,在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数,包括:
采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试;其中,每种测试场景对应预设的测试时长;
在每个测试场景对应的测试过程中,以预设周期获取测试过程中的实际访问校验错误计数;其中,预设周期的时长小于测试时长。
在其中一个实施例中,在每个测试场景对应的测试过程中,以预设周期获取测试过程中的实际访问校验错误计数,包括:
在每个测试场景对应的测试过程中,以预设周期获取通过smartctl工具获取待测硬盘的SMART信息;其中,SMART信息包括实际访问校验错误计数。
本实施例中,服务器采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试,在每个测试场景对应的测试过程中,以小于测试场景对应预设的测试时长的预设周期获取待测硬盘的实际访问校验错误计数,设置预设周期的时长小于测试时长,确保了在每一测试场景中均能获取到实际访问校验错误计数,进而提高了获取待测硬盘的实际访问校验错误计数的准确性,同时便于后续根据每一测试场景下的实际访问校验错误计数确定对应测试场景下待测硬盘的链路状态,进而确定出待测硬盘异常时所对应的具体测试场景,提高了待测硬盘异常定位的准确性。
在其中一个实施例中,根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态,包括:
比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小;
若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路异常;
若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路正常。
本实施例中,服务器通过比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小,根据比较结果确定每个测试场景下待测硬盘的链路状态,采用实际访问校验错误计数相对于预设访问校验错误计数的变化情况可准确判定对待测硬盘进行读写操作的过程中是否发生错误,以确定待测硬盘与服务器之间的链路状态,提高了待测硬盘与服务器之间链路状态检测的准确性,并且预设访问校验错误计数可从待测硬盘的SMART信息中直接提取,无需重复检测获取,提高了链路状态的检测效率。
在其中一个实施例中,若待测硬盘为机械硬盘,对应的负载模型则为对待测硬盘进行第一数据吞吐量的有序顺序读写的机械硬盘负载模型;
若待测硬盘为固态硬盘,对应的负载模型则为对待测硬盘进行第二数据吞吐量的随机顺序读写的固态硬盘负载模型;其中,第一数据吞吐量大于第二数据吞吐量。
在其中一个实施例中,根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试之前,还包括:
获取通过smartctl工具对待测硬盘进行检测得到的SMART信息;
在SMART信息中提取待测硬盘的类型和预设访问校验错误计数。
本实施例中,服务器在进行硬盘测试的过程中获取预设访问校验错误计数,具体在对待测硬盘进行压力测试前,服务器提取通过smartctl工具得到的SMART信息中的待测硬盘的类型以及预设访问校验错误计数,将该预设访问校验错误计数作为后续进行链路状态判断的比较依据,考虑了进行压力测试前的数据干扰,提高了后续判断待测硬盘与服务器之间链路状态的准确性。
在其中一个实施例中,待测硬盘为SATA硬盘。
一种硬盘测试装置,包括:
压力测试模块,用于根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;
计数获取模块,用于在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;
状态确定模块,用于根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
一种服务器,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;
在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;
根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;
在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;
根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
上述硬盘测试方法、装置、服务器和存储介质,服务器通过根据待测硬盘的类型确定该待测硬盘对应的负载模型,由于负载模型中包括了多种测试场景对应的测试参数文件,因此在压力测试过程中,服务器可以获取到每个测试场景下待测硬盘的实际访问校验错误计数,从而可以根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定出每个测试场景下待测硬盘的链路状态,进而使得服务器可以明确获知待测硬盘是在哪一个测试场景下出现的异常,便于服务器定位待测硬盘与服务器之间的链路状态的异常点位置,有利于后续分析异常原因;同时,又由于本实施例中可以根据待测硬盘的类型确定出与该待测硬盘对应的负载模型,使得在测试待测硬盘时所使用的负载模型更加适配于对应类型的待测硬盘,提高测试的兼容性;又由于采用负载模型中的多个测试参数文件对待测硬盘进行对应多个测试场景的压力测试,对于待测硬盘实现不同测试场景的统一测试,避免了每次增加测试场景时都需要人为增加/修改测试条件的重复工作,提升了测试效率。
附图说明
图1为一个实施例中硬盘测试方法的流程示意图;
图2为一个实施例中获取实际访问校验错误计数的流程示意图;
图3为一个实施例中确定待测硬盘的链路状态方法的流程示意图;
图4为一个实施例中获取预设访问校验错误计数的流程示意图;
图5为另一个实施例中硬盘测试方法的流程示意图;
图6为一个实施例中硬盘测试装置的结构框图;
图7为一个实施例中服务器的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种硬盘测试方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,该方法包括以下步骤:
S110、根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试。
其中,负载模型包括多种测试场景对应的测试参数文件。
可选地,待测硬盘的类型包括HDD(Hard Disk Drive,机械硬盘)和SSD(SolidState Drive,固态硬盘)。不同类型的待测硬盘具有不同特性,需采用不同的测试条件即负载模型进行硬盘压力测试。若待测硬盘的类型为HDD,则采用相应的机械硬盘负载模型进行压力测试,机械硬盘负载模型用于对待测硬盘进行较大数据吞吐量的有序顺序读写。若待测硬盘的类型为SSD,则采用相应的固态硬盘负载模型进行压力测试,固态硬盘负载模型用于对待测硬盘进行较小数据吞吐量的随机顺序读写。
可选地,服务器获取与服务器连接的待测硬盘的硬盘标识,根据硬盘标识确定待测硬盘的类型。硬盘标识可以是待测硬盘的型号。
具体地,服务器根据待测硬盘的硬盘标识确定待测硬盘的类型,根据类型确定对应的负载模型,并采用该对应的负载模型对待测硬盘进行压力测试。例如,服务器根据待测硬盘的硬盘标识确定该待测硬盘为HDD,则采用HDD对应的机械硬盘负载模型对该待测硬盘进行压力测试。并且,对应负载模型中包括不同测试参数文件,每一测试参数文件对应一种测试场景,以通过负载模型对待测硬盘进行多个测试场景下的压力测试。可选地,不同测试参数可以是进行压力测试的数据吞吐量不同。
S120、在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数。
其中,实际访问校验错误计数是待测硬盘在实际读取过程中出现的物理链路层面的错误次数,包括硬盘数据读取,数据连线,数据接口等方面出现的被CRC(CyclicRedundancy Check,循环冗余)校验发现的错误。
可选的,本实施例中的待测硬盘可以为SATA硬盘(Serial ATA,串口硬盘),还可以为其他类型的硬盘,本实施例对硬盘的类型并不做限定。服务器在进行压力测试的每个测试场景对应的测试过程中,获取由smartctl工具抓取得到的待测硬盘在每个测试场景下的SMART(Self-Monitoring Analysis And Reporting Technology,自我监控分析与报告技术)信息,从中提取待测硬盘的实际访问校验错误计数(Ultra ATA)。
可选地,可预设每一测试场景的测试时长,服务器根据每一测试场景的测试时长在每一测试场景执行完测试任务时,提取待测硬盘SMART信息中的实际访问校验错误计数。
S130、根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
其中,预设访问校验错误计数为在对待测硬盘进行压力测试前预先得到的待测硬盘的访问校验错误计数。
可选地,在待测硬盘为未被使用过的硬盘或者计数初始化清零后的硬盘时,预设访问校验数据可以是预先设定的固定数据。例如,出厂后未被使用的硬盘的预设访问校验错误计数为一数值较小的固定数据,如10;计数初始化清零后的硬盘的预设访问校验错误计数为0。
具体地,服务器可根据每个测试场景下对应待测硬盘的实际访问校验错误计数相对于预设访问校验错误计数的变化情况,确定每个测试场景下待测硬盘的链路状态。若发生变化,则确定对应该测试场景下待测硬盘与服务器之间的链路异常;若未发生变化,则确定对应该测试场景下待测硬盘与服务器之间的链路正常。
本实施例中,服务器根据待测硬盘的类型确定该待测硬盘对应的负载模型,由于负载模型中包括了多种测试场景对应的测试参数文件,因此在压力测试过程中,服务器可以获取到每个测试场景下待测硬盘的实际访问校验错误计数,从而可以根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘预设的预设访问校验错误计数,确定出每个测试场景下待测硬盘的链路状态,进而使得服务器可以明确获知待测硬盘是在哪一个测试场景下出现的异常,便于服务器定位待测硬盘与服务器之间的链路状态的异常点位置,有利于后续分析异常原因;同时,又由于本实施例中可以根据待测硬盘的类型确定出与该待测硬盘对应的负载模型,使得在测试待测硬盘时所使用的负载模型更加适配于对应类型的待测硬盘,提高测试的兼容性;另外,又由于采用负载模型中的多个测试参数文件对待测硬盘进行对应多个测试场景的压力测试,对于待测硬盘实现不同测试场景的统一测试,避免了每次增加测试场景时都需要人为增加/修改测试条件的重复工作,提升了测试效率。
在一个实施例中,为提高待测硬盘的实际访问校验错误计数的准确性,如图2所示,S120包括:
S210、采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试。
其中,每种测试场景对应预设的测试时长。
可选地,预设的测试时长为根据经验值得出的确保执行完对应测试场景下压力测试的时间长度。
具体地,服务器采用每种测试场景对应的测试参数文件对待测硬盘与服务器之间的链路进行压力测试,每种测试场景对应预设的测试时长。可选地,该预设的时长可以相同,也可以不同。例如,机械硬盘负载模型包括5种不同数据吞吐量的测试参数文件,测试参数文件1对应预设的测试时长t1,测试参数文件2对应预设的测试时长t2…测试参数文件5对应预设的测试时长t5,t1~t5为根据对应测试场景得到的时间长度。
S210、在每个测试场景对应的测试过程中,以预设周期获取测试过程中的实际访问校验错误计数。
其中,预设周期的时长小于测试时长。
具体地,服务器在每个测试场景对应的测试过程中,以小于测试时长的预设周期获取测试过程中通过smartctl工具得到的实际访问校验错误计数。例如,预设周期的时长为T,测试场景的测试时长为t,在T≤1/2t时,即在测试场景对应的测试过程中,服务器可获取到至少两个访问校验错误计数,选择这至少两个访问校验错误计数中的最大值作为对应该测试场景的实际访问校验错误计数。在1/2t<T≤t时,即在测试场景对应的测试过程中,服务器可获取到一个访问校验错误计数,则直接以该访问校验错误计数作为对应该测试场景的实际访问校验错误计数。
本实施例中,服务器采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试,在每个测试场景对应的测试过程中,以小于测试场景对应预设的测试时长的预设周期获取待测硬盘的实际访问校验错误计数,设置预设周期的时长小于测试时长,确保在每一测试场景中均能获取到实际访问校验错误计数,进而提高了获取待测硬盘的实际访问校验错误计数的准确性,同时便于后续根据每一测试场景下的实际访问校验错误计数确定对应测试场景下待测硬盘的链路状态,进而确定出待测硬盘异常时所对应的具体测试场景,提高了待测硬盘异常定位的准确性。
在一个实施例中,为进一步提高待测硬盘与服务器之间链路状态检测的准确性和效率,如图3所示,S130包括:
S310、比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小。
S320、根据比较结果确定每个测试场景下待测硬盘的链路状态。
具体地,服务器将得到的每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小进行比较。可选的,若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,服务器则确定对应测试场景下待测硬盘与服务器之间的链路状态异常;若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,服务器则确定对应测试场景下待测硬盘与服务器之间的链路正常。
本实施例中,服务器通过比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小,根据比较结果确定每个测试场景下待测硬盘的链路状态,采用实际访问校验错误计数相对于预设访问校验错误计数的变化情况可准确判定对待测硬盘进行读写操作的过程中是否发生错误,以确定待测硬盘与服务器之间的链路状态,提高了待测硬盘与服务器之间链路状态检测的准确性,并且预设访问校验错误计数可从待测硬盘的SMART信息中直接提取,无需重复检测获取,提高了链路状态的检测效率。
在一个实施例中,预设访问校验错误计数可以在进行硬盘测试时获取,如图4所示,在S110之前,上述硬盘测试方法还包括:
S410、获取通过smartctl工具对待测硬盘进行检测得到的SMART信息。
S420、在SMART信息中提取待测硬盘的类型和预设访问校验错误计数。
其中,SMART信息为支持硬盘自检功能的待测硬盘能对自身的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路等进行监测,及时分析并预报硬盘可能发生的问题,得到的检测数据。
具体地,服务器在对待测硬盘进行压力测试前,获取待测硬盘采用smartctl工具对硬盘自身进行硬件检测得到的SMART信息,并从中提取待测硬盘的类型以及预设访问校验错误计数。
本实施例中,服务器在进行硬盘测试的过程中获取预设访问校验错误计数,具体在对待测硬盘进行压力测试前,服务器提取通过smartctl工具得到的SMART信息中的待测硬盘的类型以及预设访问校验错误计数,将该预设访问校验错误计数作为后续进行链路状态判断的比较依据,考虑了进行压力测试前的数据干扰,提高了后续判断待测硬盘与服务器之间链路状态的准确性。
在一个实施例中,如图5所示,提供了一种硬盘测试方法,本实施例以该方法应用于服务器,待测硬盘为SATA硬盘进行举例说明,该方法包括:
S510、获取通过smartctl工具对待测硬盘进行检测得到的SMART信息。
S520、在SMART信息中提取待测硬盘的类型和预设访问校验错误计数。
S530、根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件。
S540、采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试;其中,每种测试场景对应预设的测试时长。
S550、在每个测试场景对应的测试过程中,以预设周期获取通过smartctl工具得到的待测硬盘的SMART信息;其中,SMART信息包括实际访问校验错误计数,预设周期的时长小于测试时长。
S560、比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小。
S570、若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路异常;若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路正常。
具体地,待测硬盘中的smartctl工具对自身进行检测得到SMART信息,服务器获取SMART信息,并从中提取待测硬盘的类型和预设访问校验错误计数。服务器根据提取得到的待测硬盘的类型确定该待测硬盘对应的负载模型,对应负载模型中包括不同测试参数文件,每一测试参数文件对应一种测试场景,每种测试场景对应预设的测试时长,采用负载模型对待测硬盘进行多个测试场景下的压力测试。服务器在进行压力测试的每个测试场景对应的测试过程中,以小于测试场景对应预设的测试时长的预设周期获取由smartctl工具抓取得到的待测硬盘在每个测试场景下的SMART信息,并从中提取待测硬盘的实际访问校验错误计数,比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小,根据比较结果确定每个测试场景下待测硬盘的链路状态。其中,若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,服务器则确定对应测试场景下待测硬盘与服务器之间的链路状态异常;若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,服务器则确定对应测试场景下待测硬盘与服务器之间的链路正常。通过上述方法,便于服务器定位待测硬盘与服务器之间的链路状态的异常点位置,有利于后续分析异常原因。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种硬盘测试装置,包括:压力测试模块601、计数获取模块602和状态确定模块603,其中:
压力测试模块601用于根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;
计数获取模块602用于在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;
状态确定模块603用于根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
在其中一个实施例中,压力测试模块601具体用于:
采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试;其中,每种测试场景对应预设的测试时长;在每个测试场景对应的测试过程中,以预设周期获取测试过程中的实际访问校验错误计数;其中,预设周期的时长小于测试时长。
在其中一个实施例中,压力测试模块601具体用于:
在每个测试场景对应的测试过程中,以预设周期获取通过smartctl工具得到的待测硬盘的SMART信息;其中,SMART信息包括访实际问校验错误计数。
在其中一个实施例中,状态确定模块603具体用于:
比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小;
若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路异常;若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路正常。
在其中一个实施例中,若待测硬盘为机械硬盘,对应的负载模型则为对待测硬盘进行第一数据吞吐量的有序顺序读写的机械硬盘负载模型;
若待测硬盘为固态硬盘,对应的负载模型则为对待测硬盘进行第二数据吞吐量的随机顺序读写的固态硬盘负载模型;其中,第一数据吞吐量大于第二数据吞吐量。
在其中一个实施例中,还包括:初始计数获取模块;
初始计数获取模块用于获取通过smartctl工具对待测硬盘进行检测得到的SMART信息;在SMART信息中提取待测硬盘的类型和预设访问校验错误计数。
在其中一个实施例中,待测硬盘为SATA硬盘。
关于硬盘测试装置的具体限定可以参见上文中对于硬盘测试方法的限定,在此不再赘述。上述硬盘测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于服务器中的处理器中,也可以以软件形式存储于服务器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种服务器,其内部结构图可以如图7所示。该服务器包括通过系统总线连接的处理器、存储器和网络接口。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器的数据库用于存储硬盘测试数据。该服务器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种硬盘测试方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种服务器,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试;其中,每种测试场景对应预设的测试时长;在每个测试场景对应的测试过程中,以预设周期获取测试过程中的实际访问校验错误计数;其中,预设周期的时长小于测试时长。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在每个测试场景对应的测试过程中,以预设周期获取通过smartctl工具得到的待测硬盘的SMART信息;其中,SMART信息包括访问实际校验错误计数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小;
若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路异常;若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路正常。
在其中一个实施例中,若待测硬盘为机械硬盘,对应的负载模型则为对待测硬盘进行第一数据吞吐量的有序顺序读写的机械硬盘负载模型;
若待测硬盘为固态硬盘,对应的负载模型则为对待测硬盘进行第二数据吞吐量的随机顺序读写的固态硬盘负载模型;其中,第一数据吞吐量大于第二数据吞吐量。
在一个实施例中,根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试之前,处理器执行计算机程序时还实现以下步骤:
获取通过smartctl工具对待测硬盘进行检测得到的SMART信息;在SMART信息中提取待测硬盘的类型和预设访问校验错误计数。
在其中一个实施例中,待测硬盘为SATA硬盘。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试;其中,负载模型包括多种测试场景对应的测试参数文件;在压力测试过程中,获取每个测试场景下待测硬盘的实际访问校验错误计数;根据每个测试场景下待测硬盘的实际访问校验错误计数与待测硬盘的预设访问校验错误计数,确定每个测试场景下待测硬盘的链路状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
采用每种测试场景对应的测试参数文件,对待测硬盘的链路进行测试;其中,每种测试场景对应预设的测试时长;在每个测试场景对应的测试过程中,以预设周期获取测试过程中的实际访问校验错误计数;其中,预设周期的时长小于测试时长。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在每个测试场景对应的测试过程中,以预设周期获取通过smartctl工具得到的待测硬盘的SMART信息;其中,SMART信息包括实际访问校验错误计数。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
比较每个测试场景下待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小;
若待测硬盘的实际访问校验错误计数大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路异常;若待测硬盘的实际访问校验错误计数不大于预设访问校验错误计数,则确定对应测试场景下待测硬盘的链路正常。
在其中一个实施例中,若待测硬盘为机械硬盘,对应的负载模型则为对待测硬盘进行第一数据吞吐量的有序顺序读写的机械硬盘负载模型;
若待测硬盘为固态硬盘,对应的负载模型则为对待测硬盘进行第二数据吞吐量的随机顺序读写的固态硬盘负载模型;其中,第一数据吞吐量大于第二数据吞吐量。
在一个实施例中,根据待测硬盘的类型确定对应的负载模型,并采用负载模型对待测硬盘进行多个测试场景的压力测试之前,计算机程序被处理器执行时还实现以下步骤:
获取通过smartctl工具对待测硬盘进行检测得到的SMART信息;在SMART信息中提取待测硬盘的类型和预设访问校验错误计数。
在其中一个实施例中,待测硬盘为SATA硬盘。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种硬盘测试方法,其特征在于,所述方法包括:
根据待测硬盘的类型确定对应的负载模型,并采用所述负载模型对所述待测硬盘进行多个测试场景的压力测试;其中,所述负载模型包括多种测试场景对应的测试参数文件;
在所述压力测试过程中,获取每个测试场景下所述待测硬盘的实际访问校验错误计数;
比较每个测试场景下所述待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小;
若所述待测硬盘的实际访问校验错误计数大于所述预设访问校验错误计数,则确定对应所述测试场景下所述待测硬盘的链路异常;
若所述待测硬盘的实际访问校验错误计数不大于所述预设访问校验错误计数,则确定对应所述测试场景下所述待测硬盘的链路正常。
2.根据权利要求1所述的方法,其特征在于,所述在所述压力测试过程中,获取每个测试场景下所述待测硬盘的实际访问校验错误计数,包括:
采用每种测试场景对应的测试参数文件,对所述待测硬盘的链路进行测试;其中,每种测试场景对应预设的测试时长;
在每个测试场景对应的测试过程中,以预设周期获取所述测试过程中的实际访问校验错误计数;其中,所述预设周期的时长小于所述测试时长。
3.根据权利要求2所述的方法,其特征在于,所述在每个测试场景对应的测试过程中,以预设周期获取所述测试过程中的实际访问校验错误计数,包括:
在每个测试场景对应的测试过程中,以所述预设周期获取通过smartctl工具得到的所述待测硬盘的SMART信息;其中,所述SMART信息包括所述实际访问校验错误计数。
4.根据权利要求1所述的方法,其特征在于,所述根据待测硬盘的类型确定对应的负载模型,包括:
若所述待测硬盘为机械硬盘,对应的负载模型则为对待测硬盘进行第一数据吞吐量的有序顺序读写的机械硬盘负载模型;
若所述待测硬盘为固态硬盘,对应的负载模型则为对待测硬盘进行第二数据吞吐量的随机顺序读写的固态硬盘负载模型;其中,所述第一数据吞吐量大于所述第二数据吞吐量。
5.根据权利要求1所述的方法,其特征在于,所述根据待测硬盘的类型确定对应的负载模型,并采用所述负载模型对所述待测硬盘进行多个测试场景的压力测试之前,还包括:
获取通过smartctl工具对所述待测硬盘进行检测得到的SMART信息;
在所述SMART信息中提取所述待测硬盘的类型和所述预设访问校验错误计数。
6.根据权利要求1~4中任一项所述的方法,其特征在于,所述待测硬盘为SATA硬盘。
7.一种硬盘测试装置,其特征在于,所述装置包括:
压力测试模块,用于根据待测硬盘的类型确定对应的负载模型,并采用所述负载模型对所述待测硬盘进行多个测试场景的压力测试;其中,所述负载模型包括多种测试场景对应的测试参数文件;
计数获取模块,用于在所述压力测试过程中,获取每个测试场景下所述待测硬盘的实际访问校验错误计数;
状态确定模块,用于比较每个测试场景下所述待测硬盘的实际访问校验错误计数与预设访问校验错误计数的大小;若所述待测硬盘的实际访问校验错误计数大于所述预设访问校验错误计数,则确定对应所述测试场景下所述待测硬盘的链路异常;若所述待测硬盘的实际访问校验错误计数不大于所述预设访问校验错误计数,则确定对应所述测试场景下所述待测硬盘的链路正常。
8.一种服务器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202011257798.XA 2020-11-12 2020-11-12 硬盘测试方法、装置、服务器和存储介质 Active CN112416670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011257798.XA CN112416670B (zh) 2020-11-12 2020-11-12 硬盘测试方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011257798.XA CN112416670B (zh) 2020-11-12 2020-11-12 硬盘测试方法、装置、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN112416670A CN112416670A (zh) 2021-02-26
CN112416670B true CN112416670B (zh) 2024-02-09

Family

ID=74782324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011257798.XA Active CN112416670B (zh) 2020-11-12 2020-11-12 硬盘测试方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN112416670B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760622A (zh) * 2021-09-09 2021-12-07 惠州佰维存储科技有限公司 载具的使用均衡方法、装置、可读存储介质及电子设备
CN113903368B (zh) * 2021-10-15 2023-07-14 成都芯盛集成电路有限公司 一种盘片自动化测试方法、装置、设备及存储介质
CN116775396B (zh) * 2023-08-18 2023-11-07 安擎计算机信息股份有限公司 一种服务器的硬盘的压力测试方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189309B1 (en) * 2013-09-25 2015-11-17 Emc Corporation System and method for predicting single-disk failures
CN105260279A (zh) * 2015-11-04 2016-01-20 四川效率源信息安全技术股份有限公司 基于smart数据动态诊断硬盘故障的方法和装置
CN105760262A (zh) * 2015-11-30 2016-07-13 浪潮电子信息产业股份有限公司 一种基于linux下dc和reboot交叉验证硬盘稳定性的方法
US9459930B1 (en) * 2011-10-27 2016-10-04 Amazon Technologies, Inc. Distributed complementary workload scheduling
CN110764949A (zh) * 2019-09-29 2020-02-07 北京浪潮数据技术有限公司 硬盘更换方法、硬盘更换装置、硬盘更换设备及存储介质
CN111209148A (zh) * 2019-12-31 2020-05-29 苏州浪潮智能科技有限公司 一种服务器存储稳定性的测试方法及系统
CN111625407A (zh) * 2020-05-22 2020-09-04 苏州浪潮智能科技有限公司 Ssd性能测试方法及相关组件

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459930B1 (en) * 2011-10-27 2016-10-04 Amazon Technologies, Inc. Distributed complementary workload scheduling
US9189309B1 (en) * 2013-09-25 2015-11-17 Emc Corporation System and method for predicting single-disk failures
CN105260279A (zh) * 2015-11-04 2016-01-20 四川效率源信息安全技术股份有限公司 基于smart数据动态诊断硬盘故障的方法和装置
CN105760262A (zh) * 2015-11-30 2016-07-13 浪潮电子信息产业股份有限公司 一种基于linux下dc和reboot交叉验证硬盘稳定性的方法
CN110764949A (zh) * 2019-09-29 2020-02-07 北京浪潮数据技术有限公司 硬盘更换方法、硬盘更换装置、硬盘更换设备及存储介质
CN111209148A (zh) * 2019-12-31 2020-05-29 苏州浪潮智能科技有限公司 一种服务器存储稳定性的测试方法及系统
CN111625407A (zh) * 2020-05-22 2020-09-04 苏州浪潮智能科技有限公司 Ssd性能测试方法及相关组件

Also Published As

Publication number Publication date
CN112416670A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112416670B (zh) 硬盘测试方法、装置、服务器和存储介质
CN102568522B (zh) 硬盘性能的测试方法和装置
CN109684140B (zh) 一种慢盘检测方法、装置、设备及计算机可读存储介质
WO2017012392A1 (zh) 一种磁盘检测的方法和装置
CN108536548B (zh) 一种磁盘坏道的处理方法、装置及计算机存储介质
CN104317693A (zh) 一种自动检测硬盘性能波动的方法
CN110992992A (zh) 一种硬盘测试方法、设备以及存储介质
CN108154904A (zh) 一种存储芯片性能的测试方法和装置
CN111653307A (zh) 固态硬盘的数据完整性检测方法、系统、设备及存储介质
CN112466382A (zh) 一种raid阵列的巡检方法和装置
CN102222033B (zh) 一种保存小型计算机系统接口访问错误的方法及装置
CN112069004B (zh) 一种闪存芯片中块读取与页读取换算关系测试方法及系统
CN106648969B (zh) 一种磁盘中损坏数据巡检方法及系统
CN107562593A (zh) 一种验证内存ecc功能的自动化测试方法与系统
CN109582513B (zh) 一种基于通用服务器的jbod测试方法及系统
EP3072046B1 (en) Latency tolerant fault isolation
CN107643877A (zh) 磁盘故障检测方法以及装置
CN101556552A (zh) 基本输入输出系统的测试方法
CN113625957B (zh) 一种硬盘故障的检测方法、装置及设备
CN114356218A (zh) Flash存储器的数据纠错方法、设备以及介质
CN108231134B (zh) Ram良率补救方法及装置
CN110209541B (zh) Linux系统硬盘负载状态下的重启测试方法和装置
CN114356061B (zh) 电源故障检测方法、装置、系统以及检测设备
CN103390429A (zh) 一种硬盘的在线检测方法及服务器
CN214309501U (zh) 汽车组合仪表故障复现系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant