CN114415973A - 慢盘检测方法、装置、电子设备及存储介质 - Google Patents

慢盘检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114415973A
CN114415973A CN202210312249.0A CN202210312249A CN114415973A CN 114415973 A CN114415973 A CN 114415973A CN 202210312249 A CN202210312249 A CN 202210312249A CN 114415973 A CN114415973 A CN 114415973A
Authority
CN
China
Prior art keywords
hard disk
target hard
disk
slow
request
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.)
Granted
Application number
CN202210312249.0A
Other languages
English (en)
Other versions
CN114415973B (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.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing 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 Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210312249.0A priority Critical patent/CN114415973B/zh
Publication of CN114415973A publication Critical patent/CN114415973A/zh
Application granted granted Critical
Publication of CN114415973B publication Critical patent/CN114415973B/zh
Priority to PCT/CN2023/084177 priority patent/WO2023185767A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种慢盘检测方法、装置、电子设备及存储介质。在本申请实施例中,在上层应用下发的访问硬盘的I/O请求出现响应慢的情况时,并不会直接禁用I/O请求所访问硬盘,而是根据I/O请求响应慢的持续时间,区分I/O请求所访问硬盘的慢盘类别,以及基于不同慢盘类别的硬盘有针对性地分析硬盘的慢盘原因,并根据硬盘的慢盘原因,控制硬盘的使用状态。由此,准确快速地诊断慢盘原因,并不会不加以区分直接禁用I/O请求所访问硬盘,减少了对上层应用的数据处理性能的影响。

Description

慢盘检测方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种慢盘检测方法、装置、电子设备及存储介质。
背景技术
服务器是互联网数据中心的基础资源设备,硬盘作为服务器的存储硬件,承担着数据中心大量数据的存储,服务器上的上层应用在数据处理过程中,通常需要访问硬盘上的数据。上层应用访问硬盘数据的访问链路通常是:下发I/O(Input/Output,输入/输出)请求至内核进行处理,处理后的I/O请求被下发至硬盘,由硬盘进行响应。
其中,I/O请求响应性能直接影响上层应用的数据处理性能,实际应用中,若出现I/O请求响应慢的情况,通常会将原因定位为硬盘的盘体出现故障,并将盘体故障的硬盘进行故障隔离(是指禁用硬盘),减少对上层应用的数据处理性能的影响。然而,导致I/O请求响应慢的因素可能存在多种,直接将导致I/O请求响应慢的原因定位为硬盘的盘体出现故障,很容易将性能良好的硬盘误判为盘体故障的硬盘进行故障隔离,同样会影响上层应用的数据处理性能。因此,如何准确快速找出慢盘的原因,成为了数据中心面临的一大问题。
发明内容
本申请的多个方面提供一种慢盘检测方法、装置、电子设备及存储介质,用以准确快速地诊断慢盘原因,减少了对上层应用的数据处理性能的影响。
本申请实施例提供一种慢盘检测方法,包括:获取访问目标硬盘的第一输入/输出I/O请求对应的第一响应时长,第一I/O请求来自于目标硬盘所在电子设备上的上层应用;若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别;根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因;根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
本申请实施例还提供一种慢盘检测装置,包括:获取模块,用于获取访问目标硬盘的第一I/O请求对应的第一响应时长,第一I/O请求来自目标硬盘所在电子设备上的上层应用;识别模块,用于若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别;分析模块,用于根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因;控制模块,用于根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
本申请实施例还提供一种电子设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器耦合至存储器,用于执行计算机程序以用于执行慢盘检测方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机存储介质,当计算机程序被处理器执行时,致使处理器能够实现慢盘检测方法中的步骤。
在本申请实施例中,在上层应用下发的访问硬盘的I/O请求出现响应慢的情况时,并不会直接禁用I/O请求所访问硬盘,而是根据I/O请求响应慢的持续时间,区分I/O请求所访问硬盘的慢盘类别,以及基于不同慢盘类别的硬盘有针对性地分析硬盘的慢盘原因,并根据硬盘的慢盘原因,控制硬盘的使用状态。由此,准确快速地诊断慢盘原因,并不会不加以区分直接禁用I/O请求所访问硬盘,减少了对上层应用的数据处理性能的影响。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为示例性的电子设备的系统架构图;
图2为本申请实施例提供的一种慢盘检测方法的流程图;
图3为本申请实施例提供的另一种慢盘检测方法的流程图;
图4为本申请实施例提供的另一种慢盘检测方法的流程图;
图5为本申请实施例提供的一种慢盘检测装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等并不对数量和执行次序进行限定,并且“第一”、“第二”等也并不限定一定不同。
图1为示例性的电子设备的系统架构图。电子设备可以包括应用层11、内核(kernel)层12、驱动层13和硬件层14。应用层11上运行有一个或多个上层应用(上层应用是指在应用层运行的应用程序);内核层12中运行的内核是操作系统的核心,提供操作系统的最基本的功能,负责管理进程、内存、设备驱动程序等。驱动层13中运行的设备驱动程序(Device Driver)能够使操作系统和硬件层的硬件设备进行相互通信。硬件层14中例如包括但不限于:硬盘、中央处理器等各种硬件设备。其中,硬盘例如包括但不限于:机械硬盘(Hard Disk Drive,HDD)和固态硬盘(Solid State Disk,SSD)。
实际应用中,上层应用访问硬盘数据的访问链路通常是:下发I/O(Input/Output,输入/输出)请求至内核进行处理,处理后的I/O请求被下发至硬盘,由硬盘进行响应。目前,若出现I/O请求响应慢的情况,通常会将原因定位为硬盘的盘体出现故障,并将盘体故障的硬盘进行故障隔离(是指禁用硬盘),减少对上层应用的数据处理性能的影响。然而,导致I/O请求响应慢的因素可能存在多种,直接将导致I/O请求响应慢的原因定位为硬盘的盘体出现故障,很容易将性能良好的硬盘误判为盘体故障的硬盘进行故障隔离,同样会影响上层应用的数据处理性能。
为此,本申请实施例提供一种慢盘检测方法、装置、电子设备及存储介质。在本申请实施例中,在上层应用下发的访问硬盘的I/O请求出现响应慢的情况时,并不会直接禁用I/O请求所访问硬盘,而是根据I/O请求响应慢的持续时间,区分I/O请求所访问硬盘的慢盘类别,以及基于不同慢盘类别的硬盘有针对性地分析硬盘的慢盘原因,并根据硬盘的慢盘原因,控制硬盘的使用状态。由此,准确快速地诊断慢盘原因,并不会不加以区分直接禁用I/O请求所访问硬盘,减少了对上层应用的数据处理性能的影响。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本申请实施例提供的一种慢盘检测方法的流程图。该方法可由慢盘检测装置执行,该装置可以由软件和/或硬件的方式实现,并一般可以集成在电子设备中。参见图2,该方法可以包括以下步骤:
201、获取访问目标硬盘的第一输入/输出I/O请求对应的第一响应时长,第一I/O请求来自于目标硬盘所在电子设备上的上层应用。
202、若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别。
203、根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因。
204、根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
在本实施例中,在上层应用下发访问硬盘的I/O请求后,启动检测I/O请求的响应时长,以便及时识别I/O请求是否出现响应慢的情况。值得注意的是,I/O请求的响应时长是上层应用下发I/O请求以使所请求访问的硬盘进行响应所消耗的时间。换而言之,在上层应用下发I/O请求时,对I/O请求的响应时长开始计时,在上层应用接收到硬盘响应I/O请求返回的响应数据时,对I/O请求的响应时长停止计时。
在本实施例中,为了准确快速地识别I/O请求是否出现响应慢的情况,将I/O请求的响应时长与根据应用需求灵活设定的第一时长阈值进行比较,若I/O请求的响应时长超过第一时长阈值(也即I/O请求的响应时长大于第一时长阈值)时,识别出I/O请求出现响应慢的情况;若I/O请求的响应时长未超过第一时长阈值(也即I/O请求的响应时长大于或等于第一时长阈值)时,识别出I/O请求没有出现响应慢的情况。
实际应用中,上层应用可以随时访问电子设备中任意的硬盘,为了便于理解和区分,将需要进行慢盘检测的硬盘称作为目标硬盘,上层应用访问该目标硬盘的I/O请求称作为第一I/O请求,第一I/O请求的响应时长称作为第一响应时长。
在本实施例中,实时或周期性地对第一响应时长是否超过第一时长阈值进行检测,若检测出第一响应时长未超过第一时长阈值时,则确定第一I/O请求的响应正常,尚未出现响应慢的情况。若检测出第一响应时长超过第一时长阈值时,则确定第一I/O请求出现了响应慢的情况,这时,需要分析I/O请求响应慢的原因。
在本实施例中,I/O请求响应慢可能持续时间长,也可能持续时间短。持续时间长的I/O请求所访问的硬盘发生盘体故障的概率较大,持续时间短的I/O请求所访问的硬盘发生盘体故障的概率较小。于是,在本实施例中,在检测出第一响应时长超过第一时长阈值时,则对第一响应时长超过第一时长阈值的持续时间进行计时,并根据持续时间的长短准确识别目标硬盘所属的慢盘类别。当然,可以根据实际应用需求灵活地基于I/O请求响应慢的持续时间将慢盘类别划分为多个类别,不同类别对应不同的持续时间。值得注意的是,在慢盘检测流程中,将I/O请求响应慢的持续时间作为慢盘类别的划分依据,进而可以实现对I/O请求响应慢的持续时间长短不同的硬盘进行有针对性地慢盘原因定位,有利于帮助准确找出慢盘原因。
在本实施例中,在识别目标硬盘所属的慢盘类别,采用与慢盘类别适配的分析方式分析目标硬盘对应的慢盘原因。慢盘原因例如包括但不限于:目标硬盘的盘体故障、目标硬盘的使用异常、电子设备的硬件故障和电子设备的内核层异常等等。
在本实施例中,在分析出目标硬盘对应的慢盘原因后,以慢盘原因为考虑因素,控制目标硬盘的使用状态。例如,在慢盘原因来自于目标硬盘的盘体故障或电子设备的硬件故障,可以禁用目标硬盘。在慢盘原因来自于目标硬盘的使用异常或者电子设备的内核层异常时,可以继续使用目标硬盘。当然,哪些慢盘原因需要禁用目标硬盘,哪些慢盘原因可以继续使用目标硬盘,根据应用需求灵活设置。
本申请实施例提供的慢盘检测方法,在上层应用下发的访问硬盘的I/O请求出现响应慢的情况时,并不会直接禁用I/O请求所访问硬盘,而是根据I/O请求响应慢的持续时间,区分I/O请求所访问硬盘的慢盘类别,以及基于不同慢盘类别的硬盘有针对性地分析硬盘的慢盘原因,并根据硬盘的慢盘原因,控制硬盘的使用状态。由此,准确快速地诊断慢盘原因,并不会不加以区分直接禁用I/O请求所访问硬盘,减少了对上层应用的数据处理性能的影响。
在一些实施例中,可以根据持续时间的长短将慢盘类别划分为第一类慢盘和第二类慢盘,第一类慢盘可以理解为I/O请求响应慢持续时间较长的持续慢盘;第二类慢盘可以理解为I/O请求响应慢持续时间较短的偶发慢盘。在本实施例中,可以对持续慢盘和偶发慢盘进行有针对性地慢盘检测。下面结合图3进行说明。图3为本申请实施例提供的另一种慢盘检测方法的流程图。该方法可由慢盘检测装置执行,该装置可以由软件和/或硬件的方式实现,并一般可以集成在电子设备中。参见图3,该方法可以包括以下步骤:
301、获取访问目标硬盘的第一输入/输出I/O请求对应的第一响应时长,第一I/O请求来自于目标硬盘所在电子设备上的上层应用。
302、若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别,执行步骤303或306。
303、若目标硬盘的慢盘类别识别为第一类慢盘,则获取第一I/O请求的链路跟踪数据,链路跟踪数据中包括第一I/O请求在电子设备的内核层消耗的时间。
304、若第一I/O请求在内核层消耗的时间大于第三时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的内核层异常。
305、若第一I/O请求在内核层消耗的时间小于或等于第三时长阈值,则对目标硬盘进行故障检测,以确定目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障,并执行步骤307。
306、若目标硬盘的慢盘类别识别为第二类慢盘,则从至少一个维度分析目标硬盘对应的慢盘原因,并执行步骤307;至少一个维度包括以下维度中一种或者多种:目标硬盘是否执行过坏道修复操作、目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、电子设备中各个硬件组件之间的通信链路的稳定性以及电子设备的I/O请求性能。
307、根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
在本实施例中,步骤301的实现方式可以参见图2所示的实施例中201的实现方式,在此不再赘述。值得注意的是,步骤304和305可以同时执行或者异步执行,在执行步骤304后,可以执行步骤307。
在识别出第一响应时长超过第一时长阈值后,可以基于第一响应时长超过第一时长阈值的持续时间与根据应用需求灵活设定的第二时长阈值的比较结果,准确识别持续慢盘和偶发慢盘。示例性的,根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别的可选实施方式是:若第一响应时长超过第一时长阈值的持续时间大于第二时长阈值,则将目标硬盘的慢盘类别识别为第一类慢盘;若第一响应时长超过第一时长阈值的持续时间小于或等于第二时长阈值,则将目标硬盘的慢盘类别识别为第二类慢盘。
在目标硬盘的慢盘类别识别为第一类慢盘后,则目标硬盘出现盘体故障的概率比较大,此时需要执行步骤303至305以准确定位目标硬盘的慢盘原因。具体而言,可以获取第一I/O请求的链路跟踪数据,对链路跟踪数据中第一I/O请求在电子设备的内核层消耗的时间进行分析,若第一I/O请求在内核层消耗的时间大于根据应用需求灵活设置的第三时长阈值,则说明第一I/O请求在电子设备的内核层的响应时间过长,这时,确定目标硬盘对应的慢盘原因来自于电子设备的内核层异常。若第一I/O请求在内核层消耗的时间小于或等于第三时长阈值,则说明第一I/O请求在电子设备的内核层的响应时间较短,这时,确定目标硬盘对应的慢盘原因来自于电子设备的非内核层异常,非内核层例如为位于内核层后面的驱动层或者硬件层。在诊断出目标硬盘对应的慢盘原因不是来自于电子设备的内核层异常,这时,可以对目标硬盘进行故障检测,以目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障。
实际应用中,可以对第一I/O请求在访问链路上各个节点上所消耗的时间进行跟踪和记录,以获得第一I/O请求的链路跟踪数据。进一步可选的,可以调用内核的Block I/O跟踪工具来获取第一I/O请求的链路跟踪数据。Block I/O跟踪工具在I/O请求进入内核后,能够记录I/O请求的读写进程名、进程号、执行时间、读写物理块号、块大小等详细情况。通过分析Block I/O跟踪工具跟踪的数据,可以得到I/O请求在内核层、驱动层和硬件层所消耗的时间。
在本实施例中,利用链路跟踪数据还可以识别目标硬盘对应的慢盘原因是否来自于电子设备的硬件层异常,并在确定目标硬盘对应的慢盘原因来自于电子设备的硬件层异常,再对目标硬盘对应的慢盘原因来自于目标硬盘异常进行分析。于是,进一步可选的,在对目标硬盘进行故障检测之前,上述方法还可以包括以下步骤:从链路跟踪数据中获取第一I/O请求在非内核层消耗的时间,非内核层包括电子设备的驱动层和硬件层。若第一I/O请求在非内核层消耗的时间大于第四时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的硬件层异常,硬件层包括目标硬盘。若第一I/O请求在非内核层消耗的时间小于或等于第四时长阈值,则确定目标硬盘对应的慢盘原因不是来自于电子设备的硬件层异常,硬件层包括目标硬盘。其中,第四时长阈值根据实际应用需求灵活设置。
进一步可选的,为了准确地检测目标硬盘是否发生盘体故障,在对目标硬盘进行故障检测时,可以从目标硬盘对应的日志数据中,获取固件层记录的盘体异常数据、驱动层记录的盘体异常数据和目标硬盘的盘体状态数据中至少一种信息;根据至少一种信息检测目标硬盘是否出现盘体故障。
在本实施例中,盘体状态数据用于反映目标硬盘的磁头、电容、闪存或DRAM(Dynamic Random Access Memory,动态随机存取存储器)等硬件组件的状态数据。固件层或驱动层记录的盘体异常数据反映的是目标硬盘的硬件组件是否出现异常的状态数据。其中,固件(firmware)层包括控制硬件层中硬件设备的固件程序。在固件层记录的盘体异常数据、驱动层记录的盘体异常数据或者目标硬盘的盘体状态数据中有一个或多个反映目标硬盘的硬件组件出现异常时,确定目标硬盘发生盘体故障;在固件层记录的盘体异常数据、驱动层记录的盘体异常数据或者目标硬盘的盘体状态数据均反映目标硬盘的硬件组件未出现异常时,确定目标硬盘未发生盘体故障。
在本实施例中,针对目标硬盘的慢盘类别识别为第一类慢盘的情况,根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态的实现方式可以是:若目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障,则禁用目标硬盘;若目标硬盘对应的慢盘原因来自于电子设备的内核层异常,则继续使用目标硬盘。
在目标硬盘的慢盘类别识别为第二类慢盘后,则需要执行步骤306以准确定位目标硬盘的慢盘原因。具体而言,从至少一个维度分析目标硬盘对应的慢盘原因的可选实现方式是:在识别出目标硬盘执行过坏道修复操作时,确定目标硬盘的慢盘原因来自于目标硬盘的盘体故障;在识别出目标硬盘执行垃圾回收或者磨损均衡操作中任一种操作所占用的I/O带宽大于I/O带宽阈值时,确定目标硬盘的慢盘原因来自于目标硬盘的使用异常;在识别出电子设备中各个硬件组件之间的通信链路的稳定性参数与链路稳定性衡量指标不匹配时,则确定目标硬盘的慢盘原因来自于电子设备的硬件故障;在识别出第一I/O请求的第一响应时长与电子设备的I/O请求性能指标匹配时,则确定目标硬盘的慢盘原因来自于目标硬盘的使用异常。
值得注意的是,在目标硬盘执行过坏道修复操作,说明目标硬盘出现过硬盘坏道,硬盘坏道也是一种目标硬盘发生了盘体故障的情况。
垃圾回收(Garbage Collector,GC)操作或者磨损均衡(Wear Leveling,WL)操作均是硬盘使用过程中的正常操作,但这些操作可能会占用较多的I/O带宽,从而造成上层应用下发的I/O请求响应慢。其中,在占用的I/O带宽大于根据应用需求灵活设置的I/O带宽阈值时,说明垃圾回收或者磨损均衡操作中任一种操作所占用的I/O带宽较多。在占用的I/O带宽小于或等于根据应用需求灵活设置的I/O带宽阈值时,说明垃圾回收或者磨损均衡操作中任一种操作所占用的I/O带宽较少。
电子设备中各个硬件组件之间的通信链路的稳定性参数与链路稳定性衡量指标不匹配时,电子设备中各个硬件组件之间的通信链路的稳定性较差,这时,确定目标硬盘的慢盘原因来自于电子设备的硬件故障。电子设备中各个硬件组件之间的通信链路的稳定性参数与链路稳定性衡量指标匹配时,电子设备中各个硬件组件之间的通信链路的稳定性较好,这时,确定目标硬盘的慢盘原因不是来自于电子设备的硬件故障。其中,链路稳定性衡量指标例如包括但不限于接收功率值指标和链路持续时间(link duration,ld)指标。
在电子设备的I/O请求性能维度针对瞬时I/O访问压力大或者特殊属性的I/O访问请求配置适配的I/O请求性能指标,I/O请求性能指标例如为I/O请求的响应时长指标或者I/O请求响应时长超过第一时长阈值的持续时间指标。在识别出第一I/O请求的第一响应时长与电子设备的I/O请求性能指标匹配时,则确定目标硬盘的慢盘原因来自于目标硬盘的使用异常。在识别出第一I/O请求的第一响应时长与电子设备的I/O请求性能指标不匹配时,则确定目标硬盘的慢盘原因不是来自于目标硬盘的使用异常。
在本实施例中,针对目标硬盘的慢盘类别识别为第二类慢盘的情况,根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态的实现方式可以是:若目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障或电子设备的硬件故障,则禁用目标硬盘;若目标硬盘对应的慢盘原因来自于目标硬盘的使用异常,则继续使用目标硬盘。
本申请实施例提供的慢盘检测方法,在上层应用下发的访问硬盘的I/O请求出现响应慢的情况时,若I/O请求所请求访问的是持续慢盘,则在定位慢盘原因时,结合I/O请求的链路跟踪数据进行分层诊断,在确定I/O请求在内核层响应时间较短的情况下,对目标硬盘进行故障检测。若I/O请求所请求访问的是偶发慢盘,则结合目标硬盘是否执行过坏道修复操作、目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、电子设备中各个硬件组件之间的通信链路的稳定性以及电子设备的I/O请求性能等一个或多个维度定位慢盘原因。在定位出不同的慢盘原因,根据不同的慢盘原因控制硬盘的使用状态。由此,准确快速地诊断慢盘原因,并不会不加以区分直接禁用I/O请求所访问硬盘,减少了对上层应用的数据处理性能的影响。
图4为本申请实施例提供的另一种慢盘检测方法的流程图。该方法可由慢盘检测装置执行,该装置可以由软件和/或硬件的方式实现,并一般可以集成在电子设备中。参见图4,该方法可以包括以下步骤:
401、获取访问目标硬盘的第一输入/输出I/O请求对应的第一响应时长,第一I/O请求来自于目标硬盘所在电子设备上的上层应用。
关于步骤401的实现方式可以参见前述实施例中的步骤201或者301,在此不再赘述。
402、若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别,执行步骤403或407。
关于步骤401的实现方式可以参见前述实施例中的步骤202或者302,在此不再赘述。
403、若目标硬盘的慢盘类别识别为第一类慢盘,则获取第一I/O请求的链路跟踪数据,链路跟踪数据中包括第一I/O请求在电子设备的内核层消耗的时间。
关于步骤403的实现方式可以参见前述实施例中的步骤303,在此不再赘述。
404、若第一I/O请求在内核层消耗的时间大于第三时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的内核层异常。
关于步骤404的实现方式可以参见前述实施例中的步骤304,在此不再赘述。
405、若第一I/O请求在内核层消耗的时间小于或等于第三时长阈值,则根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常,第二I/O请求是第一I/O请求后续的I/O请求。
406、若目标硬盘对应的慢盘原因来自于目标硬盘异常,则对目标硬盘进行故障检测,以确定目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障,执行步骤408。
关于步骤406的实现方式可以参见前述实施例中的步骤305,在此不再赘述。
407、若目标硬盘的慢盘类别识别为第二类慢盘,则从至少一个维度分析目标硬盘对应的慢盘原因;至少一个维度包括以下维度中一种或者多种:目标硬盘是否执行过坏道修复操作、目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、电子设备中各个硬件组件之间的通信链路的稳定性以及电子设备的I/O请求性能指标要求,执行步骤408。
关于步骤407的实现方式可以参见前述实施例中的步骤306,在此不再赘述。
408、根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
关于步骤408的实现方式可以参见前述实施例中的步骤307,在此不再赘述。
值得注意的是,步骤404和405可以同时执行或者异步执行。执行步骤404后,可以执行步骤408。
在本实施例中,在目标硬盘的慢盘类别识别为第一类慢盘后,首先根据第一I/O请求的链路跟踪数据进行分层诊断,若第一I/O请求在内核层消耗的时间大于第三时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的内核层异常;若第一I/O请求在内核层消耗的时间小于或等于第三时长阈值,则确定目标硬盘对应的慢盘原因不是来自于电子设备的内核层异常,并进入目标硬盘对应的慢盘原因是否来自于目标硬盘异常的诊断步骤。具体而言,可以先根据在第一I/O请求后面下发的多个第二I/O请求各自对应的第二响应时长,初步识别目标硬盘对应的慢盘原因是否来自于目标硬盘异常;在初步识别目标硬盘对应的慢盘原因来自于目标硬盘异常,再对目标硬盘进行故障检测,以精确识别目标硬盘对应的慢盘原因是否来自于目标硬盘异常。
进一步可选的,根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常的可选实现方式可以是:生成多个第二I/O请求对应的多个第二响应时长的分布信息和多个第二I/O请求对应的多个第三响应时长的分布信息;若多个第二响应时长的分布信息与多个第三响应时长的分布信息一致,则确定目标硬盘对应的慢盘原因来自于目标硬盘异常。
在本实施例中,第二响应时长是指第二I/O请求自被上层应用下发到被目标硬盘进行响应的时长,第三响应时长是指目标硬盘自接收到第二I/O请求并对第二I/O请求进行响应的时长。例如,在15:10:00时刻上层应用下发了第二I/O请求,并在15:10:00时刻开始进行第二响应时长的计时,在15:10:30时刻,该第二I/O请求下发至目标硬盘,这时,开始第三响应时长的计时。在上层应用接收到硬盘响应第二I/O请求返回的响应数据时,第二响应时长停止计时。在硬盘执行完第二I/O请求的响应操作,第三响应时长停止计时。
值得注意是的,若多个第二响应时长的分布信息与多个第三响应时长的分布信息一致,则说明I/O请求响应慢与目标硬盘有很大关系,这时,可以确定目标硬盘对应的慢盘原因来自于目标硬盘异常。若多个第二响应时长的分布信息与多个第三响应时长的分布信息不一致,则说明I/O请求响应慢与目标硬盘关系可能不大,这时,确定目标硬盘对应的慢盘原因不是来自于目标硬盘异常。
在本实施例中,利用链路跟踪数据还可以识别目标硬盘对应的慢盘原因是否来自于电子设备的硬件层异常,并在确定目标硬盘对应的慢盘原因来自于电子设备的硬件层异常,再对目标硬盘对应的慢盘原因来自于目标硬盘异常进行分析。于是,进一步可选的,在根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常之前,上述方法还可以包括以下步骤:从链路跟踪数据中获取第一I/O请求在非内核层消耗的时间,非内核层包括电子设备的驱动层和硬件层。若第一I/O请求在非内核层消耗的时间大于第四时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的硬件层异常,硬件层包括目标硬盘。若第一I/O请求在非内核层消耗的时间小于或等于第四时长阈值,则确定目标硬盘对应的慢盘原因不是来自于电子设备的硬件层异常,硬件层包括目标硬盘。其中,第四时长阈值根据实际应用需求灵活设置。
本申请实施例提供的慢盘检测方法,在上层应用下发的访问硬盘的I/O请求出现响应慢的情况时,若I/O请求所请求访问的是持续慢盘,则在定位慢盘原因时,结合I/O请求的链路跟踪数据进行分层诊断,在确定I/O请求在内核层响应时间较短的情况下,先根据在第一I/O请求后面下发的多个第二I/O请求各自对应的第二响应时长,初步识别目标硬盘对应的慢盘原因是否来自于目标硬盘异常;在初步识别目标硬盘对应的慢盘原因来自于目标硬盘异常,再对目标硬盘进行故障检测,以精确识别目标硬盘对应的慢盘原因是否来自于目标硬盘异常。若I/O请求所请求访问的是偶发慢盘,则结合目标硬盘是否执行过坏道修复操作、目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、电子设备中各个硬件组件之间的通信链路的稳定性以及电子设备的I/O请求性能等一个或多个维度定位慢盘原因。在定位出不同的慢盘原因,根据不同的慢盘原因控制硬盘的使用状态。由此,准确快速地诊断慢盘原因,并不会不加以区分直接禁用I/O请求所访问硬盘,减少了对上层应用的数据处理性能的影响。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤403的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图5为本申请实施例提供的一种慢盘检测装置的结构示意图。如图5所示,该慢盘检测装置可以包括:获取模块51、识别模块52、分析模块53以及控制模块54。
获取模块51,用于获取访问目标硬盘的第一I/O请求对应的第一响应时长,第一I/O请求来自目标硬盘所在电子设备上的上层应用;
识别模块52,用于若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别;
分析模块53,用于根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因;
控制模块54,用于根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
进一步可选的,识别模块52根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别时,具体用于:若第一响应时长超过第一时长阈值的持续时间大于第二时长阈值,则将目标硬盘的慢盘类别识别为第一类慢盘;若第一响应时长超过第一时长阈值的持续时间小于或等于第二时长阈值,则将目标硬盘的慢盘类别识别为第二类慢盘。
进一步可选的,分析模块53根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因时,具体用于:若目标硬盘的慢盘类别识别为第一类慢盘,则获取第一I/O请求的链路跟踪数据,链路跟踪数据中包括第一I/O请求在电子设备的内核层消耗的时间;若第一I/O请求在内核层消耗的时间大于第三时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的内核层异常;若第一I/O请求在内核层消耗的时间小于或等于第三时长阈值,则对目标硬盘进行故障检测,以确定目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障。
进一步可选的,分析模块53在对目标硬盘进行故障检测之前,还用于:根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常,第二I/O请求是第一I/O请求后续的I/O请求;若目标硬盘对应的慢盘原因来自于目标硬盘异常,则执行对目标硬盘进行故障检测的操作。
进一步可选的,分析模块53根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常之前,还用于:从链路跟踪数据中获取第一I/O请求在非内核层消耗的时间,非内核层包括电子设备的驱动层和硬件层;若第一I/O请求在非内核层消耗的时间大于第四时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的硬件层异常,硬件层包括目标硬盘。
进一步可选的,分析模块53根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常时,具体用于:生成多个第二I/O请求对应的多个第二响应时长的分布信息和多个第二I/O请求对应的多个第三响应时长的分布信息,第二响应时长是指第二I/O请求自被上层应用下发到被目标硬盘进行响应的时长,第三响应时长是指目标硬盘自接收到第二I/O请求并对第二I/O请求进行响应的时长; 若多个第二响应时长的分布信息与多个第三响应时长的分布信息一致,则确定目标硬盘对应的慢盘原因来自于目标硬盘异常。
进一步可选的,控制模块54根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态时,具体用于:若目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障,则禁用目标硬盘;若目标硬盘对应的慢盘原因来自于电子设备的内核层异常,则继续使用目标硬盘。
进一步可选的,分析模块53对目标硬盘进行故障检测时,具体用于:从目标硬盘对应的日志数据中,获取固件层记录的盘体异常数据、驱动层记录的盘体异常数据和目标硬盘的盘体状态数据中至少一种信息;根据至少一种信息检测目标硬盘是否出现盘体故障。
进一步可选的,分析模块53根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因时,具体用于:若目标硬盘的慢盘类别识别为第二类慢盘,则从至少一个维度分析目标硬盘对应的慢盘原因;
至少一个维度包括以下维度中一种或者多种:目标硬盘是否执行过坏道修复操作、目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、电子设备中各个硬件组件之间的通信链路的稳定性以及电子设备的I/O请求性能。
进一步可选的,分析模块53从至少一个维度分析目标硬盘对应的慢盘原因时,具体用于:在识别出目标硬盘执行过坏道修复操作时,确定目标硬盘的慢盘原因来自于目标硬盘的盘体故障;在识别出目标硬盘执行垃圾回收或者磨损均衡操作中任一种操作所占用的I/O带宽大于I/O带宽阈值时,确定目标硬盘的慢盘原因来自于目标硬盘的使用异常;在识别出电子设备中各个硬件组件之间的通信链路的稳定性参数与链路稳定性衡量指标不匹配时,则确定目标硬盘的慢盘原因来自于电子设备的硬件故障;在识别出第一I/O请求的第一响应时长与电子设备的I/O请求性能指标匹配时,则确定目标硬盘的慢盘原因来自于目标硬盘的使用异常。
进一步可选的,控制模块54根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态时,具体用于:若目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障或电子设备的硬件故障,则禁用目标硬盘;若目标硬盘对应的慢盘原因来自于目标硬盘的使用异常,则继续使用目标硬盘。
对于上述实施例中的慢盘检测装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6为本申请实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备包括:存储器61和处理器62;
存储器61,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器61可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器62,与存储器61耦合,用于执行存储器61中的计算机程序,以用于:获取访问目标硬盘的第一I/O请求对应的第一响应时长,第一I/O请求来自目标硬盘所在电子设备上的上层应用;若第一响应时长超过第一时长阈值,则根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别;根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因;根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态。
进一步可选的,处理器62根据第一响应时长超过第一时长阈值的持续时间,识别目标硬盘所属的慢盘类别时,具体用于:若第一响应时长超过第一时长阈值的持续时间大于第二时长阈值,则将目标硬盘的慢盘类别识别为第一类慢盘;若第一响应时长超过第一时长阈值的持续时间小于或等于第二时长阈值,则将目标硬盘的慢盘类别识别为第二类慢盘。
进一步可选的,处理器62根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因时,具体用于:若目标硬盘的慢盘类别识别为第一类慢盘,则获取第一I/O请求的链路跟踪数据,链路跟踪数据中包括第一I/O请求在电子设备的内核层消耗的时间;若第一I/O请求在内核层消耗的时间大于第三时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的内核层异常;若第一I/O请求在内核层消耗的时间小于或等于第三时长阈值,则对目标硬盘进行故障检测,以确定目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障。
进一步可选的,处理器62在对目标硬盘进行故障检测之前,还用于:根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常,第二I/O请求是第一I/O请求后续的I/O请求;若目标硬盘对应的慢盘原因来自于目标硬盘异常,则执行对目标硬盘进行故障检测的操作。
进一步可选的,处理器62根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常之前,还用于:从链路跟踪数据中获取第一I/O请求在非内核层消耗的时间,非内核层包括电子设备的驱动层和硬件层;若第一I/O请求在非内核层消耗的时间大于第四时长阈值,则确定目标硬盘对应的慢盘原因来自于电子设备的硬件层异常,硬件层包括目标硬盘。
进一步可选的,处理器62根据多个第二I/O请求各自对应的第二响应时长,确定目标硬盘对应的慢盘原因是否来自于目标硬盘异常时,具体用于:生成多个第二I/O请求对应的多个第二响应时长的分布信息和多个第二I/O请求对应的多个第三响应时长的分布信息,第二响应时长是指第二I/O请求自被上层应用下发到被目标硬盘进行响应的时长,第三响应时长是指目标硬盘自接收到第二I/O请求并对第二I/O请求进行响应的时长; 若多个第二响应时长的分布信息与多个第三响应时长的分布信息一致,则确定目标硬盘对应的慢盘原因来自于目标硬盘异常。
进一步可选的,处理器62根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态时,具体用于:若目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障,则禁用目标硬盘;若目标硬盘对应的慢盘原因来自于电子设备的内核层异常,则继续使用目标硬盘。
进一步可选的,处理器62对目标硬盘进行故障检测时,具体用于:从目标硬盘对应的日志数据中,获取固件层记录的盘体异常数据、驱动层记录的盘体异常数据和目标硬盘的盘体状态数据中至少一种信息;根据至少一种信息检测目标硬盘是否出现盘体故障。
进一步可选的,处理器62根据目标硬盘所属的慢盘类别,分析目标硬盘对应的慢盘原因时,具体用于:若目标硬盘的慢盘类别识别为第二类慢盘,则从至少一个维度分析目标硬盘对应的慢盘原因;
至少一个维度包括以下维度中一种或者多种:目标硬盘是否执行过坏道修复操作、目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、电子设备中各个硬件组件之间的通信链路的稳定性以及电子设备的I/O请求性能。
进一步可选的,处理器62从至少一个维度分析目标硬盘对应的慢盘原因时,具体用于:在识别出目标硬盘执行过坏道修复操作时,确定目标硬盘的慢盘原因来自于目标硬盘的盘体故障;在识别出目标硬盘执行垃圾回收或者磨损均衡操作中任一种操作所占用的I/O带宽大于I/O带宽阈值时,确定目标硬盘的慢盘原因来自于目标硬盘的使用异常;在识别出电子设备中各个硬件组件之间的通信链路的稳定性参数与链路稳定性衡量指标不匹配时,则确定目标硬盘的慢盘原因来自于电子设备的硬件故障;在识别出第一I/O请求的第一响应时长与电子设备的I/O请求性能指标匹配时,则确定目标硬盘的慢盘原因来自于目标硬盘的使用异常。
进一步可选的,处理器62根据目标硬盘对应的慢盘原因,控制目标硬盘的使用状态时,具体用于:若目标硬盘对应的慢盘原因来自于目标硬盘的盘体故障或电子设备的硬件故障,则禁用目标硬盘;若目标硬盘对应的慢盘原因来自于目标硬盘的使用异常,则继续使用目标硬盘。
关于处理器执行各步骤的详细实施过程可参见前述方法实施例或装置实施例中的相关描述,在此不再赘述。
进一步,如图6所示,该电子设备还包括:通信组件63、显示器64、电源组件65、音频组件66等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。另外,图6中虚线框内的组件为可选组件,而非必选组件,具体可视电子设备的产品形态而定。本实施例的电子设备可以实现为台式电脑、笔记本电脑、智能手机或I/OT设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的电子设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图6中虚线框内的组件;若本实施例的电子设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图6中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种慢盘检测方法,其特征在于,包括:
获取访问目标硬盘的第一输入/输出I/O请求对应的第一响应时长,所述第一I/O请求来自于所述目标硬盘所在电子设备上的上层应用;
若所述第一响应时长超过第一时长阈值,则根据所述第一响应时长超过所述第一时长阈值的持续时间,识别所述目标硬盘所属的慢盘类别;
根据所述目标硬盘所属的慢盘类别,分析所述目标硬盘对应的慢盘原因;
根据所述目标硬盘对应的慢盘原因,控制所述目标硬盘的使用状态。
2.根据权利要求1所述的方法,其特征在于,根据所述第一响应时长超过所述第一时长阈值的持续时间,识别所述目标硬盘所属的慢盘类别包括:
若所述第一响应时长超过所述第一时长阈值的持续时间大于第二时长阈值,则将所述目标硬盘的慢盘类别识别为第一类慢盘;
若所述第一响应时长超过所述第一时长阈值的持续时间小于或等于所述第二时长阈值,则将所述目标硬盘的慢盘类别识别为第二类慢盘。
3.根据权利要求2所述的方法,其特征在于,根据所述目标硬盘所属的慢盘类别,分析所述目标硬盘对应的慢盘原因,包括:
若所述目标硬盘的慢盘类别识别为第一类慢盘,则获取所述第一I/O请求的链路跟踪数据,所述链路跟踪数据中包括所述第一I/O请求在所述电子设备的内核层消耗的时间;
若所述第一I/O请求在所述内核层消耗的时间大于第三时长阈值,则确定所述目标硬盘对应的慢盘原因来自于所述电子设备的内核层异常;
若所述第一I/O请求在所述内核层消耗的时间小于或等于所述第三时长阈值,则对所述目标硬盘进行故障检测,以确定所述目标硬盘对应的慢盘原因来自于所述目标硬盘的盘体故障。
4.根据权利要求3所述的方法,其特征在于,在对所述目标硬盘进行故障检测之前,还包括:
根据多个第二I/O请求各自对应的第二响应时长,确定所述目标硬盘对应的慢盘原因是否来自于所述目标硬盘异常,所述第二I/O请求是所述第一I/O请求后续的I/O请求;
若所述目标硬盘对应的慢盘原因来自于所述目标硬盘异常,则执行对所述目标硬盘进行故障检测的操作。
5.根据权利要求4所述的方法,其特征在于,根据多个第二I/O请求各自对应的第二响应时长,确定所述目标硬盘对应的慢盘原因是否来自于所述目标硬盘异常之前,还包括:
从所述链路跟踪数据中获取所述第一I/O请求在非内核层消耗的时间,所述非内核层包括所述电子设备的驱动层和硬件层;
若所述第一I/O请求在所述非内核层消耗的时间大于第四时长阈值,则确定所述目标硬盘对应的慢盘原因来自于所述电子设备的硬件层异常,所述硬件层包括所述目标硬盘。
6.根据权利要求4所述的方法,其特征在于,根据多个第二I/O请求各自对应的第二响应时长,确定所述目标硬盘对应的慢盘原因是否来自于所述目标硬盘异常,包括:
生成所述多个第二I/O请求对应的多个第二响应时长的分布信息和所述多个第二I/O请求对应的多个第三响应时长的分布信息,所述第二响应时长是指所述第二I/O请求自被所述上层应用下发到被所述目标硬盘进行响应的时长,所述第三响应时长是指所述目标硬盘自接收到所述第二I/O请求并对所述第二I/O请求进行响应的时长;
若所述多个第二响应时长的分布信息与所述多个第三响应时长的分布信息一致,则确定所述目标硬盘对应的慢盘原因来自于所述目标硬盘异常。
7.根据权利要求3所述的方法,其特征在于,根据所述目标硬盘对应的慢盘原因,控制所述目标硬盘的使用状态,包括:
若所述目标硬盘对应的慢盘原因来自于所述目标硬盘的盘体故障,则禁用所述目标硬盘;
若所述目标硬盘对应的慢盘原因来自于所述电子设备的内核层异常,则继续使用所述目标硬盘。
8.根据权利要求3所述的方法,其特征在于,对所述目标硬盘进行故障检测包括:
从所述目标硬盘对应的日志数据中,获取固件层记录的盘体异常数据、驱动层记录的盘体异常数据和所述目标硬盘的盘体状态数据中至少一种信息;
根据所述至少一种信息检测所述目标硬盘是否出现盘体故障。
9.根据权利要求2所述的方法,其特征在于,根据所述目标硬盘所属的慢盘类别,分析所述目标硬盘对应的慢盘原因包括;
若所述目标硬盘的慢盘类别识别为所述第二类慢盘,则从至少一个维度分析所述目标硬盘对应的慢盘原因;
所述至少一个维度包括以下维度中一种或者多种:所述目标硬盘是否执行过坏道修复操作、所述目标硬盘执行垃圾回收或者磨损均衡操作所占用的I/O带宽、所述电子设备中各个硬件组件之间的通信链路的稳定性以及所述电子设备的I/O请求性能。
10.根据权利要求9所述的方法,其特征在于,从至少一个维度分析所述目标硬盘对应的慢盘原因,包括:
在识别出所述目标硬盘执行过坏道修复操作时,确定所述目标硬盘的慢盘原因来自于所述目标硬盘的盘体故障;
在识别出所述目标硬盘执行垃圾回收或者磨损均衡操作中任一种操作所占用的I/O带宽大于I/O带宽阈值时,确定所述目标硬盘的慢盘原因来自于所述目标硬盘的使用异常;
在识别出所述电子设备中各个硬件组件之间的通信链路的稳定性参数与链路稳定性衡量指标不匹配时,则确定所述目标硬盘的慢盘原因来自于所述电子设备的硬件故障;
在识别出所述第一I/O请求的第一响应时长与所述电子设备的I/O请求性能指标匹配时,则确定所述目标硬盘的慢盘原因来自于所述目标硬盘的使用异常。
11.根据权利要求9所述的方法,其特征在于,根据所述目标硬盘对应的慢盘原因,控制所述目标硬盘的使用状态,包括:
若所述目标硬盘对应的慢盘原因来自于所述目标硬盘的盘体故障或所述电子设备的硬件故障,则禁用所述目标硬盘;
若所述目标硬盘对应的慢盘原因来自于所述目标硬盘的使用异常,则继续使用所述目标硬盘。
12.一种慢盘检测装置,其特征在于,包括:
获取模块,用于获取访问目标硬盘的第一I/O请求对应的第一响应时长,所述第一I/O请求来自所述目标硬盘所在电子设备上的上层应用;
识别模块,用于若所述第一响应时长超过第一时长阈值,则根据所述第一响应时长超过所述第一时长阈值的持续时间,识别所述目标硬盘所属的慢盘类别;
分析模块,用于根据所述目标硬盘所属的慢盘类别,分析所述目标硬盘对应的慢盘原因;
控制模块,用于根据所述目标硬盘对应的慢盘原因,控制所述目标硬盘的使用状态。
13.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-11任一项所述方法中的步骤。
14.一种存储有计算机程序的计算机存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-11任一项所述方法中的步骤。
CN202210312249.0A 2022-03-28 2022-03-28 慢盘检测方法、装置、电子设备及存储介质 Active CN114415973B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210312249.0A CN114415973B (zh) 2022-03-28 2022-03-28 慢盘检测方法、装置、电子设备及存储介质
PCT/CN2023/084177 WO2023185767A1 (zh) 2022-03-28 2023-03-27 慢盘检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210312249.0A CN114415973B (zh) 2022-03-28 2022-03-28 慢盘检测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114415973A true CN114415973A (zh) 2022-04-29
CN114415973B CN114415973B (zh) 2022-08-30

Family

ID=81264603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210312249.0A Active CN114415973B (zh) 2022-03-28 2022-03-28 慢盘检测方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114415973B (zh)
WO (1) WO2023185767A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934003A (zh) * 2023-03-09 2023-04-07 浪潮电子信息产业股份有限公司 磁盘阵列中的慢盘识别方法、装置、设备及可读存储介质
WO2023185767A1 (zh) * 2022-03-28 2023-10-05 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785074B (zh) * 2024-02-28 2024-07-02 济南浪潮数据技术有限公司 一种输入输出超时处理的方法、装置、服务器及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147708A (zh) * 2010-02-10 2011-08-10 成都市华为赛门铁克科技有限公司 一种磁盘检测方法及装置
CN103810062A (zh) * 2014-03-05 2014-05-21 华为技术有限公司 慢盘检测方法和装置
JP2014170399A (ja) * 2013-03-04 2014-09-18 Nec Corp Raidシステム、ハードディスクドライブ性能低下検出方法およびそのプログラム
WO2017012392A1 (zh) * 2015-07-17 2017-01-26 中兴通讯股份有限公司 一种磁盘检测的方法和装置
CN106557389A (zh) * 2015-09-29 2017-04-05 成都华为技术有限公司 一种慢盘检测方法和装置
US20170177220A1 (en) * 2014-08-30 2017-06-22 Huawei Technologies Co., Ltd. Disk area isolation method and device
CN107797893A (zh) * 2016-09-07 2018-03-13 华为数字技术(成都)有限公司 一种计算硬盘处理读写命令的时长的方法及设备
US20200327020A1 (en) * 2019-04-10 2020-10-15 EMC IP Holding Company LLC Predicting and handling of slow disk
CN112579379A (zh) * 2020-12-24 2021-03-30 深信服科技股份有限公司 一种卡慢盘的识别处理方法、系统、装置及可读存储介质
CN113590405A (zh) * 2021-08-11 2021-11-02 浙江大华技术股份有限公司 硬盘错误的检测方法、装置、存储介质和电子装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783259B (zh) * 2017-11-15 2022-07-26 成都华为技术有限公司 慢盘检测方法和装置、存储介质
CN111933207A (zh) * 2020-08-26 2020-11-13 腾讯科技(深圳)有限公司 慢盘识别方法、装置、电子设备及存储设备
CN113625945A (zh) * 2021-06-25 2021-11-09 济南浪潮数据技术有限公司 分布式存储的慢盘处理方法、系统、终端及存储介质
CN114415973B (zh) * 2022-03-28 2022-08-30 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147708A (zh) * 2010-02-10 2011-08-10 成都市华为赛门铁克科技有限公司 一种磁盘检测方法及装置
JP2014170399A (ja) * 2013-03-04 2014-09-18 Nec Corp Raidシステム、ハードディスクドライブ性能低下検出方法およびそのプログラム
CN103810062A (zh) * 2014-03-05 2014-05-21 华为技术有限公司 慢盘检测方法和装置
US20170177220A1 (en) * 2014-08-30 2017-06-22 Huawei Technologies Co., Ltd. Disk area isolation method and device
WO2017012392A1 (zh) * 2015-07-17 2017-01-26 中兴通讯股份有限公司 一种磁盘检测的方法和装置
CN106557389A (zh) * 2015-09-29 2017-04-05 成都华为技术有限公司 一种慢盘检测方法和装置
CN107797893A (zh) * 2016-09-07 2018-03-13 华为数字技术(成都)有限公司 一种计算硬盘处理读写命令的时长的方法及设备
US20200327020A1 (en) * 2019-04-10 2020-10-15 EMC IP Holding Company LLC Predicting and handling of slow disk
CN112579379A (zh) * 2020-12-24 2021-03-30 深信服科技股份有限公司 一种卡慢盘的识别处理方法、系统、装置及可读存储介质
CN113590405A (zh) * 2021-08-11 2021-11-02 浙江大华技术股份有限公司 硬盘错误的检测方法、装置、存储介质和电子装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HE M: "A Data Migration Strategy for HSM Based on Data Value", 《JOURNAL OF INFORMATION&COMPUTATIONAL SCIENCE》 *
邱春民等: "基于遗传算法的混合存储数据分类研究", 《滨州职业学院学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185767A1 (zh) * 2022-03-28 2023-10-05 阿里云计算有限公司 慢盘检测方法、装置、电子设备及存储介质
CN115934003A (zh) * 2023-03-09 2023-04-07 浪潮电子信息产业股份有限公司 磁盘阵列中的慢盘识别方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
WO2023185767A1 (zh) 2023-10-05
CN114415973B (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN114415973B (zh) 慢盘检测方法、装置、电子设备及存储介质
US20180173617A1 (en) System and method for testing program using user interaction replay
US11556740B2 (en) Sensor triggered sound clip capturing for machine learning
US20100083043A1 (en) Information processing device, recording medium that records an operation state monitoring program, and operation state monitoring method
US20150356794A1 (en) Connected vehicle predictive quality
CN111651041B (zh) 移动设备的抬起唤醒方法及系统
CN110874315A (zh) 测试方法、装置、电子设备和存储介质
CN111272393A (zh) 闪光灯检测方法及设备
CN112817831A (zh) 应用性能监测方法、装置、计算机系统和可读存储介质
CN112346965A (zh) 测试用例分配方法、装置及存储介质
US9916220B2 (en) Smart logging of trace data for storage systems
CN110018986B (zh) 异常快照识别方法及装置
CN116643958A (zh) 日志数据处理方法及装置
CN108920563B (zh) 一种数据库切换方法及装置
CN113468029A (zh) 日志管理方法、装置、电子设备和可读存储介质
CN108664366B (zh) 数据传输方法、装置及服务器
CN112069503A (zh) 任务管理方法、设备及存储介质
CN117667604B (zh) 追踪事件的数据监测方法、装置、电子设备及存储介质
CN112286804B (zh) 系统的调试方法、装置、设备和介质
CN118210712A (zh) 压力测试方法、装置、电子设备和存储介质
CN117116333B (zh) 一种企业级固态硬盘vpd信息的测试方法和测试装置
CN107783827B (zh) 异步任务处理方法及装置
CN114911709A (zh) 一种数据处理方法、装置、电子设备、计算机存储介质
CN118070349A (zh) 数据修正方法、装置、电子设备和存储介质
CN115658555A (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