硬盘故障对数据中心的可靠性和可用性的影响越来越大,据美国63个数据中心组织进行的一项研究显示,数据中心的停机费用在过去几年中显著增加,从2010年的5600美元/分钟增加到2016年的8851美元/分钟。
目前一些是硬盘故障,硬盘使用包括各类机械硬盘HDD、固态硬盘SSD等,硬盘频繁损坏导致的数据丢失给企业带来的损失是不可忽视的重大问题。
业界已经有较多的硬盘故障预测成果,基于磁盘S.M.A.R.T.
(Self-Monitoring Analysis And Reporting Technology,以下简写SMART)属性建立的各种磁盘故障预测模型。
同时,还有许多硬盘故障预测相关的研究和方法被提出,这些方法虽然取得了一定的效果,但是其在SMART属性选择、准确性上存在不足之处,大部分也只是离线数据验证,而离线数据都通过筛选,与大规模的线上环境数据会有较大差别,与现有其他硬盘故障预测方法相比,这里存在的主要难点:
数据规模的差异性。
- 现有的方法很多基于网络开源的硬盘数据,总体硬盘样本较少(千、万级别)。此外,这些硬盘样本数据的正负样本比例较为适中,因此很多研究者通过一些机器学习算法能够得到不错的预测结果。
- 不同类型的硬盘的参数存在差异,与硬盘制造商、服务器制造商都有关联。
数据环境的复杂性。
- 由于数据规模较大、业务线较多、服务器型号、固件型号、数据格式不同等等,硬盘数据采集环境不尽相同,很难保证数据完备,数据缺失偶尔会发生。
数据质量的标准性。
- 这一质量最关键在于正负样本的划定,即硬盘故障与否的标准。大部分的故障预测算法都基于较为干净的数据,尤其是小规模的故障预测,无需过多进行数据的清洗,这些硬盘都被确认为“确实的硬盘故障”,误报情况极少。而对于大规模线上硬盘故障预测,同时存在数据环境的复杂性,硬盘数据的质量则较为浑浊。
针对故障率较高的硬盘部分,面对上述问题,希望在以下方面增强。
- 确定与硬盘故障高关联的SMART参数。
- 输出可依赖的寿命提前量,为硬盘、数据备份提供充裕的时间参考。
- 通过关键SMART参数、硬盘I/O参数等性能参数来更加全面的进行硬盘故障的预测。
- 补充关键漏报,提升业务、数据的稳定性。
- 提升召回率的同时减少误报。
那么,我们需要怎么的硬盘故障预测架构呢?
为了解决数据规模、数据环境以及数据质量中存在的各种问题,达到比较稳定、精准的故障预测效果,硬盘故障预测采取并行多层级故障推送,整体分为三条并行路线:
- 基于领域阈值统计的参数直推评估
- 基于磨损拐点搜索的分类寿命预测
- 基于并行机器学习的异常故障预测
基于领域阈值统计的参数直推评估
阈值分割硬盘健康分评估
- 基于专家经验判断、历史数据分布、阈值分割形成阈值。
- 初步主要包括warn(警告)级别和critical(严重)级别。
业务线阈值加权关键参数排序推送
- 通过几个关键性参数,能够直接对磁盘的性能和稳定性作出预测。
- 基于不同业务线硬盘SMART关键参数的加权推送
基于磨损拐点搜索的分类寿命预测
全新硬盘的寿命是100,寿命耗尽变为1,当寿命耗尽,数据将会存在丢失或不可用,数据迁移本身也需要一定时间。为了提供业务的稳定性和成本优化,需要及时感知到寿命将要耗尽,尽早通知业务进行处理。
寿命拐点迭代
首先根据不同业务线将随机抽样线上SSD作为样本来分析磨损值、SSD写入量(累积写入量)、SSD上电时间之间的关系,SSD写入量和SSD磨损量之间存在较强的线性关系,SSD磨损值与上电时间以及SSD写入量与上电时间都是多线段线性关系,故可以利用上述变量之间关系对SSD寿命做出相应的预测。
基于并行机器学习的异常故障预测
整体的机器学习硬盘预测技术路线主要包括如下部分:数据准备、数据分析、算法搭建、调参优化、算法评估。
数据准备
初步定位硬盘故障相关的SMART参数,需要说明的是,HDD与SSD的相关参数选择不同,不同品牌不同型号的硬盘参数也不同。以保守的做法将这些参数的历史数据全部收集作为原始数据集。
数据分析
采用分类方法,需要对数据进行稀疏化采样,并采用全局的统计数据来作为训练特征。
其中输入数据包括:归一化SMART参数的value值,SMART参数的raw值,差分等。
算法搭建
主要过程包括:
- 编码:将model进行编码处理。
- 缺失值填充:防止中间过程存在缺失数据,填充方式为平均值。
- 合并标准化:数据有N、R等等量纲不同。
- 训练测试样本分割。
- 模型训练:采用二分类模块进行训练。
- 测试与验证:采用预测模块,输入训练完成的模型和测试集、验证集,分别进行测试和验证。
- 效果评估:结合二分类评估模块,同时测试模块的输出写入数据表,供数据统计。
调参优化
在数据集已经确定的前提下,主要就是模型的参数调节问题,,可利用算法平台调参工具。
算法评估
目前该算法流程的输出主要包括2类:
二分类结果:即好盘0或者坏盘1。
分类准确性:即二分类结果的概率,包括是1的概率,是0的概率。
SMART+时序探索
一般思路直接使用各种SMART参数、其变换参数、或者统计参数进行预测,很少能够利用一段时间窗口内的变化趋势信息。为了充分利用SMART参数时间窗口内的持续变化信息,这里采用时序方法 +SMART参数进行故障的预测。由于正负样本比例比较悬殊,需要首先针对时序样本进行聚类,之后根据聚类簇平均抽取样本来进行训练。
目前该算法还在测试阶段,离线数据已获得比较高的召回率。
阶段成果
- 准确率:针对推送事件而言,主要反应推送事件在观察窗口内的命中情况,目前主要考虑一定时间内的推送量,其各自在未来的观察窗口内能够命中多少个工单事件。
- 覆盖率:针对工单事件,主要反应工单事件的命中情况,即每个工单事件在过去一定时间内是否被推送事件覆盖到。
通过前期硬盘故障认知以及领域阈值统计,明确了硬盘故障高关联的SMART参数,补充关联的故障漏报情况,一定程度提升线上存储性能稳定性。
- 通过寿命预测,提供一定时间寿命余量,可供提前进行数据备份和转移,较少对业务的性能低谷。
- 硬盘故障预测采取并行多层级故障推送,融合领域知识库以及机器学习的优点,综合输出相辅相成,同时能在一定程度上缓解由于数据规模、数据环境、数据质量等不稳定线上因素导致的预测精度问题。
- 根据大量硬盘SMART样本的观察统计,相当一部分硬盘SMART处于长期不变或者参数长期缺失的状态,基于SMART参数的硬盘故障预测有其预测极限。