一种慢盘识别方法和计算设备与流程

未命名 10-09 阅读:105 评论:0


1.本技术涉及计算设备领域,尤其涉及一种慢盘识别方法和计算设备。


背景技术:

2.在计算设备的多个硬盘中任意硬盘若出现慢盘现象,会大幅降低操作系统的读写速度,进而影响到相关的业务。例如响应不及时,从而引发业务瓶颈问题,甚至引发客户业务中断,因此慢盘识别和定位至关重要。


技术实现要素:

3.本技术实施例提供了一种慢盘识别方法,用于识别计算设备中的慢盘现象。
4.本技术第一方面提供了一种慢盘识别方法和计算设备,用于识别计算设备中的慢盘现象。本技术提供了一种慢盘识别方法和计算设备。在本技术中,获取目标硬盘的硬盘日志,该硬盘日志描述了目标硬盘的多次输入/输出(input/output,io)事件的信息。接着,基于硬盘日志确定目标硬盘的多次io事件中的每次io超时事件的次数和/或超时时长。最后,可以io超时事件的次数和/或超时时长确定在目标硬盘中是否出现慢盘现象,相比较仅基于iops的信息来判断慢盘现象,可以排除操作系统、驱动、固件等其他情况,从而准确地确定出现慢盘现象的硬盘。
5.在一些可能的实现方式中,可以计算所述io超时事件的次数在所述io事件的次数中的次数占比,若所述次数占比高于预设次数比例,则确定所述目标硬盘中出现了慢盘现象,从而确定了目标硬盘中是否出现慢盘现象。
6.在一些可能的实现方式中,可以计算多种io超时事件的次数在所述io事件的次数中的占比,得到多个次数占比,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件,若所述多个次数占比中至少一个高于对应的预设次数比例,则确定所述目标硬盘中出现了慢盘现象,从而确定了目标硬盘中是否出现慢盘现象。
7.在一些可能的实现方式中,可以计算所述io超时事件的总超时时长,若所述总超时时长高于预设时长,则确定所述目标硬盘中出现了慢盘现象,从而确定了目标硬盘中是否出现慢盘现象。
8.在一些可能的实现方式中,可以计算多种io超时事件的总超时时长,得到多个总超时时长,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件,若所述多个总超时时长中至少一个高于对应的预设比例,则确定所述目标硬盘中出现了慢盘现象,从而确定了目标硬盘中是否出现慢盘现象。
9.在一些可能的实现方式中,周期性地获取所述目标硬盘的硬盘日志,从而实现计算设备周期性的监控目标硬盘中是否出现慢盘现象。
10.在一些可能的实现方式中,当所述目标硬盘的每秒进行读写操作的次数iops低于
预设值,获取所述目标硬盘的硬盘日志,从而在有需要的时候才判断目标硬盘中是否出现慢盘现象,节省了算力资源。
11.在一些可能的实现方式中,向所述目标硬盘发送小型计算机系统接口scsi命令,以获取所述目标硬盘返回的所述硬盘日志,从而可以获取具体的目标硬盘的硬盘日志。
12.本技术第二方面提供了一种计算设备,所述计算设备包括:
13.获取模块,用于获取目标硬盘的硬盘日志,所述硬盘日志描述了所述目标硬盘的多次输入/输出io事件的信息;处理模块,用于基于所述硬盘日志确定所述目标硬盘的多次io事件中的io超时事件的次数和/或超时时长;处理模块,还用于基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象。
14.在一些可能的实现方式中,所述处理模块,具体用于:计算所述io超时事件的次数在所述io事件的次数中的次数占比;若所述次数占比高于预设次数比例,则确定所述目标硬盘中出现了慢盘现象。
15.在一些可能的实现方式中,所述处理模块,具体用于:计算多种io超时事件的次数在所述io事件的次数中的占比,得到多个次数占比,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件;若所述多个次数占比中至少一个高于对应的预设次数比例,则确定所述目标硬盘中出现了慢盘现象。
16.在一些可能的实现方式中,所述处理模块,具体用于:计算所述io超时事件的总超时时长;若所述总超时时长高于预设时长,则确定所述目标硬盘中出现了慢盘现象。
17.在一些可能的实现方式中,所述处理模块,具体用于:计算多种io超时事件的总超时时长,得到多个总超时时长,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件;若所述多个总超时时长中至少一个高于对应的预设比例,则确定所述目标硬盘中出现了慢盘现象。
18.在一些可能的实现方式中,所述获取模块,具体用于:周期性地获取所述目标硬盘的硬盘日志。
19.在一些可能的实现方式中,所述获取模块,具体用于:当所述目标硬盘的每秒进行读写操作的次数iops低于预设值,获取所述目标硬盘的硬盘日志。
20.在一些可能的实现方式中,所述获取模块,具体用于:向所述目标硬盘发送小型计算机系统接口scsi命令,以获取所述目标硬盘返回的所述硬盘日志。
21.本技术第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面中任一项所述的方法。
22.本技术第四方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的任一种可能的实现方式所提供的方法。
23.本技术第五方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储器和通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通
信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
24.本技术第六方面提供了一种芯片系统,该芯片系统包括处理器,用于支持实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。
25.在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
26.其中,第二至第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
27.图1-1为本技术实施例提供的一种计算设备的组成结构示意图;
28.图1-2为本技术实施例提供的一种计算设备的组成结构的另一示意图;
29.图2为本技术实施例提供的一种慢盘识别方法的流程示意图;
30.图3为本技术实施例提供的一种计算设备的结构示意图;
31.图4为本技术实施例提供的一种通信装置的结构示意图。
具体实施方式
32.本技术实施例提供了一种慢盘识别方法和计算设备,用于识别计算设备中的慢盘现象。
33.下面结合附图,对本技术的实施例进行描述。
34.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
35.如图1-1所示,本技术可应用于计算设备100,该计算设备100包括处理模块110和存储模块120,其中,存储模块120可以包括多个硬盘。示例性的,如图1-1所示,存储模块120包括硬盘1、硬盘2、硬盘3和硬盘4。
36.计算设备100可以是一台服务器或其他类型的计算设备,本技术实施例对此不做限定。其中,服务器也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求并进行处理,提供可靠的服务,因此一般来说服务器应具备承担服务并且保障服务的能力,该服务器需要具备较强的处理能力、高稳定性、高可靠性、高安全性、可扩展性以及可管理性。在本技术实施例中,所述服务器可以是x86服务器,x86服务器又称复杂指令集(complex instruction set computer,cisc)架构服务器,即通常所讲的个人计算机(personal computer,pc)服务器,它是基于pc机体系结构,使用英特尔(intel)或其它兼容x86指令集的处理器芯片和windows操作系统的服务器。
37.服务器可因配置或性能不同而产生比较大的差异,可以包括至少一个中央处理器(central processing units,cpu)(例如,至少一个处理器)和存储器,至少一个存储应用
程序或数据的存储介质(例如至少一个海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括至少一个模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器可以设置为与存储介质通信,在服务器上执行存储介质中的一系列指令操作。服务器还可以包括至少一个电源,至少一个有线或无线网络接口,至少一个输入输出接口,和/或,至少一个操作系统,例如windows server,mac os x,unix,linux,freebsd,netware等等。在一些可行的实现方式中,服务器还可以为云服务器,此处不做限定。
38.处理模块110是计算设备100的控制中心,利用各种接口和线路连接计算设备100的各个部分,通过运行或执行存储在存储模块120内的软件程序和/或模块,以及调用存储在存储模块120内的数据,执行计算设备100的各种功能和处理数据,从而对计算设备100进行整体监控。可选的,处理模块110可包括一个或多个处理单元;优选的,处理模块110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理模块110中。在一些可行的实现方式中,处理模块110可以为中央处理器(central processing unit,cpu),也可以为其他处理器,此处不做限定。
39.硬盘是用于存放数据的实际物理载体,市面上较为常见的存储器包括机械硬盘(hard disk drive,hdd)和固态硬盘(solid state drives,ssd)。其中,hdd中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离为0.1微米(μm)~0.5μm,较高的水平已经达到0.005μm~0.01μm,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。机械硬盘读写速度依赖于电机的转速,因为需要依靠电机带动磁盘高速转动使磁头找到指定位置进行读写。ssd又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。
40.在一些可能的实现方式中,请参阅图1-2,该计算设备100还可以包括磁盘阵列(redundant arrays of independent disks,raid)卡130和硬盘背板140。
41.硬盘背板140由印刷电路板(printed circuit board,pcb)制成,用于通过连接处理模块110、raid卡130和存储模块120,再通过布线的方式实现处理模块110、raid卡130和存储模块120之间的数据传输。其中,处理模块110和raid卡130可以通过高速串行计算机扩展总线标准(peripheral component interconnect express,pcie)连接并通信。
42.硬盘可以为非易失性随机存取存储器(non-volatile random access memory,nvram)。硬盘存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。需要说明的是,计算设备100可以内置多个硬盘,例如8个硬盘,此处不做限定。在一些可行的实现方式中,各个硬盘可以分别为不尽相同类型的硬盘。示例性的,硬盘可以为串行连接小型计算机系统接口(serial attached scsi,sas)硬盘、串口(serial ata,sata)硬盘或非易失性内存主机控制器接口规范(non-volatile memory express)硬盘。
43.计算设备100通常搭载raid卡130,raid卡130可以管理计算设备100中的硬盘。在一些可能的实现方式中,raid卡130与存储模块120之间的通信可以为raid直通、简单驱动捆绑(just a bunch of disks,jbod)或组raid,此处不做限定。
44.在一些可行的实现方式中,计算设备100还可以包括显示模块和输入模块(例如键
盘、鼠标、触摸屏等,此处不做限定)。
45.其中,显示模块可用于显示由用户输入的信息或提供给用户的信息以及计算设备100的各种界面。显示模块可包括显示面板,可选的,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理模块110以确定触摸事件的类型,随后处理模块110根据触摸事件的类型在显示面板上提供相应的视觉输出。
46.输入模块可用于接收输入的数字或字符信息,以及产生与计算设备100的用户设置以及功能控制有关的键信号输入。具体地,输入模块可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理模块110,并能接收处理模块110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入模块还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
47.在计算设备的多个硬盘中任意硬盘若出现慢盘现象,会大幅降低操作系统的读写速度,进而影响到相关的业务。例如响应不及时,从而引发业务瓶颈问题,甚至引发客户业务中断,因此慢盘识别和定位至关重要。
48.当前,主要基于操作系统中的每秒进行读写操作的次数(input/output operations per second,iops)的信息,通过一定的检测标准来识别慢盘。例如,若iops较低,则判定出现慢盘。但是,除了慢盘的现象之外,还可能有多种原因可以造成iops较低,例如由于操作系统、驱动、固件而引起的iops较低,因此单靠iops的信息并不能准确识别慢盘的现象。
49.本技术提供了一种慢盘识别方法和计算设备。在本技术中,获取目标硬盘的硬盘日志,该硬盘日志描述了目标硬盘的多次输入/输出(input/output,io)事件的信息。接着,基于硬盘日志确定目标硬盘的多次io事件中的每次io超时事件的次数和/或超时时长。最后,可以io超时事件的次数和/或超时时长确定在目标硬盘中是否出现慢盘现象,相比较仅基于iops的信息来判断慢盘现象,可以排除操作系统、驱动、固件等其他情况,从而准确地确定出现慢盘现象的硬盘。
50.前述实施例介绍了本技术提供给的计算设备100,接下来介绍基于该计算设备100执行的一种慢盘识别方法。
51.请参阅图2所示,本技术实施例提供的一种慢盘识别方法,主要包括如下步骤:
52.201、计算设备获取目标硬盘的硬盘日志,硬盘日志描述了目标硬盘的多次io事件的信息。
53.在本技术实施例中,目标硬盘为计算设备中的多个硬盘中的一个。在一些可能的实现方式中,计算设备也可以获取多个硬盘中的至少一个硬盘的硬盘日志,该至少一个硬
盘包括该目标硬盘,计算设备也可以获取多个硬盘中各个硬盘的硬盘日志,此处不做限定。
54.在一些可能的实现方式中,计算设备可以周期性地获取目标硬盘的硬盘日志。示例性的,计算设备每隔5分钟/1小时/1天/1周获取一次目标硬盘的硬盘日志,此处不做限定。
55.在一些可能的实现方式中,计算设备也可以基于触发事件获取目标硬盘的硬盘日志。示例性的,当目标硬盘的每秒进行读写操作的次数iops低于预设值,可以触发计算设备获取目标硬盘的硬盘日志。
56.在一些可能的实现方式中,计算设备可以向目标硬盘发送小型计算机系统接口(small computer system interface,scsi)命令,以获取目标硬盘返回的所述硬盘日志。在一些可能的实现方式中,计算设备还可以通过raid卡向硬盘转发scsi命令,以获取硬盘日志,此处不做限定。
57.202、计算设备基于硬盘日志确定目标硬盘的多次io事件中的io超时事件的次数和/或超时时长。
58.在一些可能的实现方式,目标硬盘的硬件日志中可以包括目标硬盘多次io事件,若一次io事件中出现超时,那个该次io事件即为io超时事件。
59.需要说明的是,io事件可以为读取事件、写入事件、随机读取事件和随机写入事件和其他io事件。其中,读取事件是基于读取命令生成的,写入事件是基于写入命令生成的,随机读取事件是基于随机读取命令生成的,随机写入事件是基于随机写入命令生成的。示例性的,若硬盘日志中记录了1次读取事件和1次写入事件,则记为2次io事件。
60.在一些可能的实现方式中,io数据包括目标硬盘的多次io事件中的每次io超时事件的次数和/或超时时长。示例性的,硬盘1的硬件日志1中记录了1000次io事件,50次io超时事件,每次io超时事件的时长均为1秒,那么硬盘1的io数据1包括io事件的次数为1000以及io超时事件的次数为50,总超时时长为50秒。又示例性的,硬盘2的硬件日志2中记录了1500次io事件,20次io超时事件,每次io超时事件的时长均为6秒,那么硬盘2的io数据2包括io事件的次数为1500以及io超时事件的次数为20,总超时时长为120秒。
61.示例性的,计算设备从目标硬盘的硬盘日志中提取该目标硬盘的io数据可以如下所示:
[0062][0063]
在一些可能的实现方式中,目标硬盘中的硬盘日志中可以提取到的该目标硬盘的io数据中各种io超时事件(不同的io超时事件的超时时长不同)的次数。示例性的,io数据包括:
[0064]
1、io超时事件的总次数:100;
[0065]
2、io超时事件中超时时长超过5秒的总次数:50;
[0066]
3、io超时事件中超时时长超过7.5秒的总次数:20;
[0067]
4、io超时事件中超时时长超过10秒的总次数:2。
[0068]
需要说明的是,io超时事件中超时时长较长的io超时事件的包括超时时长较短的io超时事件。示例性的,任意超时时长的io超时事件包括超时时长超过5秒、7.5秒或10秒的io超时事件;超时时长超过5秒的io超时事件包括超时时长超过7.5秒或10秒的io超时事件;超时时长超过7.5秒的io超时事件包括超时时长超过10秒的io超时事件。
[0069]
在一些可能的实现方式中,目标硬盘的硬盘日志中可以提取到的该目标硬盘的io数据中各种io事件的各种超时时长的io超时事件的次数。示例性的,io数据中读取事件的各种超时时长的io超时事件的次数包括:
[0070]
1、io超时事件的总次数:10;
[0071]
2、io超时事件中超时时长超过5秒的总次数:5;
[0072]
3、io超时事件中超时时长超过7.5秒的总次数:2;
[0073]
4、io超时事件中超时时长超过10秒的总次数:1。
[0074]
在一些可能的实现方式中,目标硬盘的硬盘日志中可以提取到的该目标硬盘的io
数据中各种io事件的总超时时长。示例性的,io数据中读取事件的各种io超时事件的总超时时长包括:
[0075]
1、io超时事件的总超时时长:61秒;
[0076]
2、io超时事件中超时时长超过5秒的总超时时长:30秒;
[0077]
3、io超时事件中超时时长超过7.5秒的总超时时长:16秒;
[0078]
4、io超时事件中超时时长超过10秒的总超时时长:15秒。
[0079]
203、计算设备基于io超时事件的次数和/或超时时长,确定在目标硬盘中是否出现慢盘现象。
[0080]
在一些可能的实现方式中,计算设备计算io超时事件的次数在io事件的次数中的次数占比。若该次数占比高于预设次数比例,则计算设备确定该目标硬盘中出现了慢盘现象。
[0081]
示例性的,在硬盘1的硬件日志1提取的io数据1中,若io数据1显示io事件的次数为x,io超时事件的次数为y,则y:x为io超时事件的次数在io事件的次数中的占比。若y:x的值小于预设比例m,则计算设备确定该硬盘1未出现慢盘现象;若y:x的值大于或等于预设比例m,则计算设备确定该硬盘1中出现慢盘现象。
[0082]
在一些可能的实现方式中,计算设备可以计算多种io超时事件的次数在io事件的次数中的占比,得到多个次数占比,多种io超时事件可以包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件等。若多个次数占比中至少一个高于对应的预设次数比例,则计算设备确定目标硬盘中出现了慢盘现象。
[0083]
示例性的,io超时事件1表示超时时长在5秒以内的io超时事件的集合,io超时事件2表示超时时长超过5秒的io超时事件的集合,io超时事件3表示超时时长超过7.5秒的io超时事件的集合,io超时事件4表示超时时长超过10秒的io超时事件的集合。其中,io超时事件1对应预设比例m1,io超时事件2对应预设比例m2,io超时事件3对应预设比例m3,io超时事件4对应预设比例m4。那么,对于任意i(i=1,2,3,4),若io超时事件i的次数占硬盘日志1中的io事件的次数超过mi,则计算设备确定该硬盘1出现了慢盘的现象。
[0084]
示例性的,可以设置m1=90%,m2=70%,m3=50%,m4=20%。即,当硬件日志中超时时长在5秒内的io超时事件占io事件的比例达到90%,或者,当硬件日志中超时时长超过5秒的io超时事件占io事件的比例达到70%,或者,当硬件日志中超时时长超过7.5秒的io超时事件占io事件的比例达到50%,或者,当硬件日志中超时时长超过10秒的io超时事件占io事件的比例达到20%,则计算设备确定该硬盘1出现了慢盘的现象。
[0085]
需要说明的是,由于超时时长越长,表示该硬盘1的慢盘的现象越严重,那么对应的预设比例应当越小,即更少的比例就可以判定该硬盘1出现了慢盘的现象。因此,示例性的,可以设置m1》=m2》=m3》=m4。
[0086]
在一些可能的实现方式中,计算设备可以基于不同硬盘(不同厂商或不同类型的硬盘)分别制定不同预设次数比例,此处不做赘述。
[0087]
在一些可能的实现方式中,计算设备可以计算io超时事件的总超时时长,若总超时时长高于预设时长,则计算设备确定目标硬盘中出现了慢盘现象。
[0088]
示例性的,在硬盘1的硬件日志1提取的io数据1中,若io超时事件的总超时时长为
t,预设超时时长为t(threshold),若t>=t(threshold),则计算设备确定该硬盘1出现慢盘现象;若t<t(threshold),则计算设备确定该硬盘1中未出现慢盘现象。例如,t=360秒,t(threshold)=400秒,t<t(threshold),则计算设备确定该硬盘1中未出现慢盘现象。在一些可能的实现方式中,t(threshold)可以与io事件的次数相关,例如t(threshold)等于io事件的次数乘以0.00001秒,例如io事件的次数为100000000,则t(threshold)=0.000001*100000000=100,若t=475,那么t≥t(threshold),则计算设备确定该硬盘1中出现慢盘现象。
[0089]
在一些可能的实现方式中,计算设备计算多种io超时事件的总超时时长,得到多个总超时时长,多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件等等。若多个总超时时长中至少一个高于对应的预设比例,则计算设备确定目标硬盘中出现了慢盘现象。
[0090]
示例性的,io超时事件1表示超时时长在5秒以内的io超时事件的集合,io超时事件2表示超时时长超过5秒的io超时事件的集合,io超时事件3表示超时时长超过7.5秒的io超时事件的集合,io超时事件4表示超时时长超过10秒的io超时事件的集合。其中,io超时事件1对应预设超时时长t1,io超时事件2对应预设超时时长t2,io超时事件3对应预设超时时长t3,io超时事件4对应预设超时时长t4。那么,对于任意i(i=1,2,3,4),若io超时事件i的总超时时长超过ti,则计算设备确定该硬盘1出现了慢盘的现象。
[0091]
示例性的,可以设置t1=300,t2=250,t3=150,t4=50。即,当硬件日志中超时时长在5秒内的io超时事件的总超时时长超过300秒,或者,当硬件日志中超时时长超过5秒的io超时事件的总超时时长超过250秒,或者,当硬件日志中超时时长超过7.5秒的io超时事件的总超时时长超过150秒,或者,当硬件日志中超时时长超过10秒的io超时事件的总超时时长超过50秒,则计算设备确定该硬盘1出现了慢盘的现象。
[0092]
在一些可能的实现方式中,计算设备可以基于不同硬盘(不同厂商或不同类型的硬盘)分别制定不同预设超时时长,此处不做赘述。
[0093]
在本技术中,通过获取目标硬盘的硬盘日志,该硬盘日志描述了目标硬盘的多次输入/输出(input/output,io)事件的信息,并基于硬盘日志确定目标硬盘的多次io事件中的每次io超时事件的次数和/或超时时长,则可以io超时事件的次数和/或超时时长确定在目标硬盘中是否出现慢盘现象,相比较仅基于iops的信息来判断慢盘现象,可以排除操作系统、驱动、固件等其他情况,从而准确地确定出现慢盘现象的硬盘。
[0094]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0095]
为便于更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关装置。
[0096]
请参阅图3所示,本技术实施例提供的一种计算设备300,包括:
[0097]
获取模块301,用于获取目标硬盘的硬盘日志,所述硬盘日志描述了所述目标硬盘的多次输入/输出io事件的信息;处理模块,用于基于所述硬盘日志确定所述目标硬盘的多
次io事件中的io超时事件的次数和/或超时时长;
[0098]
处理模块302,还用于基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象。
[0099]
在一些可能的实现方式中,所述处理模块302,具体用于:计算所述io超时事件的次数在所述io事件的次数中的次数占比;若所述次数占比高于预设次数比例,则确定所述目标硬盘中出现了慢盘现象。
[0100]
在一些可能的实现方式中,所述处理模块302,具体用于:计算多种io超时事件的次数在所述io事件的次数中的占比,得到多个次数占比,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件;若所述多个次数占比中至少一个高于对应的预设次数比例,则确定所述目标硬盘中出现了慢盘现象。
[0101]
在一些可能的实现方式中,所述处理模块302,具体用于:计算所述io超时事件的总超时时长;若所述总超时时长高于预设时长,则确定所述目标硬盘中出现了慢盘现象。
[0102]
在一些可能的实现方式中,所述处理模块302,具体用于:计算多种io超时事件的总超时时长,得到多个总超时时长,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件;若所述多个总超时时长中至少一个高于对应的预设比例,则确定所述目标硬盘中出现了慢盘现象。
[0103]
在一些可能的实现方式中,所述获取模块301,具体用于:周期性地获取所述目标硬盘的硬盘日志。
[0104]
在一些可能的实现方式中,所述获取模块301,具体用于:当所述目标硬盘的每秒进行读写操作的次数iops低于预设值,获取所述目标硬盘的硬盘日志。
[0105]
在一些可能的实现方式中,所述获取模块301,具体用于:向所述目标硬盘发送小型计算机系统接口scsi命令,以获取所述目标硬盘返回的所述硬盘日志。
[0106]
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0107]
本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
[0108]
接下来介绍本技术实施例提供的另一种通信装置,请参阅图4所示,通信装置400包括:
[0109]
接收器401、发射器402、处理器403和存储器404。在本技术的一些实施例中,接收器401、发射器402、处理器403和存储器404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
[0110]
存储器404可以包括只读存储器和随机存取存储器,并向处理器403提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器404存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0111]
处理器403控制通信装置400的操作,处理器403还可以称为中央处理单元
(central processing unit,cpu)。具体的应用中,通信装置400的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0112]
上述本技术实施例揭示的方法可以应用于处理器403中,或者由处理器403实现。处理器403可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器403可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器404,处理器403读取存储器404中的信息,结合其硬件完成上述方法的步骤。
[0113]
接收器401可用于接收输入的数字或字符信息,以及产生与相关设置以及功能控制有关的信号输入,发射器402可包括显示屏等显示设备,发射器402可用于通过外接接口输出数字或字符信息。
[0114]
本技术实施例中,处理器403,用于执行前述的慢盘识别方法。
[0115]
在另一种可能的设计中,当计算设备300或通信装置400为芯片时,包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的无线报告信息的发送方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)等。
[0116]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述方法的程序执行的集成电路。
[0117]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0118]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实
现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0119]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0120]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。

