CN113590405A - 硬盘错误的检测方法、装置、存储介质和电子装置 - Google Patents

硬盘错误的检测方法、装置、存储介质和电子装置 Download PDF

Info

Publication number
CN113590405A
CN113590405A CN202110920400.4A CN202110920400A CN113590405A CN 113590405 A CN113590405 A CN 113590405A CN 202110920400 A CN202110920400 A CN 202110920400A CN 113590405 A CN113590405 A CN 113590405A
Authority
CN
China
Prior art keywords
hard disk
error
target
type
information
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.)
Pending
Application number
CN202110920400.4A
Other languages
English (en)
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202110920400.4A priority Critical patent/CN113590405A/zh
Publication of CN113590405A publication Critical patent/CN113590405A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Abstract

本发明实施例提供了一种硬盘错误的检测方法、装置、存储介质和电子装置,其中,该方法包括:提取一个或者多个硬盘错误日志;确定与硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息;展示目标硬盘状态信息。通过本发明,解决了相关技术中存在的对硬盘错误进行检测的检测率较低的问题,进而达到了提高对硬盘错误进行检测的检测率的效果。

Description

硬盘错误的检测方法、装置、存储介质和电子装置
技术领域
本发明实施例涉及计算机领域,具体而言,涉及一种硬盘错误的检测方法、装置、存储介质和电子装置。
背景技术
在目前的对硬盘错误进行检测的技术中,通常的方式都是通过读取硬盘的smart信息中各smart信息项来判断硬盘是否处于告警状态。但是smart信息项的部分内容是不准确的,并且每个硬盘的不同厂家,甚至不同型号对于smart信息值的变动策略都是不同的,存在差异。根据间隔两次smart信息项的变动和预设值为依据来判断硬盘状态的这种方法,会存在检测率很低,误报率很高,检测结果不精准等问题。
针对相关技术中存在的对硬盘错误进行检测的检测率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种硬盘错误的检测方法、装置、存储介质和电子装置,以至少解决相关技术中存在的对硬盘错误进行检测的检测率较低的问题。
根据本发明的一个实施例,提供了一种硬盘错误的检测方法,包括:提取一个或者多个硬盘错误日志;
确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;
根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,所述目标硬盘状态信息用于指示生成所述硬盘错误日志的硬盘所处于的硬盘运行状态;
展示所述目标硬盘状态信息。
在一个示例性实施例中,所述提取一个或者多个硬盘错误日志包括:
在访问硬盘的过程中检测到执行的访问指令发生错误的情况下,获取所述访问指令对应的错误信息,其中,所述错误信息包括:硬盘定位数据,当前时间和错误数据,所述硬盘定位数据包括以下至少之一:硬盘槽位号、序列号、错误命令访问的逻辑扇区号,所述错误数据包括以下至少之一:错误掩码、当前硬盘温度、硬盘已上电时间;
在日志集合中记录所述错误信息所对应的硬盘错误日志;
每隔目标时间从所述日志集合中提取当前所述目标时间内所记录的硬盘错误日志作为所述硬盘错误日志。
在一个示例性实施例中,所述确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型包括:
在所述目标硬盘错误日志中携带了错误掩码的情况下,将所述错误掩码所属于的错误类型确定为所述目标错误类型,其中,所述错误掩码所属于的错误类型包括以下至少之一:总线错误,设备错误,超时错误,物理介质错误;
在所述目标硬盘错误日志中所携带的当前硬盘温度未落入温度阈值范围的情况下,根据所述当前硬盘温度与所述温度阈值范围之间的关系,将过温错误确定为所述目标错误类型,其中,所述过温错误包括:高温错误或者低温错误;
在所述目标硬盘错误日志中所携带的硬盘已上电时间超过时间阈值的情况下,将老化错误确定为所述目标错误类型。
在一个示例性实施例中,根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息包括:
根据具有对应关系的目标硬盘错误日志和目标错误类型,确定硬盘出现错误的原因类型,其中,所述原因类型包括:硬盘原因和非硬盘原因;
根据所述原因类型和所述目标错误类型生成目标告警信息和目标建议信息,得到所述目标硬盘状态信息,其中,所述目标告警信息用于对硬盘错误进行告警,所述目标建议信息用于对消除硬盘错误进行指导。
在一个示例性实施例中,根据具有对应关系的目标硬盘错误日志和目标错误类型,确定硬盘出现错误的原因类型包括:
在所述目标错误类型中包括预设错误类型的情况下,确定预设错误类型对应的硬盘错误日志的所述原因类型为所述硬盘原因,其中,所述预设错误类型包括以下至少之一:设备错误,超时错误,老化错误;
在所述目标错误类型中包括物理介质错误,并且,物理介质错误对应的硬盘错误日志的日志数量落入数量阈值的情况下,确定物理介质错误对应的硬盘错误日志的所述原因类型为所述硬盘原因;
在所述目标错误类型中包括总线错误,或者,过温错误的情况下,确定总线错误对应的硬盘错误日志,或者,过温错误对应的硬盘错误日志的所述原因类型为所述非硬盘原因。
在一个示例性实施例中,根据所述原因类型生成目标告警信息和目标建议信息包括:
在所述原因类型为所述硬盘原因,且,所述目标错误类型为所述预设错误类型或者所述物理介质错误的情况下,生成第一告警信息作为目标告警信息,第一建议信息作为所述目标建议信息,其中,所述第一告警信息用于指示硬盘错误属于所述硬盘原因,所述第一建议信息用于建议提前备份数据并更换硬盘;
在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述总线错误的情况下,生成第二告警信息作为目标告警信息,第二建议信息作为所述目标建议信息,其中,所述第二告警信息用于指示硬盘错误属于所述非硬盘原因,属于物理链路连接问题,所述第二建议信息用于建议插拔硬盘或者更换连接线;
在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述过温错误的情况下,生成第三告警信息作为目标告警信息,第三建议信息作为所述目标建议信息,其中,所述第三告警信息用于指示硬盘错误属于所述非硬盘原因,所述第三建议信息用于建议关注硬盘运行环境是否存在过温。
在一个示例性实施例中,所述提取一个或者多个硬盘错误日志包括:
从硬盘的预留保留扇区中获取告警记录;
在未获取到所述告警记录的情况下,从所记录的硬盘错误日志中提取所述一个或者多个硬盘错误日志;
其中,在获取到所述告警记录的情况下,生成所述告警记录对应的硬盘状态信息,并展示所述告警记录对应的硬盘状态信息。
根据本发明的又一个实施例,还提供了一种硬盘错误的检测装置,包括:提取模块,用于提取一个或者多个硬盘错误日志;
确定模块,用于确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;
生成模块,用于根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,所述目标硬盘状态信息用于指示生成所述硬盘错误日志的硬盘所处于的硬盘运行状态;
展示模块,用于展示所述目标硬盘状态信息。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过提取一个或者多个硬盘错误日志;确定与硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,目标硬盘状态信息用于指示生成硬盘错误日志的硬盘所处于的硬盘运行状态;展示目标硬盘状态信息,即,在正常业务工作中,可以实时记录并管理每条真实发生的错误命令信息,根据硬盘每条错误命令信息所形成的硬盘错误日志来智能判断当前硬盘的状态。对每种错误情况进行了详细分类作为多个错误类型,按一定的策略进行判断硬盘的目标硬盘状态信息,并将目标硬盘状态信息展示出来。上述过程所使用的数据源全部是以实际准确的数据为依据,所以得到的硬盘状态的检测率高,误报率底,精度高,因此,解决了相关技术中存在的对硬盘错误进行检测的检测率较低的问题,达到了提高对硬盘错误进行检测的检测率的效果。
附图说明
图1是本发明实施例的硬盘错误的检测方法的移动终端硬件结构框图;
图2是根据本发明实施例的硬盘错误的检测方法的流程图;
图3是根据本发明可选实施例的硬盘错误的检测系统的示意图;
图4是根据本发明实施例的硬盘错误的检测装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的硬盘错误的检测方法的移动终端硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的硬盘错误的检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种硬盘错误的检测方法,图2是根据本发明实施例的硬盘错误的检测方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,提取一个或者多个硬盘错误日志;
步骤S204,确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;
步骤S206,根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,所述目标硬盘状态信息用于指示生成所述硬盘错误日志的硬盘所处于的硬盘运行状态
步骤S208,展示所述目标硬盘状态信息。
通过上述步骤,在正常业务工作中,可以实时记录并管理每条真实发生的错误命令信息,根据硬盘每条错误命令信息所形成的硬盘错误日志来智能判断当前硬盘的状态。对每种错误情况进行了详细分类作为多个错误类型,按一定的策略进行判断硬盘的目标硬盘状态信息,并将目标硬盘状态信息展示出来。上述过程所使用的数据源全部是以实际准确的数据为依据,所以得到的硬盘状态的检测率高,误报率底,精度高,因此,解决了相关技术中存在的对硬盘错误进行检测的检测率较低的问题,达到了提高对硬盘错误进行检测的检测率的效果。
此外,上述硬盘错误的检测过程不完全依赖smart信息,可以对SATA(SerialAdvanced Technology Attachment hard disk,串口硬盘),SAS(Serial Attached SCSI,串行连接服务器硬盘),SCSI(Small Computer System Interface,小型计算机系统接口)等接口的存储介质都能进行硬盘状态的检测。提高了硬盘错误的检测过程的通用性,扩大了硬盘错误的检测过程的兼容范围。
另一方面,本方案对设备在正常业务运行中实际的访问硬盘时,出现的错误硬盘命令进行记录分析,并不会主动去唤醒其它休眠硬盘,这样能增加硬盘的使用寿命,在检测过程中也不会增加整机设备的功耗。也没有额外的硬盘命令开销,不会增加硬盘和整机的性能。
在上述步骤S202提供的技术方案中,硬盘错误日志可以但不限于是在对硬盘执行的操作出现错误时记录的,可以但不限于通过在系统中创建记录管理硬盘错误日志的模块来对硬盘错误日志进行记录和管理。
比如:以Linux系统为例,可以但不限于在系统的内核态中创建硬盘错误信息记录管理模块,当内核态中的内核标准SCSI子系统出现操作错误时,通过写入错误信息API将硬盘错误信息写入到硬盘错误信息记录管理模块中,形成硬盘错误日志,由硬盘错误信息记录管理模块对硬盘错误日志进行记录和管理。
可选地,在本实施例中,一个或者多个硬盘错误日志可以但不限于是从上述硬盘错误信息记录管理模块中提取的。
在一个可选的实施例中,可以但不限于通过以下方式从所记录的硬盘错误日志中提取一个或者多个硬盘错误日志:在访问硬盘的过程中检测到执行的访问指令发生错误的情况下,获取所述访问指令对应的错误信息,其中,所述错误信息包括:硬盘定位数据,当前时间和错误数据,所述硬盘定位数据包括以下至少之一:硬盘槽位号、序列号、错误命令访问的逻辑扇区号,所述错误数据包括以下至少之一:错误掩码、当前硬盘温度、硬盘已上电时间;在日志集合中记录所述错误信息所对应的硬盘错误日志;每隔目标时间从所述日志集合中提取当前所述目标时间内所记录的硬盘错误日志作为所述硬盘错误日志。
可选地,在本实施例中,上述访问指令可以但不限于包括:SCSI/ATA(AdvancedTechnology Attachment,高技术配置)指令等等访问硬盘时基于硬盘所支持的访问协议所执行的指令。
可选地,在本实施例中,访问指令对应的错误信息中记录了硬盘定位数据,当前时间和错误数据等数据。其中,硬盘定位数据是用于对执行访问指令的硬盘进行定位的数据,比如:硬盘定位数据可以但不限于包括以下至少之一:硬盘槽位号、序列号、错误命令访问的逻辑扇区号(LBA)。根据硬盘槽位号,序列号可以判断硬盘错误日志对应哪个硬盘发生的错误,根据错误命令访问的逻辑扇区号(LBA)可以判断该硬盘哪个扇区发生的错误。错误数据用于确定访问硬盘的过程中所出现的错误,比如:错误数据可以但不限于包括以下至少之一:错误掩码、当前硬盘温度、硬盘已上电时间。
可选地,在本实施例中,在系统中可以但不限于通过为硬盘错误处理过程创建的线程来对硬盘访问过程中出现的错误进行处理。比如:以Linux系统为例,在硬盘设备实际正常运行中,访问硬盘执行SCSI或者ATA指令时,一旦发生错误,会进入内核标准SCSI子系统的错误处理线程中。在该线程中进行提取硬盘异常的关键错误信息,内容可以但不限于包括硬盘槽位号,序列号,错误命令访问的LBA(逻辑扇区号),当前时间,错误掩码,当前硬盘温度,以及硬盘已上电时间等信息,并组装成一条硬盘错误日志,通过写入错误信息API将硬盘错误日志写入到硬盘错误信息记录管理模块。
可选地,在本实施例中,上述日志集合可以但不限于位于系统的内核态中实现的一个内核硬盘错误信息记录管理模块中,该模块的实现方式可以但不限于包括驱动的模式或者proc文件的方式。该模块可以但不限于以环型队列buffer等方式管理设备中所有的硬盘错误日志。根据需要管理方式可以但不限于采用满覆盖,满停止,冗余数据等方式。该模块上可以配置支持对用户态传出数据的API接口,用于用户态来获取硬盘错误日志,该模块还可以配置支持对内核其它模块数据输入的API接口。
可选地,在本实施例中,提取硬盘错误日志进行处理的过程可以是周期性的,比如:每隔目标时间到上述日志集合中提取出该目标时间内记录的硬盘错误日志进行处理。上述目标时间可以但不限于是预设的,也可以但不限于是在硬盘错误日志的处理过程中动态进行调整的,比如:一种调整方式可以是根据记录的硬盘错误日志的数量,每记录一定的数量提取一次进行处理,另一种方式可以是根据前一个目标时间所检测出的硬盘错误的类型,比如某些或者某个错误类型的数量高于某个阈值,则缩短目标时间,使得检测更加频繁。
可选地,在本实施例中,可以但不限于通过在系统的用户态中实现的用户态错误信息智能检测模块来执行上述硬盘错误日志的提取操作。周期性的去获取内核态中记录的硬盘错误日志。解析每一条硬盘错误日志中的错误信息,提取并记录相应的关键信息。根据解析后的信息对当前硬盘的状态进行智能评估。
在一个可选的实施例中,可以但不限于通过以下方式提取一个或者多个硬盘错误日志:从硬盘的预留保留扇区中获取告警记录;在未获取到所述告警记录的情况下,从所记录的硬盘错误日志中提取所述一个或者多个硬盘错误日志;其中,在获取到所述告警记录的情况下,生成所述告警记录对应的硬盘状态信息,并展示所述告警记录对应的硬盘状态信息。
可选地,在本实施例中,用户态错误信息智能检测模块判断硬盘状态为警告时,可以把该硬盘的状态信息写入到硬盘某个预留的保留扇区里记录。该盘后续接入到其它设备上时,就可以直接读取保留扇区里记录的告警信息,如果是告警状态,就可以直接认为该硬盘状态是告警,提高检测效率。
通过上述过程,对硬盘状态为告警的信息进行了记录。记录到硬盘保留扇区中,后续无论该盘被使用到哪台设备上,硬盘检测时可以直接读取保留扇区中的状态信息,就可以高效,快捷的检测硬盘状态了。
在上述步骤S204提供的技术方案中,预先对硬盘错误的类型进行了划分得到多个错误类型,将每个硬盘错误日志进行错误类型的归类,得到该硬盘错误日志对应的目标错误类型,从而对于提取出的一个或者多个硬盘错误日志,得到具有对应关系的目标硬盘错误日志和目标错误类型。
在一个可选的实施例中,可以但不限于通过以下方式确定每个目标硬盘错误日志所匹配的目标错误类型:在所述目标硬盘错误日志中携带了错误掩码的情况下,将所述错误掩码所属于的错误类型确定为所述目标错误类型,其中,所述错误掩码所属于的错误类型包括以下至少之一:总线错误,设备错误,超时错误,物理介质错误;在所述目标硬盘错误日志中所携带的当前硬盘温度未落入温度阈值范围的情况下,根据所述当前硬盘温度与所述温度阈值范围之间的关系,将过温错误确定为所述目标错误类型,其中,所述过温错误包括:高温错误或者低温错误;在所述目标硬盘错误日志中所携带的硬盘已上电时间超过时间阈值的情况下,将老化错误确定为所述目标错误类型。
可选地,在本实施例中,可以但不限于通过以下方式得到上述多个错误类型:根据错误掩码信息,按SCSI/ATA协议标准可以判断错误类型有Bus error(总线错误),deviceerror(设备错误),timeout(超时错误),media error(物理介质错误)等。根据当前硬盘温度是否超过阈值可以判断高温错误或者低温错误,根据已上电时间是否超过硬盘使用寿命来判断为老化错误。
可选地,在本实施例中,标准SCSI/ATA协议可以返回每条访问硬盘命令执行的结果,如果执行出错,ATA协议可以根据状态寄存器,错误寄存器返回具体的错误信息,SCSI协议可以通过sense key的方式返回具体的错误信息。ATA协议的错误类型和SCSI协议的错误类型可以互相转换。
可选地,在本实施例中,可以但不限于用错误掩码(Errmask)来表示具体的错误类型,错误掩码每一Bit对应的错误类型如下:
AC_ERR_DEV(1<<0),/*device reported error*/设备错误
AC_ERR_TIMEOUT(1<<2),/*timeout*/超时错误
AC_ERR_MEDIA(1<<3),/*media error*/物理介质错误
AC_ERR_ATA_BUS(1<<4),/*ATA bus error*/总线错误
AC_ERR_HOST_BUS(1<<5),/*host bus error*/总线错误
可选地,在本实施例中,当前硬盘温度和硬盘已上电时间可以但不限于从硬盘smart信息中获取,这两项在smart信息中是属于准确的数据源,不会因为硬盘厂家,型号不同而有较大差异,进而保证了检测结果的准确性。
在上述步骤S206提供的技术方案中,目标硬盘状态信息用于指示生成一个或者多个硬盘错误日志的硬盘所处于的硬盘运行状态,硬盘运行状态可以但不限于划分为告警状态和正常状态等等。
在一个可选的实施例中,可以但不限于通过以下方式生成目标硬盘状态信息:根据具有对应关系的目标硬盘错误日志和目标错误类型,确定硬盘出现错误的原因类型,其中,所述原因类型包括:硬盘原因和非硬盘原因;根据所述原因类型和所述目标错误类型生成目标告警信息和目标建议信息,得到所述目标硬盘状态信息,其中,所述目标告警信息用于对硬盘错误进行告警,所述目标建议信息用于对消除硬盘错误进行指导。
可选地,在本实施例中,将硬盘出现错误的原因类型划分为硬盘原因和非硬盘原因,不同原因类型,不同目标错误类型生成不同的目标告警信息来对硬盘错误状态进行告警,并生成不同的目标建议信息来对消除硬盘错误的操作进行指导。
在一个可选的实施例中,可以但不限于通过以下方式确定硬盘出现错误的原因类型:在所述目标错误类型中包括预设错误类型的情况下,确定预设错误类型对应的硬盘错误日志的所述原因类型为所述硬盘原因,其中,所述预设错误类型包括以下至少之一:设备错误,超时错误,老化错误;在所述目标错误类型中包括物理介质错误,并且,物理介质错误对应的硬盘错误日志的日志数量落入数量阈值的情况下,确定物理介质错误对应的硬盘错误日志的所述原因类型为所述硬盘原因;在所述目标错误类型中包括总线错误,或者,过温错误的情况下,确定总线错误对应的硬盘错误日志,或者,过温错误对应的硬盘错误日志的所述原因类型为所述非硬盘原因。
可选地,在本实施例中,将设备错误,超时错误,老化错误,以及满足一定条件的物理介质错误等错误类型归因为硬盘原因,将总线错误,高温错误和低温错误等错误类型归因为非硬盘原因。
可选地,在本实施例中,可以但不限于根据硬盘所在系统的数据要求来确定物理介质错误所对应的上述一定条件,比如:系统具有对数据安全较高的需求,发生1次物理介质错误就认为硬盘状态为警告。系统对数据安全要求不高的情况,可以统计发生的总次数是否达到一定阈值(即上述数量阈值),或者发生的频繁趋势越来越严重,就认为该盘状态为警告,否则为正常。
在一个可选的实施例中,根据原因类型可以但不限于通过以下方式生成目标告警信息和目标建议信息:在所述原因类型为所述硬盘原因,且,所述目标错误类型为所述预设错误类型或者所述物理介质错误的情况下,生成第一告警信息作为目标告警信息,第一建议信息作为所述目标建议信息,其中,所述第一告警信息用于指示硬盘错误属于所述硬盘原因,所述第一建议信息用于建议提前备份数据并更换硬盘;在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述总线错误的情况下,生成第二告警信息作为目标告警信息,第二建议信息作为所述目标建议信息,其中,所述第二告警信息用于指示硬盘错误属于所述非硬盘原因,属于物理链路连接问题,所述第二建议信息用于建议插拔硬盘或者更换连接线;在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述过温错误的情况下,生成第三告警信息作为目标告警信息,第三建议信息作为所述目标建议信息,其中,所述第三告警信息用于指示硬盘错误属于所述非硬盘原因,所述第三建议信息用于建议关注硬盘运行环境是否存在过温。
可选地,在本实施例中,上述用户态错误信息智能检测模块判断硬盘状态策略可以但不限于包括:如果错误类型为设备错误,超时错误,老化错误,该硬盘状态为告警。并在硬盘状态展示模块中提示该硬盘属于硬盘本身的错误,建议提前备份数据,并更换硬盘。如果错误类型为物理介质错误。当硬盘状态为警告时,同样在硬盘状态展示模块中提示该硬盘属于硬盘本身的错误,建议提前备份数据,并更换硬盘。如果错误类型为总线错误,则该硬盘状态为警告。但在硬盘状态展示模块中提示非硬盘本身错误,属于物理链路连接问题,建议插拔硬盘或者更换连接线。恢复正常后,硬盘状态变为正常。如果错误类型为高温错误或者低温错误,该硬盘状态为警告。但在硬盘状态展示模块中提示非硬盘本身错误,建议关注硬盘运行环境是否存在高,低温。恢复正常后,硬盘状态变为正常。
在本实施例中,通过上述过程,细分了详细的硬盘错误类型,并针对每种错误类型给出处理方案。硬盘处于警告状态,判断属于硬盘本身原因的,可以及时做好数据备份,并更换硬盘,可以大大提高数据安全性和设备可靠性。对于非硬盘本身原因的,给出建议处理方案,可以及时发现并处理问题,提高现场处理效率,并有效防止了硬盘状态本身异常误判的情况,减少更换硬盘带来的直接和间接损失。
在上述步骤S208提供的技术方案中,可以但不限于通过在系统中实现的用户态展示硬盘状态模块来执行展示目标硬盘状态信息的操作。
可选地,在本实施例中,目标硬盘状态信息可以但不限于由硬盘所在设备上配置的显示装置来进行展示,也可以发送给特定的终端进行目标硬盘状态信息的展示。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
下面结合可选实施例对本发明进行具体说明:
图3是根据本发明可选实施例的硬盘错误的检测系统的示意图,如图3所示,该硬盘错误的检测系统是基于标准Linux系统的方案,该硬盘错误的检测系统包括硬盘错误信息记录管理模块,用户态错误信息智能检测模块,用户态展示硬盘状态模块以及内核标准SCSI子系统中配置的写入错误信息API。
内核标准SCSI子系统是linux标准内核的子系统模块,用于处理SCSI相关的功能业务。scsi_error_handler是SCSI子系统中标准的处理SCSI(ATA)异常命令的处理线程,一旦访问硬盘的SCSI(ATA)命令出现异常,都需要走该流程。SATA,SCSI,SAS硬盘的命令出错后都会走该流程。
写入错误信息API是硬盘错误信息记录管理模块对外输入信息的API接口,每次输入一条硬盘错误信息(即上述硬盘错误日志),内容可以但不限于包括硬盘槽位号,序列号,SCSI命令访问的LBA(逻辑扇区号),当前时间,发生的错误掩码,当前硬盘温度,硬盘已上电时间等关键信息。
硬盘错误信息记录管理模块可以为驱动的模式,也可以为/proc/文件的方式实现,负责管理API输入的硬盘错误信息,以及对用户态提供错误信息的输出。
用户态错误信息智能检测模块用于获取内核的硬盘错误信息,并解析出每条错误的关键信息。根据硬盘发生的具体错误类型,统计出错次数等信息来智能评估检测硬盘的状态。
用户态展示硬盘状态模块用于获取硬盘的状态,并对硬盘的状态展示。根据具体的硬盘状态提示硬盘状态和问题原因,并给出处理建议。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种硬盘错误的检测装置,图4是根据本发明实施例的硬盘错误的检测装置的结构框图,如图4所示,该装置包括:
提取模块42,用于提取一个或者多个硬盘错误日志;
确定模块44,用于确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;
生成模块46,用于根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,所述目标硬盘状态信息用于指示生成所述硬盘错误日志的硬盘所处于的硬盘运行状态;
展示模块48,用于展示所述目标硬盘状态信息。
通过上述装置,在正常业务工作中,可以实时记录并管理每条真实发生的错误命令信息,根据硬盘每条错误命令信息所形成的硬盘错误日志来智能判断当前硬盘的状态。对每种错误情况进行了详细分类作为多个错误类型,按一定的策略进行判断硬盘的目标硬盘状态信息,并将目标硬盘状态信息展示出来。上述过程所使用的数据源全部是以实际准确的数据为依据,所以得到的硬盘状态的检测率高,误报率底,精度高,因此,解决了相关技术中存在的对硬盘错误进行检测的检测率较低的问题,达到了提高对硬盘错误进行检测的检测率的效果。
在一个可选的实施例中,所述提取模块包括:第一获取单元,用于在访问硬盘的过程中检测到执行的访问指令发生错误的情况下,获取所述访问指令对应的错误信息,其中,所述错误信息包括:硬盘定位数据,当前时间和错误数据,所述硬盘定位数据包括以下至少之一:硬盘槽位号、序列号、错误命令访问的逻辑扇区号,所述错误数据包括以下至少之一:错误掩码、当前硬盘温度、硬盘已上电时间;记录单元,用于在日志集合中记录所述错误信息所对应的硬盘错误日志;第一提取单元,用于每隔目标时间从所述日志集合中提取当前所述目标时间内所记录的硬盘错误日志作为所述硬盘错误日志。
在一个可选的实施例中,所述确定模块包括:第一确定单元,用于在所述目标硬盘错误日志中携带了错误掩码的情况下,将所述错误掩码所属于的错误类型确定为所述目标错误类型,其中,所述错误掩码所属于的错误类型包括以下至少之一:总线错误,设备错误,超时错误,物理介质错误;第二确定单元,用于在所述目标硬盘错误日志中所携带的当前硬盘温度未落入温度阈值范围的情况下,根据所述当前硬盘温度与所述温度阈值范围之间的关系,将过温错误确定为所述目标错误类型,其中,所述过温错误包括:高温错误或者低温错误;第三确定单元,用于在所述目标硬盘错误日志中所携带的硬盘已上电时间超过时间阈值的情况下,将老化错误确定为所述目标错误类型。
在一个可选的实施例中,所述生成模块包括:第四确定单元,用于根据具有对应关系的目标硬盘错误日志和目标错误类型,确定硬盘出现错误的原因类型,其中,所述原因类型包括:硬盘原因和非硬盘原因;第一生成单元,用于根据所述原因类型和所述目标错误类型生成目标告警信息和目标建议信息,得到所述目标硬盘状态信息,其中,所述目标告警信息用于对硬盘错误进行告警,所述目标建议信息用于对消除硬盘错误进行指导。
在一个可选的实施例中,所述第四确定单元用于:在所述目标错误类型中包括预设错误类型的情况下,确定预设错误类型对应的硬盘错误日志的所述原因类型为所述硬盘原因,其中,所述预设错误类型包括以下至少之一:设备错误,超时错误,老化错误;在所述目标错误类型中包括物理介质错误,并且,物理介质错误对应的硬盘错误日志的日志数量落入数量阈值的情况下,确定物理介质错误对应的硬盘错误日志的所述原因类型为所述硬盘原因;在所述目标错误类型中包括总线错误,或者,过温错误的情况下,确定总线错误对应的硬盘错误日志,或者,过温错误对应的硬盘错误日志的所述原因类型为所述非硬盘原因。
在一个可选的实施例中,所述第一生成单元用于:在所述原因类型为所述硬盘原因,且,所述目标错误类型为所述预设错误类型或者所述物理介质错误的情况下,生成第一告警信息作为目标告警信息,第一建议信息作为所述目标建议信息,其中,所述第一告警信息用于指示硬盘错误属于所述硬盘原因,所述第一建议信息用于建议提前备份数据并更换硬盘;在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述总线错误的情况下,生成第二告警信息作为目标告警信息,第二建议信息作为所述目标建议信息,其中,所述第二告警信息用于指示硬盘错误属于所述非硬盘原因,属于物理链路连接问题,所述第二建议信息用于建议插拔硬盘或者更换连接线;在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述过温错误的情况下,生成第三告警信息作为目标告警信息,第三建议信息作为所述目标建议信息,其中,所述第三告警信息用于指示硬盘错误属于所述非硬盘原因,所述第三建议信息用于建议关注硬盘运行环境是否存在过温。
在一个可选的实施例中,所述提取模块包括:第二获取单元,用于从硬盘的预留保留扇区中获取告警记录;第二提取单元,用于在未获取到所述告警记录的情况下,从所记录的硬盘错误日志中提取所述一个或者多个硬盘错误日志;第二生成单元,用于其中,在获取到所述告警记录的情况下,生成所述告警记录对应的硬盘状态信息,并展示所述告警记录对应的硬盘状态信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种硬盘错误的检测方法,其特征在于,包括:
提取一个或者多个硬盘错误日志;
确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;
根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,所述目标硬盘状态信息用于指示生成所述硬盘错误日志的硬盘所处于的硬盘运行状态;
展示所述目标硬盘状态信息。
2.根据权利要求1所述的方法,其特征在于,提取一个或者多个硬盘错误日志包括:
在访问硬盘的过程中检测到执行的访问指令发生错误的情况下,获取所述访问指令对应的错误信息,其中,所述错误信息包括:硬盘定位数据,当前时间和错误数据,所述硬盘定位数据包括以下至少之一:硬盘槽位号、序列号、错误命令访问的逻辑扇区号,所述错误数据包括以下至少之一:错误掩码、当前硬盘温度、硬盘已上电时间;
在日志集合中记录所述错误信息所对应的硬盘错误日志;
每隔目标时间从所述日志集合中提取当前所述目标时间内所记录的硬盘错误日志作为所述硬盘错误日志。
3.根据权利要求1所述的方法,其特征在于,所述确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型包括:
在所述目标硬盘错误日志中携带了错误掩码的情况下,将所述错误掩码所属于的错误类型确定为所述目标错误类型,其中,所述错误掩码所属于的错误类型包括以下至少之一:总线错误,设备错误,超时错误,物理介质错误;
在所述目标硬盘错误日志中所携带的当前硬盘温度未落入温度阈值范围的情况下,根据所述当前硬盘温度与所述温度阈值范围之间的关系,将过温错误确定为所述目标错误类型,其中,所述过温错误包括:高温错误或者低温错误;
在所述目标硬盘错误日志中所携带的硬盘已上电时间超过时间阈值的情况下,将老化错误确定为所述目标错误类型。
4.根据权利要求1所述的方法,其特征在于,根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息包括:
根据具有对应关系的目标硬盘错误日志和目标错误类型,确定硬盘出现错误的原因类型,其中,所述原因类型包括:硬盘原因和非硬盘原因;
根据所述原因类型和所述目标错误类型生成目标告警信息和目标建议信息,得到所述目标硬盘状态信息,其中,所述目标告警信息用于对硬盘错误进行告警,所述目标建议信息用于对消除硬盘错误进行指导。
5.根据权利要求4所述的方法,其特征在于,根据具有对应关系的目标硬盘错误日志和目标错误类型,确定硬盘出现错误的原因类型包括:
在所述目标错误类型中包括预设错误类型的情况下,确定预设错误类型对应的硬盘错误日志的所述原因类型为所述硬盘原因,其中,所述预设错误类型包括以下至少之一:设备错误,超时错误,老化错误;
在所述目标错误类型中包括物理介质错误,并且,物理介质错误对应的硬盘错误日志的日志数量落入数量阈值的情况下,确定物理介质错误对应的硬盘错误日志的所述原因类型为所述硬盘原因;
在所述目标错误类型中包括总线错误,或者,过温错误的情况下,确定总线错误对应的硬盘错误日志,或者,过温错误对应的硬盘错误日志的所述原因类型为所述非硬盘原因。
6.根据权利要求5所述的方法,其特征在于,根据所述原因类型生成目标告警信息和目标建议信息包括:
在所述原因类型为所述硬盘原因,且,所述目标错误类型为所述预设错误类型或者所述物理介质错误的情况下,生成第一告警信息作为目标告警信息,第一建议信息作为所述目标建议信息,其中,所述第一告警信息用于指示硬盘错误属于所述硬盘原因,所述第一建议信息用于建议提前备份数据并更换硬盘;
在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述总线错误的情况下,生成第二告警信息作为目标告警信息,第二建议信息作为所述目标建议信息,其中,所述第二告警信息用于指示硬盘错误属于所述非硬盘原因,属于物理链路连接问题,所述第二建议信息用于建议插拔硬盘或者更换连接线;
在所述原因类型为所述非硬盘原因,且,所述目标错误类型为所述过温错误的情况下,生成第三告警信息作为目标告警信息,第三建议信息作为所述目标建议信息,其中,所述第三告警信息用于指示硬盘错误属于所述非硬盘原因,所述第三建议信息用于建议关注硬盘运行环境是否存在过温。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述提取一个或者多个硬盘错误日志包括:
从硬盘的预留保留扇区中获取告警记录;
在未获取到所述告警记录的情况下,从所记录的硬盘错误日志中提取所述一个或者多个硬盘错误日志;
其中,在获取到所述告警记录的情况下,生成所述告警记录对应的硬盘状态信息,并展示所述告警记录对应的硬盘状态信息。
8.一种硬盘错误的检测装置,其特征在于,包括:
提取模块,用于提取一个或者多个硬盘错误日志;
确定模块,用于确定与所述硬盘错误日志中每个目标硬盘错误日志所匹配的目标错误类型,得到具有对应关系的目标硬盘错误日志和目标错误类型;
生成模块,用于根据具有对应关系的目标硬盘错误日志和目标错误类型,生成目标硬盘状态信息,其中,所述目标硬盘状态信息用于指示生成所述硬盘错误日志的硬盘所处于的硬盘运行状态;
展示模块,用于展示所述目标硬盘状态信息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
CN202110920400.4A 2021-08-11 2021-08-11 硬盘错误的检测方法、装置、存储介质和电子装置 Pending CN113590405A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110920400.4A CN113590405A (zh) 2021-08-11 2021-08-11 硬盘错误的检测方法、装置、存储介质和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110920400.4A CN113590405A (zh) 2021-08-11 2021-08-11 硬盘错误的检测方法、装置、存储介质和电子装置

