本发明涉及硬盘状态评估技术领域,具体涉及一种分布式存储用硬盘警示状态评估方法及装置。
背景技术:
大数据时代,数据即为资源。目前各类数据中心的数据存储介质还是为hdd(机械硬盘),众所周知机械硬盘在使用过程中不可避免的会存在一定的失效率,还有就是随着使用时间的增长,硬盘的老化也就随之而来,硬盘老化到一定程度对存储到硬盘内部的数据安全就会造成一定的风险。虽然人们为防止单块硬盘损坏而丢失数据做了一系列的措施,比如组建raid等,但当硬盘真正损坏后再采取数据恢复手段等来维护数据完整,势必会造成业务影响,使用体验和不可预测的灾难性数据丢失(raid都是有硬盘损坏数量极限的,如果超过极限,数据将不能恢复)。
处于对此现状的考虑,如果发明一种办法能够有效的评估当前存储系统内部的存储介质(硬盘)的运行状态,并通过相应的算法评估出存储系统当前的警示状态,即可有效的管理当前的设备运行状态,为维护人员提供有效的数据支撑和操作指导。
技术实现要素:
针对当硬盘真正损坏后再采取数据恢复手段等来维护数据完整,势必会造成业务影响,使用体验和不可预测的灾难性数据丢失的问题,本发明提供一种分布式存储用硬盘警示状态评估方法及装置。
本发明的技术方案是:
一方面,本发明技术方案提供一种分布式存储用硬盘警示状态评估方法,包括如下步骤:
获取分布式存储集群内单硬盘状态参数数据;
获取预先设置的单硬盘状态参数的阈值;
根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分;
统计设定时间阈值内的单硬盘的瞬时评分,并分析评分分布规律;
根据评分分布规律确定单硬盘当前状态评分;
根据确定的单硬盘当前状态评分输出硬盘状态提示信息。
进一步的,根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分的步骤包括:
单硬盘状态每个参数数据与对应的参数阈值的差乘以对应的单硬盘状态参数的权重得到单个参数的评分;
将每个参数的评分相加得到单硬盘的瞬时评分。通过实时获取单硬盘状态参数来计算单硬盘的瞬时评分,方便后续根据瞬时评分确定单块硬盘最终评分。
进一步的,根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分的步骤中,根据硬盘的使用时长设置参数数据的权重。
进一步的,获取分布式存储集群内单硬盘状态参数数据的步骤中,单硬盘状态参数包括坏道表中坏道的增速、硬盘运行温度、硬盘数据延迟、硬盘累计读写次数;
获取预先设置的单硬盘状态参数的阈值的步骤中,对应获取预先设置的坏道表中坏道增速的增速阈值、硬盘运行温度的温度阈值、硬盘数据延迟的延迟阈值、硬盘累计读写次数的次数阈值。选择最能体现硬盘状态的参数来对硬盘进行评分。
进一步的,根据硬盘的使用时长设置参数数据的权重的步骤包括:
获取硬盘的使用时长;
判断硬盘的使用时长在设定的第几阶段;其中,硬盘的使用时间越长,设计的阶段越高;
根据硬盘所在的阶段设置参数的权重,其中,硬盘的使用时间越长,坏道表中坏道的增速的权重越小、硬盘运行温度的权重越大、硬盘数据延迟的权重越大。由于硬盘在使用过程中不同时间段的典型问题表现不同,对各项得分的权重根据硬盘的使用时长进行变化设置。
进一步的,该方法还包括:
在管理界面的设备运行状态栏设置输出的硬盘状态提示信息。
另一方面,本发明技术方案还提供一种分布式存储用硬盘警示状态评估装置,包括状态参数获取模块、阈值获取模块、瞬时评分计算模块、分析模块、单硬盘评分确定模块、输出模块;
状态参数获取模块,用于获取分布式存储集群内单硬盘状态参数数据;
阈值获取模块,用于获取预先设置的单硬盘状态参数的阈值;
瞬时评分计算模块,用于根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分;
分析模块,用于统计设定时间阈值内的单硬盘的瞬时评分,并分析评分分布规律;
单硬盘评分确定模块,用于根据评分分布规律确定单硬盘当前状态评分;
输出模块,用于根据确定的单硬盘当前状态评分输出硬盘状态提示信息。
进一步的,瞬时评分计算模块包括参数权重设置单元、参数评分单元和计算单元;
参数权重设置单元,用于根据硬盘的使用时长设置参数数据的权重;
参数评分单元,用于单硬盘状态每个参数数据与对应的参数阈值的差乘以对应的单硬盘状态参数的权重得到单个参数的评分;
计算单元,用于将每个参数的评分相加得到单硬盘的瞬时评分。
进一步的,单硬盘状态参数包括坏道表中坏道的增速、硬盘运行温度、硬盘数据延迟、硬盘累计读写次数;
阈值获取模块,用于获取预先设置的坏道表中坏道增速的增速阈值、硬盘运行温度的温度阈值、硬盘数据延迟的延迟阈值、硬盘累计读写次数的次数阈值。
进一步的,参数权重设置单元包括硬盘使用时长获取子单元、判断子单元、权重设置子单元;
硬盘使用时长获取子单元,用于获取硬盘的使用时长;
判断子单元,用于判断硬盘的使用时长在设定的第几阶段;其中,硬盘的使用时间越长,设计的阶段越高;
权重设置子单元,用于根据硬盘所在的阶段设置参数的权重,其中,硬盘的使用时间越长,坏道表中坏道的增速的权重越小、硬盘运行温度的权重越大、硬盘数据延迟的权重越大。
进一步的,该装置还包括显示设置模块;
显示设置模块,用于在管理界面的设备运行状态栏设置输出的硬盘状态提示信息。
从以上技术方案可以看出,本发明具有以下优点:可以实现分布式存储集群内存储介质的可视化管理,能够实时的了解存储介质的运行状态,以及存储介质的现行状态对数据安全的影响程度,直接根据影响程度确定维护处理措施,由于报警信息是根据集群状态综合评估的,不会因为个别的异常现象就要更换硬盘,起到了实时以最低成本有效的方式保障数据安全。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的装置的示意性框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明实施例提供一种分布式存储用硬盘警示状态评估方法,包括如下步骤:
s1:获取分布式存储集群内单硬盘状态参数数据;
s2:获取预先设置的单硬盘状态参数的阈值;
s3:根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分;
s4:统计设定时间阈值内的单硬盘的瞬时评分,并分析评分分布规律;
s5:根据评分分布规律确定单硬盘当前状态评分;
s6:根据确定的单硬盘当前状态评分输出硬盘状态提示信息。
在有些实施例中,步骤s3,根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分的步骤包括:
s31:单硬盘状态每个参数数据与对应的参数阈值的差乘以对应的单硬盘状态参数的权重得到单个参数的评分;
s32:将每个参数的评分相加得到单硬盘的瞬时评分。通过实时获取单硬盘状态参数来计算单硬盘的瞬时评分,方便后续根据瞬时评分确定单块硬盘最终评分。
需要说明的是,单硬盘状态参数包括坏道表中坏道的增速、硬盘运行温度、硬盘数据延迟、硬盘累计读写次数;
①g-list(每天)增速,即坏道表中坏道的增速,②硬盘运行温度,③硬盘数据延迟,④硬盘累计读写次数,分布对应smart参数序号的5,194,188,200,在系统下运行$smrtctl-a/dev/sdxx获取相应的参数值;单块硬盘最终总分=(①-阈值1)*a% (②-阈值2)*b% (③-阈值3)*c% (④-阈值4)*d%,公式中的①②③④分别为通过命令获取的各参数的当前值value,阈值为获取的各参数值的threshold,这两项数值可以通过命令直接提取,公式中的abcd为各参数在此总评分中的权重,此权重会更加硬盘的不同运行阶段略有调整;选择最能体现硬盘状态的参数来对硬盘进行评分。
阈值1为坏道表中坏道增速的增速阈值;
阈值2为硬盘运行温度的温度阈值;
阈值3为硬盘数据延迟的延迟阈值;
阈值4为硬盘累计读写次数的次数阈值。
在有些实施例中,根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分的步骤中,根据硬盘的使用时长设置参数数据的权重,具体步骤包括:
s311:获取硬盘的使用时长;
s312:判断硬盘的使用时长在设定的第几阶段;其中,硬盘的使用时间越长,设计的阶段越高;
s313:根据硬盘所在的阶段设置参数的权重,其中,硬盘的使用时间越长,坏道表中坏道的增速的权重越小、硬盘运行温度的权重越大、硬盘数据延迟的权重越大。由于硬盘在使用过程中不同时间段的典型问题表现不同,对各项得分的权重根据硬盘的使用时长进行变化设置。
各参数权重划分,由于hdd在使用过程中不同时间段的典型问题表现不同,对各项得分做如下的权重划分方案:
第一阶段,硬盘使用时长3000小时内,①g-list(每天)增速占最终评分权重的60%,其他三项平分剩余权重,及各占20%,即最终评分=①*50% ②*20% ③*20% ④*20;
第二阶段,硬盘使用时长大于3000小时小于20000小时,四项参数各占25%,即最终评分=①*25% ②*25% ③*25% ④*25;
第三阶段,硬盘使用时长大于20000小时小于30000小时,②hdd运行温度,③hdd数据延迟各占30%,其他两项平分剩余权重,及各占20%,即最终评分=①*20% ②*30% ③*30% ④*20;
单块硬盘最终评分确定办法:上述步骤中对单块硬盘进行瞬时评分的计算,硬盘里各个运行状态参数值的刷新周期一般为1小时,为保证能够精确跟踪硬盘状态的变化又不浪费计算资源,步骤s3中的评分操作设置为每半小时记录一次,记录频率为更新频率的2倍,因为value会因为外部运行环境的变化出现短暂的波动,如果只记录一次状态评分就作为最终得分会产生误报,所以此发明中按照经验环境变化周期设置为累计统计6小时的评分,并分析评分分布规律,如果出现评分分布均匀一致,即可直接确定当前状态评分,如果出现间隔性的低分值,根据平均值直接确定当前状态评分,如果出现间隔性的高分值,根据平均值直接确定当前状态评分,如果出现评分值持续走低的趋势,再统计3小时的状态跟进,按照上述评分确定原则再过一遍。
在有些实施例中,该方法还包括:
在管理界面的设备运行状态栏设置输出的硬盘状态提示信息。
分布式存储系统数据安全状态提示设置于管理界面的设备运行状态栏,分为提示,一般警告,警告,严重警告显示状态,根据上述的步骤及计算分别显示相应的信息;
各显示状态具体含义:“提示”状态的详细内容为显示当前每个存储节点上运行状态评估得分最低的2块盘的状态信息,供维护人员日常巡视查看;“一般警告”状态的详细内容为分布式存储集群内有单节点服务器上的硬盘出现硬盘评分进入危险界限内,危险极限设置为接近阈值的10%区间内,比如阈值是80,超过80即为超限,72~80之间即为危险界限区间;“警告”状态的详细内容为分布式存储集群内有单节点服务器上的硬盘已超出危险界限区间,或者是集群内有≥2节点内的硬盘评分进入危险界限内时的集群状态;“严重警告”状态的详细内容为集群内有≥2个节点上的硬盘超出危险极限区间;集群根据提示等级做出以下维护措施:“提示”状态不动作,观察后续状态即可,“一般告警”在有充足备件和能够及时更换备件的条件下,可以先忽略,等待“告警”状态再更换,如果备件不充足及维护人员不及时的情况时,需要做好维护的准备或者启动维护流程,“告警”状态时,需要立马启动维护流程,进行备件更换,“严重告警状态”时,不建议继续运行业务内容,需要尽快维护更换备件,待维护完成后再启动业务。
如图2所示,本发明实施例还提供一种分布式存储用硬盘警示状态评估装置,包括状态参数获取模块、阈值获取模块、瞬时评分计算模块、分析模块、单硬盘评分确定模块、输出模块;
状态参数获取模块,用于获取分布式存储集群内单硬盘状态参数数据;
阈值获取模块,用于获取预先设置的单硬盘状态参数的阈值;
瞬时评分计算模块,用于根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分;
分析模块,用于统计设定时间阈值内的单硬盘的瞬时评分,并分析评分分布规律;
单硬盘评分确定模块,用于根据评分分布规律确定单硬盘当前状态评分;
输出模块,用于根据确定的单硬盘当前状态评分输出硬盘状态提示信息。
在有些实施例中,瞬时评分计算模块包括参数权重设置单元、参数评分单元和计算单元;
参数权重设置单元,用于根据硬盘的使用时长设置参数数据的权重;
参数评分单元,用于单硬盘状态每个参数数据与对应的参数阈值的差乘以对应的单硬盘状态参数的权重得到单个参数的评分;
计算单元,用于将每个参数的评分相加得到单硬盘的瞬时评分。
在有些实施例中,单硬盘状态参数包括坏道表中坏道的增速、硬盘运行温度、硬盘数据延迟、硬盘累计读写次数;
阈值获取模块,用于获取预先设置的坏道表中坏道增速的增速阈值、硬盘运行温度的温度阈值、硬盘数据延迟的延迟阈值、硬盘累计读写次数的次数阈值。
在有些实施例中,参数权重设置单元包括硬盘使用时长获取子单元、判断子单元、权重设置子单元;
硬盘使用时长获取子单元,用于获取硬盘的使用时长;
判断子单元,用于判断硬盘的使用时长在设定的第几阶段;其中,硬盘的使用时间越长,设计的阶段越高;
权重设置子单元,用于根据硬盘所在的阶段设置参数的权重,其中,硬盘的使用时间越长,坏道表中坏道的增速的权重越小、硬盘运行温度的权重越大、硬盘数据延迟的权重越大。
在有些实施例中,该装置还包括显示设置模块;
显示设置模块,用于在管理界面的设备运行状态栏设置输出的硬盘状态提示信息。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
1.一种分布式存储用硬盘警示状态评估方法,其特征在于,包括如下步骤:
获取分布式存储集群内单硬盘状态参数数据;
获取预先设置的单硬盘状态参数的阈值;
根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分;
统计设定时间阈值内的单硬盘的瞬时评分,并分析评分分布规律;
根据评分分布规律确定单硬盘当前状态评分;
根据确定的单硬盘当前状态评分输出硬盘状态提示信息。
2.根据权利要求1所述的分布式存储用硬盘警示状态评估方法,其特征在于,根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分的步骤包括:
单硬盘状态每个参数数据与对应的参数阈值的差乘以对应的单硬盘状态参数的权重得到单个参数的评分;
将每个参数的评分相加得到单硬盘的瞬时评分。
3.根据权利要求2所述的分布式存储用硬盘警示状态评估方法,其特征在于,根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分的步骤中,根据硬盘的使用时长设置参数数据的权重。
4.根据权利要求3所述的分布式存储用硬盘警示状态评估方法,其特征在于,获取分布式存储集群内单硬盘状态参数数据的步骤中,单硬盘状态参数包括坏道表中坏道的增速、硬盘运行温度、硬盘数据延迟、硬盘累计读写次数;
获取预先设置的单硬盘状态参数的阈值的步骤中,对应获取预先设置的坏道表中坏道增速的增速阈值、硬盘运行温度的温度阈值、硬盘数据延迟的延迟阈值、硬盘累计读写次数的次数阈值。
5.根据权利要求4所述的分布式存储用硬盘警示状态评估方法,其特征在于,根据硬盘的使用时长设置参数数据的权重的步骤包括:
获取硬盘的使用时长;
判断硬盘的使用时长在设定的第几阶段;其中,硬盘的使用时间越长,设计的阶段越高;
根据硬盘所在的阶段设置参数的权重,其中,硬盘的使用时间越长,坏道表中坏道的增速的权重越小、硬盘运行温度的权重越大、硬盘数据延迟的权重越大。
6.根据权利要求1所述的分布式存储用硬盘警示状态评估方法,其特征在于,该方法还包括:
在管理界面的设备运行状态栏设置输出的硬盘状态提示信息。
7.一种分布式存储用硬盘警示状态评估装置,其特征在于,包括状态参数获取模块、阈值获取模块、瞬时评分计算模块、分析模块、单硬盘评分确定模块、输出模块;
状态参数获取模块,用于获取分布式存储集群内单硬盘状态参数数据;
阈值获取模块,用于获取预先设置的单硬盘状态参数的阈值;
瞬时评分计算模块,用于根据获取的单硬盘状态参数数据以及单硬盘状态参数的阈值,通过设置参数数据的权重计算单硬盘的瞬时评分;
分析模块,用于统计设定时间阈值内的单硬盘的瞬时评分,并分析评分分布规律;
单硬盘评分确定模块,用于根据评分分布规律确定单硬盘当前状态评分;
输出模块,用于根据确定的单硬盘当前状态评分输出硬盘状态提示信息。
8.根据权利要求7所述的分布式存储用硬盘警示状态评估装置,其特征在于,瞬时评分计算模块包括参数权重设置单元、参数评分单元和计算单元;
参数权重设置单元,用于根据硬盘的使用时长设置参数数据的权重;
参数评分单元,用于单硬盘状态每个参数数据与对应的参数阈值的差乘以对应的单硬盘状态参数的权重得到单个参数的评分;
计算单元,用于将每个参数的评分相加得到单硬盘的瞬时评分。
9.根据权利要求8所述的分布式存储用硬盘警示状态评估装置,其特征在于,参数权重设置单元包括硬盘使用时长获取子单元、判断子单元、权重设置子单元;
硬盘使用时长获取子单元,用于获取硬盘的使用时长;
判断子单元,用于判断硬盘的使用时长在设定的第几阶段;其中,硬盘的使用时间越长,设计的阶段越高;
权重设置子单元,用于根据硬盘所在的阶段设置参数的权重,其中,硬盘的使用时间越长,坏道表中坏道的增速的权重越小、硬盘运行温度的权重越大、硬盘数据延迟的权重越大。
10.根据权利要求7所述的分布式存储用硬盘警示状态评估装置,其特征在于,该装置还包括显示设置模块;
显示设置模块,用于在管理界面的设备运行状态栏设置输出的硬盘状态提示信息。
技术总结