通过检测IO时延检测硬盘的方法、系统、设备和存储介质技术方案

技术编号:33929376 阅读:28 留言:0更新日期:2022-06-25 22:13
本发明专利技术提供一种通过检测IO时延检测硬盘的方法、系统、设备和存储介质,方法包括:初始化定时器,每隔预设时间获取对象存储设备的未完成IO和已完成IO的记录;根据所述未完成IO和已完成IO的记录得出当前未完成IO的平均开始时间和已完成IO的平均处理时间;将未完成IO的平均开始时间与当前时间对比,得到未完成IO的平均时延;以及响应于所述未完成IO的平均时延或已完成IO的平均处理时间超过阈值,将所述对象存储设备对应的硬盘确认为慢盘。本发明专利技术记录IO的开始时间和结束时间,计算得到IO的平均时延,与设置的阈值比较,来判断是否达到慢盘标准,进而针对慢盘做隔离处理,避免影响分布式存储集群性能。存储集群性能。存储集群性能。

【技术实现步骤摘要】
通过检测IO时延检测硬盘的方法、系统、设备和存储介质


[0001]本专利技术涉及分布式存储系统领域,更具体地,特别是指一种通过检测IO时延检测硬盘的方法、系统、设备和存储介质。

技术介绍

[0002]随着信息技术的不断发展,数据作为信息技术的重要组成部分受到越来越多的关注,对收集到的数据进行分析处理可以得到许多重要的信息,从而挖掘出巨大的经济价值,这也因此推动了大数据、高性能计算的快速发展。如何让存储设备更加安全可靠的进行数据存储成为存储设备关键问题之一,同时也是分布式存储的关键问题之一。客户端的读写请求业务,最终发送到OSD(Object Storage Device,对象存储设备)层,OSD对数据进行冗余处理后,落到硬盘上存储。在分布式存储的使用过程中,不可避免的存在硬盘的损耗。受硬盘的寿命、运行温度等影响,硬盘处理IO的能力可能会变慢,此时,OSD层的落盘操作会因此阻塞,最终影响客户端读写业务的性能。

技术实现思路