技术特征:
1.一种慢盘识别方法,其特征在于,所述方法包括:获取目标硬盘的硬盘日志,所述硬盘日志描述了所述目标硬盘的多次输入/输出io事件的信息;基于所述硬盘日志确定所述目标硬盘的多次io事件中的io超时事件的次数和/或超时时长;基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象。2.根据权利要求1所述方法,其特征在于,所述基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象包括:计算所述io超时事件的次数在所述io事件的次数中的次数占比;若所述次数占比高于预设次数比例,则确定所述目标硬盘中出现了慢盘现象。3.根据权利要求1所述方法,其特征在于,所述基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象包括:计算多种io超时事件的次数在所述io事件的次数中的占比,得到多个次数占比,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件;若所述多个次数占比中至少一个高于对应的预设次数比例,则确定所述目标硬盘中出现了慢盘现象。4.根据权利要求1所述方法,其特征在于,所述基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象包括:计算所述io超时事件的总超时时长;若所述总超时时长高于预设时长,则确定所述目标硬盘中出现了慢盘现象。5.根据权利要求1所述方法,其特征在于,所述基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象包括:计算多种io超时事件的总超时时长,得到多个总超时时长,所述多种io超时事件包括io超时事件、超时5秒或以上的io超时事件、超时7.5秒或以上的io超时事件和超时10秒或以上的io超时事件;若所述多个总超时时长中至少一个高于对应的预设比例,则确定所述目标硬盘中出现了慢盘现象。6.根据权利要求1-5中任一项所述方法,其特征在于,所述获取目标硬盘的硬盘日志包括:周期性地获取所述目标硬盘的硬盘日志。7.根据权利要求1-5中任一项所述方法,其特征在于,所述获取目标硬盘的硬盘日志包括:当所述目标硬盘的每秒进行读写操作的次数iops低于预设值,获取所述目标硬盘的硬盘日志。8.根据权利要求1-7中任一项所述方法,其特征在于,所述获取所述目标硬盘的硬盘日志包括:向所述目标硬盘发送小型计算机系统接口scsi命令,以获取所述目标硬盘返回的所述
硬盘日志。9.一种计算设备,其特征在于,所述计算设备包括:获取模块,用于获取目标硬盘的硬盘日志,所述硬盘日志描述了所述目标硬盘的多次输入/输出io事件的信息;处理模块,用于确定所述目标硬盘的多次io事件中的io超时事件的次数和/或超时时长;所述处理模块,还用于基于所述io超时事件的次数和/或超时时长,确定在所述目标硬盘中是否出现慢盘现象。10.一种通信装置,其特征在于,所述通信装置包括至少一个处理器、存储器和通信接口;所述至少一个处理器与所述存储器和所述通信接口耦合;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述至少一个处理器的控制下与其他通信装置进行通信;所述指令在被所述至少一个处理器执行时,使所述至少一个处理器执行如权利要求1-8中任一项所述的方法。

技术总结
本申请实施例公开了一种慢盘识别方法和计算设备,用于识别计算设备中的慢盘现象。本申请提供了一种慢盘识别方法和计算设备。在本申请中,获取目标硬盘的硬盘日志,该硬盘日志描述了目标硬盘的多次输入/输出(input/output,IO)事件的信息。接着,基于硬盘日志确定目标硬盘的多次IO事件中的每次IO超时事件的次数和/或超时时长。最后,可以IO超时事件的次数和/或超时时长确定在目标硬盘中是否出现慢盘现象,相比较仅基于IOPS的信息来判断慢盘现象,可以排除操作系统、驱动、固件等其他情况,从而准确地确定出现慢盘现象的硬盘。从而准确地确定出现慢盘现象的硬盘。从而准确地确定出现慢盘现象的硬盘。


技术研发人员:王钦东 刘国霞 文乔
受保护的技术使用者:超聚变数字技术有限公司
技术研发日:2023.05.23
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