Publications (1)

Publication Number Publication Date
CN113590405A true CN113590405A (zh) 2021-11-02

Family

ID=78257279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110920400.4A Pending CN113590405A (zh) 2021-08-11 2021-08-11 硬盘错误的检测方法、装置、存储介质和电子装置

Country Status (1)

Country Link
CN (1) CN113590405A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415973A (zh) * 2022-03-28 2022-04-29 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质
CN115658362A (zh) * 2022-10-26 2023-01-31 超聚变数字技术有限公司 一种确定硬盘状态的方法以及相关设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415973A (zh) * 2022-03-28 2022-04-29 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质
CN114415973B (zh) * 2022-03-28 2022-08-30 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质
CN115658362A (zh) * 2022-10-26 2023-01-31 超聚变数字技术有限公司 一种确定硬盘状态的方法以及相关设备

Similar Documents

Publication Publication Date Title
CN113590405A (zh) 硬盘错误的检测方法、装置、存储介质和电子装置
US20240020017A1 (en) Monitoring method and apparatus for electronic device, and electronic device
CN110704287B (zh) Linux系统下RAID卡异常日志收集方法、系统及存储介质
CN111400121A (zh) 一种服务器硬盘slot定位与维护方法
CN114328102A (zh) 设备状态监控方法、装置、设备及计算机可读存储介质
CN109918221B (zh) 一种硬盘报错解析方法、系统、终端及存储介质
CN114758714A (zh) 一种硬盘故障预测方法、装置、电子设备及存储介质
CN104239174A (zh) Bmc远程调试系统及方法
CN114860487A (zh) 一种内存故障识别方法及一种内存故障隔离方法
CN109271009A (zh) 一种控制服务器背板上电的方法、装置及cpld
CN116361111A (zh) 一种数据获取方法、装置及电子设备
US10776240B2 (en) Non-intrusive performance monitor and service engine
CN112988442B (zh) 一种服务器运行阶段传送故障信息的方法和设备
CN114237957A (zh) 异常磁盘分区的处理方法与装置
CN111475378B (zh) 一种扩展器Expander的监控方法、装置及设备
CN114218001A (zh) 故障修复方法、装置、电子设备及可读存储介质
CN114138600A (zh) 一种固件关键信息的存储方法、装置、设备及存储介质
US10922023B2 (en) Method for accessing code SRAM and electronic device
CN111190781A (zh) 服务器系统的测试自检方法
CN111831511A (zh) 一种云服务的业务主机的检测处理方法、装置及介质
CN111475107A (zh) 一种硬盘格式化的方法、装置及存储介质
CN114003477B (zh) 慢盘诊断信息收集方法、系统、终端及存储介质
CN111124804B (zh) 测试方法和装置
US20230101977A1 (en) Electronic device and method for monitoring hard disks
CN117112329A (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