一种基于状态区分的数据中心SSD故障预测的方法

    专利2025-06-22  11


    本发明涉及存储可靠性,特别是涉及一种基于状态区分的数据中心ssd故障预测的方法。所述的状态依据s.m.a.r.t.属性进行区分,s.m.a.r.t.机制是一种硬盘自检机制,由硬盘的监测电路和相应的监测软件构成,对被监测对象的运行情况与历史记录及预设的安全值进行分析、比较。所述的故障预测指在数据中心中早于ssd实际故障前将其标注为故障,进行数据迁移等操作从而保障数据安全。


    背景技术:

    1、近年来,随着ssd越来越多的被数据中心所使用,ssd的寿命和可靠性要求变得越来越高,因为存储组件故障可能会导致数据损坏,甚至是永久的数据丢失。因此,除了多级冗余之外,及时更换存储设备在生产数据中心中是很常见的。这就使得针对于ssd的故障预测机制变得极其重要。然而,由于ssd的物理原理与机械硬盘并不相同,它们故障的原因和表现也相应的不同,这导致过去几十年针对于磁盘的故障分析工作无法应用于ssd。

    2、目前,越来越多的机器学习技术与s.m.a.r.t.这种自动的硬盘状态检测与预警系统相结合来进行ssd的故障预测。通常来说,这类结合机器学习的预测工作分为四个部分,即数据收集、数据预处理、特征选择、模型学习。

    3、数据收集通常依赖s.m.a.r.t.实现。现有的技术已经能够支持上百种不同的监控属性,涵盖了设备本身固有属性、环境因素、负载相关等各个方面。通常来说,s.m.a.r.t.会每天都产生一条记录来记录设备的变化情况,因此在一个规模尚可的数据中心,三到五年的时间跨度内可以收集百万条数据。通过这大量的数据,机器学习模型能够从中学习到故障变化中的细小差异。

    4、数据预处理用来解决数据收集过程中的一些规格问题。由于数据量庞大,不可避免的会出现一些数据缺失的情况,同时由于不同属性的计量单位不同,对于模型学习也会产生影响。因此通常需要再进行数据填充、归一化等预处理手段。

    5、特征选择则旨在精简化模型。对于故障预测来说,并不是所有属性都相关,将无关的数据投放到模型中,会让模型变得臃肿。训练时间大大增加却无法提升性能。

    6、经过以上步骤之后进入最后的模型搭建和学习过程。通常会将处理完毕的数据分为训练集和测试集,一般经验按照7:3的比例进行分割。利用训练集进行模型学习,利用测试集验证模型性能。

    7、尽管结合机器学习的智能化故障预测已经有一套较为成熟稳定的流程。但是目前仍然存在性能较差的问题,即模型无法很好的将故障设备与健康设备进行区分。其主要原因在于设备故障原因的多元化,存储介质、电路元件、接口甚至上层软件栈都有可能导致最终的故障,这在s.m.a.r.t.属性上的表现可能存在差异。使得模型在这些差异之间获得一个表示故障的统一数据趋势变得十分困难。


    技术实现思路

    1、本发明的目的是提供一种基于状态区分的数据中心ssd故障预测的方法,该方法能够大幅度提升传统基于机器学习的ssd故障预测方法的性能,即精确度和召回率。

    2、实现本发明目的的具体技术方案是:

    3、一种基于状态区分的数据中心ssd故障预测的方法,所述的状态区分依据ssd在关键s.m.a.r.t.属性上的值区间不同进行划分;所述的故障预测指在数据中心中早于ssd实际故障前将其标注为故障,从而保障数据安全,所述方法具体包括:

    4、进行所收集原始s.m.a.r.t.数据预处理,将数据集中的空缺数据使用多项式计算进行填充;同时将不同值类型的属性,比如字符归一化为数值,方便后续模型学习;

    5、进行状态属性选择,筛选出后续用于状态划分的属性类型;并依据贝叶斯变化点统计学原理进行属性值划分;并依据划分完毕的属性值区间,设定状态;

    6、对于每一个设定完成的状态,都能够获得一个其对应的数据集;对所有处理后得到的数据集使用机器学习算法,比如随机森林进行特征选择以及预测模型的训练;

    7、在预测环节中,需要进行预测的ssd中获取到的数据,被送往对应的模型中获得最终预测结果。

    8、所述状态属性选择,具体操作:通过斯皮尔曼相关系数,与ssd故障相关性高的s.m.a.r.t.属性会被选择,若有m个,为{a1,a2,a3,...,am}。

    9、所述属性值划分,具体操作:将每个筛选出来的属性按照其值分布寻找贝叶斯变化点,并且按照贝叶斯变化点划分区间,若被划分成n个,即{i1,i2,i3,...,in}。

    10、所述设定状态,具体操作:每一个状态都是一个值区间列表,对应先前每一个筛选出来的属性值的其中一个值区间;对于两个状态,只要有一个属性的值区间不同,即被认为是两个不同的状态;若状态1{ia1,ia2,ia3,...,iam}和状态2{ia1,ia2,ia3,...,iam};只要二者ia1不同,即二者在属性a上的区间不同,即认为是两个不同的状态。

    11、本发明提出的方法,充分考虑了ssd故障在s.m.a.r.t.属性上体现的差异,能够得到较好的预测性能。对比传统的基于机器学习的ssd故障预测算法,例如传统随机森林、xgboost、gradient boosting machine,能够提升约30%的召回率和20%的精确度。同时在fpr控制在0.01%的情况下,对比这三种方式平均提升36%的tpr。性能的提升使得本方法更好在实际场景下部署并获得收益。



    技术特征:

    1.一种基于状态区分的数据中心ssd故障预测的方法,所述的状态区分依据ssd在关键s.m.a.r.t.属性上的值区间不同进行划分;所述的故障预测指在数据中心中早于ssd实际故障前将其标注为故障,从而保障数据安全,其特征在于,所述方法具体包括:

    2.如权利要求1所述的基于状态区分的数据中心ssd故障预测的方法,其特征在于,所述状态属性选择,具体操作:通过斯皮尔曼相关系数,与ssd故障相关性高的s.m.a.r.t.属性会被选择,若有m个,为{a1,a2,a3,...,am}。

    3.如权利要求1所述的基于状态区分的数据中心ssd故障预测的方法,其特征在于,所述属性值划分,具体操作:将每个筛选出来的属性按照其值分布寻找贝叶斯变化点,并且按照贝叶斯变化点划分区间,若被划分成n个,即{i1,i2,i3,...,in}。

    4.如权利要求1所述的基于状态区分的数据中心ssd故障预测的方法,其特征在于,所述设定状态,具体操作:每一个状态都是一个值区间列表,对应先前每一个筛选出来的属性值的其中一个值区间;对于两个状态,只要有一个属性的值区间不同,即被认为是两个不同的状态;若状态1{ia1,ia2,ia3,...,iam}和状态2{ia1,ia2,ia3,...,iam};只要二者ia1不同,即二者在属性a上的区间不同,即认为是两个不同的状态。


    技术总结
    本发明公开了一种基于状态区分的数据中心SSD故障预测的方法,包括以下步骤:对于得到的S.M.A.R.T.数据集进行数据预处理,包含数据填充和属性值类型归一化;接着选取和SSD故障最相关的属性;并依据贝叶斯变化点等相关统计学原理对属性值进行区间划分;同时利用划分完成的区间进行状态设定,每一个状态最终都能够得到其对应的一个数据集;获得的数据集分别使用机器学习算法进行特征选择和预测模型的训练;后续SSD需要进行预测时,将其放入对应的模型中进行预测。本发明具有如下的优点:通过使用状态区分的方式,重复考虑SSD故障在S.M.A.R.T.的表现形式,先验性划分不同的故障类型,最终得到了惊人的预测性能,相较于传统方法,平均提升约30%的召回率和20%的精确度。

    技术研发人员:石亮,梁宇炯
    受保护的技术使用者:华东师范大学
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-88610.html

    最新回复(0)