[0003]有鉴于此,本专利技术实施例的目的在于提出一种通过检测IO时延检测硬盘的方法、系统、计算机设备及计算机可读存储介质,本专利技术在OSD下发给进行硬盘IO处理的过程中,统计IO的完成情况,记录IO的开始时间和结束时间,计算得到IO的平均时延,与设置的阈值比较,来判断是否达到慢盘标准,进而针对慢盘做隔离处理,避免影响分布式存储集群性能。
[0004]基于上述目的,本专利技术实施例的一方面提供了一种通过检测IO时延检测硬盘的方法,包括如下步骤:初始化定时器,每隔预设时间获取对象存储设备的未完成IO和已完成IO的记录;根据所述未完成IO和已完成IO的记录得出当前未完成IO的平均开始时间和已完成IO的平均处理时间;将未完成IO的平均开始时间与当前时间对比,得到未完成IO的平均时延;以及响应于所述未完成IO的平均时延或已完成IO的平均处理时间超过阈值,将所述对象存储设备对应的硬盘确认为慢盘。
[0005]在一些实施方式中,方法还包括:创建未完成IO和已完成IO两种数据结构,并将IO的开始时间记录到所述未完成IO的数据结构中;以及响应于收到硬盘处理成功的回复,记录IO的结束时间,计算得到IO的处理时间,并将所述处理时间记录到已完成IO的数据结构中。
[0006]在一些实施方式中,方法还包括:响应于检测到集群中存在慢盘,将所述慢盘进行隔离处理。
[0007]在一些实施方式中,所述将所述慢盘进行隔离处理包括:将慢盘信息上报给集群监视器,并将所述对象存储设备隔离出分布式存储集群。
[0008]本专利技术实施例的另一方面,提供了一种通过检测IO时延检测硬盘的系统,包括:采集模块,配置用于初始化定时器,每隔预设时间获取对象存储设备的未完成IO和已完成IO
的记录;计算模块,配置用于根据所述未完成IO和已完成IO的记录得出当前未完成IO的平均开始时间和已完成IO的平均处理时间;对比模块,配置用于将未完成IO的平均开始时间与当前时间对比,得到未完成IO的平均时延;以及确认模块,配置用于响应于所述未完成IO的平均时延或已完成IO的平均处理时间超过阈值,将所述对象存储设备对应的硬盘确认为慢盘。
[0009]在一些实施方式中,系统还包括记录模块,配置用于:创建未完成IO和已完成IO两种数据结构,并将IO的开始时间记录到所述未完成IO的数据结构中;以及响应于收到硬盘处理成功的回复,记录IO的结束时间,计算得到IO的处理时间,并将所述处理时间记录到已完成IO的数据结构中。
[0010]在一些实施方式中,系统还包括隔离模块,配置用于:响应于检测到集群中存在慢盘,将所述慢盘进行隔离处理。
[0011]在一些实施方式中,所述隔离模块配置用于:将慢盘信息上报给集群监视器,并将所述对象存储设备隔离出分布式存储集群。
[0012]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0013]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0014]本专利技术具有以下有益技术效果:在OSD下发给进行硬盘IO处理的过程中,统计IO的完成情况,记录IO的开始时间和结束时间,计算得到IO的平均时延,与设置的阈值比较,来判断是否达到慢盘标准。进而针对慢盘做隔离处理,避免影响分布式存储集群性能。
附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0016]图1为本专利技术提供的通过检测IO时延检测硬盘的方法的实施例的示意图;
[0017]图2为本专利技术提供的通过检测IO时延检测硬盘的系统的实施例的示意图;
[0018]图3为本专利技术提供的通过检测IO时延检测硬盘的计算机设备的实施例的硬件结构示意图;
[0019]图4为本专利技术提供的通过检测IO时延检测硬盘的计算机存储介质的实施例的示意图。
具体实施方式
[0020]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0021]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应
理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0022]本专利技术实施例的第一个方面,提出了一种通过检测IO时延检测硬盘的方法的实施例。图1示出的是本专利技术提供的通过检测IO时延检测硬盘的方法的实施例的示意图。如图1所示,本专利技术实施例包括如下步骤:
[0023]S1、初始化定时器,每隔预设时间获取对象存储设备的未完成IO和已完成IO的记录;
[0024]S2、根据所述未完成IO和已完成IO的记录得出当前未完成IO的平均开始时间和已完成IO的平均处理时间;
[0025]S3、将未完成IO的平均开始时间与当前时间对比,得到未完成IO的平均时延;以及
[0026]S4、响应于所述未完成IO的平均时延或已完成IO的平均处理时间超过阈值,将所述对象存储设备对应的硬盘确认为慢盘。
[0027]在一些实施方式中,方法还包括:创建未完成IO和已完成IO两种数据结构,并将IO的开始时间记录到所述未完成IO的数据结构中;以及响应于收到硬盘处理成功的回复,记录IO的结束时间,计算得到IO的处理时间,并将所述处理时间记录到已完成IO的数据结构中。初始化记录未完成IO和已完成IO的两种数据结构;IO提交给硬盘前,记录IO的开始时间,记录到未完成IO的数据结构中;收到硬盘处理成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过检测IO时延检测硬盘的方法,其特征在于,包括如下步骤:初始化定时器,每隔预设时间获取对象存储设备的未完成IO和已完成IO的记录;根据所述未完成IO和已完成IO的记录得出当前未完成IO的平均开始时间和已完成IO的平均处理时间;将未完成IO的平均开始时间与当前时间对比,得到未完成IO的平均时延;以及响应于所述未完成IO的平均时延或已完成IO的平均处理时间超过阈值,将所述对象存储设备对应的硬盘确认为慢盘。2.根据权利要求1所述的方法,其特征在于,方法还包括:创建未完成IO和已完成IO两种数据结构,并将IO的开始时间记录到所述未完成IO的数据结构中;以及响应于收到硬盘处理成功的回复,记录IO的结束时间,计算得到IO的处理时间,并将所述处理时间记录到已完成IO的数据结构中。3.根据权利要求1所述的方法,其特征在于,方法还包括:响应于检测到集群中存在慢盘,将所述慢盘进行隔离处理。4.根据权利要求3所述的方法,其特征在于,所述将所述慢盘进行隔离处理包括:将慢盘信息上报给集群监视器,并将所述对象存储设备隔离出分布式存储集群。5.一种通过检测IO时延检测硬盘的系统,其特征在于,包括:采集模块,配置用于初始化定时器,每隔预设时间获取对象存储设备的未完成IO和已完成IO的记录;计算模块,配置用于根据所述未完成IO和已完成IO的记录得出当前未完成IO的平均开始时间和已完成IO的平均...

【专利技术属性】
技术研发人员:付尧孟祥瑞
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1