一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

慢盘诊断信息收集方法、系统、终端及存储介质与流程

2022-02-22 08:18:08 来源:中国专利 TAG:


1.本发明涉及服务器技术领域,具体涉及一种慢盘诊断信息收集方法、系统、终端及存储介质。


背景技术:

2.慢盘,简单理解就硬盘io访问速率慢,导致硬盘慢盘例如硬盘坏道、磁头异常等硬件问题原因,因此慢盘检测可一定程度反映硬盘的健康状态;若硬盘出现慢盘亚健康状态,会导致业务性能下降,阻塞业务的处理能力,严重时可能会导致服务不可用。当前ibma支持linux版本的慢盘检测,对os层面识别到的直通盘和逻辑盘进行检测;若检测到硬盘慢盘,会给ibmc上报告警。同时也支持告警恢复。
3.目前常见的收集磁盘诊断信息的实现方式是,盘厂商提供一些指令,在盘出现故障或什么问题时,由存储系统去下发这些指令,将盘回复的信息记录到日志里,然后发给盘厂商,由盘厂商来诊断分析。
4.慢盘只是盘的读写速度变慢了,在存储系统上,如果盘慢了,通常是读写操作、管理命令大都能正常,只是回应的信息慢了而已,在收集到的诊断日记里只有盘故障时才用的上的信息,而没有非指定故障情况下的信息,而且盘上的时间跟系统时间对不上,导致即使有信息记录但比对困难、诊断范围难划定,比如磁盘上电时间poh、哪个或哪些io慢了、从哪个io引起的、附近的其他io性能情况等,所以诊断起来比较困难。


技术实现要素:

5.针对现有技术的上述不足,本发明提供一种慢盘诊断信息收集方法、系统、终端及存储介质,以解决上述技术问题。
6.第一方面,本发明提供一种慢盘诊断信息收集方法,包括:
7.启动慢盘检测并同步统计最长时延的输入输出进程;
8.获取慢盘检测结果,并向慢盘发送上电时间查询请求;
9.接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。
10.进一步的,启动慢盘检测并同步统计最长时延的输入输出进程,包括:
11.在启动慢盘检测的同时开始监控输入输出进程的时延,并将时延最长的输入输出进程信息保存至循环数组;
12.将监控到的新的输入输出进程的时延与循环数组中存储的输入输出进程时延进行比较,将时延较大者的信息保存至循环数组。
13.进一步的,获取慢盘检测结果,并向慢盘发送上电时间查询请求,包括:
14.从慢盘检测结果中解析目标慢盘;
15.向目标慢盘发送log sense 15指令。
16.进一步的,所述方法还包括:
17.从诊断日志读取上电时间和时延最长的输入输出进程信息;
18.根据上电时间和系统时间对磁盘诊断结果信息进行时间校正;
19.根据时延最长的输入输出进程信息解析慢盘发生时间和导致慢盘的指令。
20.第二方面,本发明提供一种慢盘诊断信息收集系统,包括:
21.进程统计单元,用于启动慢盘检测并同步统计最长时延的输入输出进程;
22.请求发送单元,用于获取慢盘检测结果,并向慢盘发送上电时间查询请求;
23.信息输出单元,用于接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。
24.进一步的,所述进程统计单元包括:
25.进程筛选模块,用于在启动慢盘检测的同时开始监控输入输出进程的时延,并将时延最长的输入输出进程信息保存至循环数组;
26.循环保存模块,用于从将监控到的新的输入输出进程的时延与循环数组中存储的输入输出进程时延进行比较,将时延较大者的信息保存至循环数组。
27.进一步的,所述请求发送单元包括:
28.慢盘解析模块,用于从慢盘检测结果中解析目标慢盘;
29.指令发送模块,用于向目标慢盘发送log sense 15指令。
30.进一步的,所述系统还包括:
31.日志读取单元,用于从诊断日志读取上电时间和时延最长的输入输出进程信息;
32.时间校正单元,用于根据上电时间和系统时间对磁盘诊断结果信息进行时间校正;
33.进程分析单元,用于根据时延最长的输入输出进程信息解析慢盘发生时间和导致慢盘的指令。
34.第三方面,提供一种终端,包括:
35.处理器、存储器,其中,
36.该存储器用于存储计算机程序,
37.该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
38.第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
39.本发明的有益效果在于,本发明提供的慢盘诊断信息收集方法、系统、终端及存储介质,通过启动慢盘检测并同步统计最长时延的输入输出进程,在获取慢盘检测结果之后向慢盘发送上电时间查询请求,然后接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。本发明满足了磁盘厂商诊断需求,实现方法简单高效。解决了慢盘时磁盘上没有指令故障、盘厂商不易诊断的问题。
40.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而
言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1是本发明一个实施例的方法的示意性流程图。
43.图2是本发明一个实施例的方法的另一示意性流程图。
44.图3是本发明一个实施例的系统的示意性框图。
45.图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
46.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
47.下面对本发明中出现的关键术语进行解释。
48.磁盘(disk)是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(floppy disk,简称软盘),如今常用的磁盘是硬磁盘(hard disk,简称硬盘)。
49.一般情况下,用户只要观察当前值、最差值和临界值的关系,并注意状态提示信息即可大致了解硬盘的健康状况。下面简单介绍各参数的含义,以红色标出的项目是寿命关键项,蓝色为固态硬盘(ssd)特有的项目。在基于闪存的固态硬盘中,存储单元分为两类:slc(single layer cell,单层单元)和mlc(multi-level cell,多层单元)。slc成本高、容量小、但读写速度快,可靠性高,擦写次数可高达100000次,比mlc高10倍。而mlc虽容量大、成本低,但其性能大幅落后于slc。为了保证mlc的寿命,控制芯片还要有智能磨损平衡技术算法,使每个存储单元的写入次数可以平均分摊,以达到100万小时的平均无故障时间。因此固态硬盘有许多smart参数是机械硬盘所没有的,如存储单元的擦写次数、备用块统计等等,这些新增项大都由厂家自定义,有些尚无详细的解释,有些解释也未必准确,此处也只是仅供参考。下面凡未注明厂商的固态硬盘特有的项均为sandforce主控芯片特有的,其它厂商各自单独注明。
50.通电时间累计power-on time count(poh)这个参数的含义一目了然,表示硬盘通电的时间,数据值直接累计了设备通电的时长,新硬盘当然应该接近0,但不同硬盘的计数单位有所不同,有以小时计数的,也有以分、秒甚至30秒为单位的,这由磁盘制造商来定义。这一参数的临界值通常为0,当前值随着硬盘通电时间增加会逐渐下降,接近临界值表明硬盘已接近预计的设计寿命,当然这并不表明硬盘将出现故障或立即报废。参考磁盘制造商给出的该型号硬盘的mtbf(平均无故障时间)值,可以大致估计剩余寿命或故障概率。对于固态硬盘,要注意“设备优先电源管理功能(device initiated power management,dipm)”会影响这个统计:如果启用了dipm,持续通电计数里就不包括睡眠时间;如果关闭了dipm功能,那么活动、空闲和睡眠三种状态的时间都会被统计在内。
51.图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种慢盘诊断信息收集系统。因为盘的时间是poh方式记录的,跟存储系统的时间不是对应的,所以在存储系统中增加一个查询盘的poh的指令,在判断为慢盘之前下发,以获取poh。本发
明的实现方式是在慢盘检测时就统计最长时延的io,在判定为慢盘时,下发一个查询poh的指令,获取到poh,并将最长时延的io记录到系统日志中,等后面给盘厂商诊断用。
52.如图1所示,该方法包括:
53.步骤110,启动慢盘检测并同步统计最长时延的输入输出进程;
54.步骤120,获取慢盘检测结果,并向慢盘发送上电时间查询请求;
55.步骤130,接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。
56.该方法在慢盘检测时就统计最长时延的io,在判定为慢盘时,下发一个查询poh的指令,获取到poh,并将最长时延的io记录到系统日志中,等后面给盘厂商诊断用。
57.为了便于对本发明的理解,下面以本发明慢盘诊断信息收集方法的原理,结合实施例中对慢盘诊断信息进行收集的过程,对本发明提供的慢盘诊断信息收集方法做进一步的描述。
58.具体的,请参考图2,所述慢盘诊断信息收集方法包括:
59.s1、启动慢盘检测并同步统计最长时延的输入输出进程。
60.在启动慢盘检测的同时开始监控输入输出进程的时延,并将时延最长的输入输出进程信息保存至循环数组;将监控到的新的输入输出进程的时延与循环数组中存储的输入输出进程时延进行比较,将时延较大者的信息保存至循环数组。
61.具体的,慢盘检测开始时,启动统计耗时最长的io。在慢盘检测阶段中,用一个flag变量来记录一个io是否耗时最长,在每个io完成时,计算一下io从向下发开始到从盘上收到回复的时间差,统计耗时时长,每次记录最大的,跟历史比较取最大的为耗时最长io,记录到一个循环数组中。
62.s2、获取慢盘检测结果,并向慢盘发送上电时间查询请求。
63.从慢盘检测结果中解析目标慢盘;向目标慢盘发送log sense 15指令。具体的,在慢盘检测判定某个磁盘为慢盘后,获取该慢盘的信息,然后需要下发log sense 15指令给该慢盘。
64.s3、接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。
65.根据磁盘回复的信息取出磁盘poh值,然后将慢盘的信息、poh记录到日志,然后再将循环数组中的最长io也记录到日志。这样,poh、最长耗时io都收集到了。
66.从诊断日志读取上电时间和时延最长的输入输出进程信息;根据上电时间和系统时间对磁盘诊断结果信息进行时间校正;根据时延最长的输入输出进程信息解析慢盘发生时间和导致慢盘的指令。
67.本实施例采用在慢盘时增加下发了一个查询poh的指令,获取到poh;另外统计到耗时最长io,收集到这些信息方便磁盘厂商来诊断磁盘问题。使用该种方式,满足了磁盘厂商诊断需求,实现方法简单高效。解决了慢盘时磁盘上没有指令故障、盘厂商不易诊断的问题。根据耗时最长io历史、盘poh记录,盘厂商可以判定慢盘发生的时机,慢盘是哪几个指令造成的,慢盘时盘上在发生什么。这样,盘厂商可以较快锁定问题范围,加快诊断流程。
68.如图3所示,该系统300包括:
69.进程统计单元310,用于启动慢盘检测并同步统计最长时延的输入输出进程;
70.请求发送单元320,用于获取慢盘检测结果,并向慢盘发送上电时间查询请求;
71.信息输出单元330,用于接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。
72.可选地,作为本发明一个实施例,所述进程统计单元包括:
73.进程筛选模块,用于在启动慢盘检测的同时开始监控输入输出进程的时延,并将时延最长的输入输出进程信息保存至循环数组;
74.循环保存模块,用于从将监控到的新的输入输出进程的时延与循环数组中存储的输入输出进程时延进行比较,将时延较大者的信息保存至循环数组。
75.可选地,作为本发明一个实施例,所述请求发送单元包括:
76.慢盘解析模块,用于从慢盘检测结果中解析目标慢盘;
77.指令发送模块,用于向目标慢盘发送log sense 15指令。
78.可选地,作为本发明一个实施例,所述系统还包括:
79.日志读取单元,用于从诊断日志读取上电时间和时延最长的输入输出进程信息;
80.时间校正单元,用于根据上电时间和系统时间对磁盘诊断结果信息进行时间校正;
81.进程分析单元,用于根据时延最长的输入输出进程信息解析慢盘发生时间和导致慢盘的指令。
82.本实施例提供的系统采用在慢盘时增加下发了一个查询poh的指令,获取到poh;另外统计到耗时最长io,收集到这些信息方便磁盘厂商来诊断磁盘问题。使用该种方式,满足了磁盘厂商诊断需求,实现方法简单高效。解决了慢盘时磁盘上没有指令故障、盘厂商不易诊断的问题。根据耗时最长io历史、盘poh记录,盘厂商可以判定慢盘发生的时机,慢盘是哪几个指令造成的,慢盘时盘上在发生什么。这样,盘厂商可以较快锁定问题范围,加快诊断流程。
83.图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的慢盘诊断信息收集方法。
84.其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
85.其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
86.处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器
(central processing unit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
87.通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
88.本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
89.因此,本发明通过启动慢盘检测并同步统计最长时延的输入输出进程,在获取慢盘检测结果之后向慢盘发送上电时间查询请求,然后接收慢盘基于上电时间查询请求返回的上电时间,将所述上电时间与最长时延的输入输出进程输出至诊断日志。本发明满足了磁盘厂商诊断需求,实现方法简单高效。解决了慢盘时磁盘上没有指令故障、盘厂商不易诊断的问题,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
90.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
91.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
92.在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
93.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
94.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
95.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应
涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献