• 收藏
  • 加入书签
添加成功
收藏成功
分享

一种基于全连神经网络的磁盘故障预测方法及系统

电子乐园·中旬刊
中兴通讯股份有限公司, 南京市 210012


打开文本图片集

< a rel="example_group" title="Custom title" href="http://img.resource.qikan.cn/qkimages/ddas/ddas202105/ddas20210535-2-l.jpg">< a rel="example_group" title="Custom title" href="http://img.resource.qikan.cn/qkimages/ddas/ddas202105/ddas20210535-3-l.jpg">< a rel="example_group" title="Custom title" href="http://img.resource.qikan.cn/qkimages/ddas/ddas202105/ddas20210535-4-l.jpg">< a rel="example_group" title="Custom title" href="http://img.resource.qikan.cn/qkimages/ddas/ddas202105/ddas20210535-5-l.jpg">< a rel="example_group" title="Custom title" href="http://img.resource.qikan.cn/qkimages/ddas/ddas202105/ddas20210535-6-l.jpg">

摘要:本文介绍了一种基于全连神经网络的的磁盘故障预测方法及系统,所述系统通过采集磁盘运行的SMART参数和IO读写速度等数据,实现了磁盘故障的在线预测,大幅度提升了计算机网络存储系统运行的稳定性和运维成本。

关键词:故障检测;神经网络;模型训练

1技术背景

伴随着移动互联网和5G物联网的高速发展,数据量正以指数级的速度增长,对这些海量数据进行存储、分析、挖掘都依赖底层的物理存储介质,其可靠性是保证用户信息安全的基础。当前磁盘在数据存储体系中依然处于核心地位,因持续的高负荷I/O,不管是机械硬盘还是固态硬盘都容易损坏,已成为服务器中最脆弱的硬件部件之一,总之,磁盘正常运行是确保数据有效性和安全性的基础[1]。

为保障磁盘存储系统正常运行,当前普遍采用软件自动化检测+人工巡查的方式,但其运维效率及效果不尽如人意。一方面,为保证系统全天候正常运行,需要投入大量的人力进行7×24小时现场守护;另一方面,这种方式通常只能发现和处理在线运行系统中已失效的磁盘,此时磁盘故障所导致的数据损坏和系统异常业已发生,这属于事后检测。其弊端是无法避免故障带来的业务损失。

因此,对磁盘故障进行事前主动性预测比事后检测显得更有价值,磁盘故障智能预测已成为学木界和工业界的研究热点,其目标是基于磁盘当前和过去的运行状态参数统计数据对其健康状态进行评估,提前预测磁盘失效发生的可能时间点,以便事先转移数据并更换磁盘,避免造成实质性损害。

当前技术主要是基于规则来实现,通过对SMART参数、文件读写错误率、请求应答时延设置阈值,来判断磁盘的故障情况,预测精确率不高,非常容易误判。本文提出一种基于神经网络的智能预测方法,以带标签的SMART属性样本数据输入模型,通过不断迭代,训练出一个能够智能识别磁盘故障的模型,与传统方法相比,该模型的磁盘故障预测准确率约提升20%,召回率约提升40%。

2技术方案

本文提出的磁盘故障预则系统的组成架构如图1所示,它包括磁盘SMART数据采集模块、磁盘SMART数据解析模块、模型训练特征构建模块、神经网络模型预则模块丶神经网络模型训练模块、以及磁盘故障预则结果反馈模块。本文所述技术方法及方案具有较强的通用性,既可应用于数据中心、云计算中心等大型存储系统的磁盘故障预则,也可应用于小型机房的存储服务器、磁盘阵列等存储系统的磁盘故障预测。

下面分别介绍每个子模块的具体组成及实现方法。

2.1 磁盘SMART数据采集模块

该模块的实现框架如图2(a)所示,磁盘SMART数据采集模块负责磁盘SMART数据的定时采集和上传,其实现的功能主要包括:定时任务(定时触发采集模块)、特定SMART信息的数据采集与整理、SMART数据文件上传。其工作流程为:利用定时器来触发磁盘SMART数据采集脚本,对存储服务器或RAID中的磁盘运行状态参数进行集采,并以文本的形式将SMART原始数据上传到服务器,以便进一步解析处理。

2.2 磁盘SMART数据解析模块

磁盘SMART数据解析模块负责磁盘SMART状态数据的解析,将磁盘SMART数据采集模块上传的原始数据进行解析归纳,生成3个与磁盘相关的文件:(1)磁盘基本信息文件bass.csv:主要包括磁盘型号、容量、接口类型、局点等信息。(2)SMART数据信息param.csv:每一个磁盘的SMART状态数据和采集时间等信息。(3)离线磁盘文件offline.csv:通过自动化监测脚本分析获得的失效磁盘的基本信息文件,即坏盘的基本信息。

如图2(b)所示,该模块的实现流程为:通过定时器来触发数据解析模块脚本,对采集数据缓存目录进行扫描,获得最新上传的SMART原始数据文件并进行解析,最后生成磁盘基本信息文件、SMART数据信息文件、离线磁盘基本信息文件。

2.3 磁盘故障预测特征构建模块

如图2(c)所示,磁盘故障预测特征构建模块根据磁盘SMART数据解析模块生成的磁盘基本信息文件、SMART数据信息文件,对每一个磁盘相关的SMART状态数据进行统计分析,构建磁盘的预测特征,生成磁盘特征文件并输入到神经网络的磁盘故障预测模块中进行磁盘分类预测。

2.4 磁盘故障训练特征构建模块

如图2(d)所示,磁盘故障预测特征构建模块根据磁盘SMART数据解析模块生成的磁盘基本信息文件、SMART数据信息文件,对每一个磁盘相关的SMART状态数据进行统计分析,构建磁盘的预测特征,生成磁盘特征文件并输入到神经网络的磁盘故障预测模块中进行磁盘分类预测。

为了降低输入特征之间的相关性以及计算复杂度,我们采用PCA(Principal Component Analysis)降维算法对输入数据进行降维操作。PCA降维算法流程如下:

设有m条n维数据。

将原始数据按列组成n行m列矩阵X

将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值

求出协方差矩阵

求出协方差矩阵的特征值及对应的特征向量r

将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P

即为降维到k维后的数据

SMOTE上采样算法流程如下:

对于少数类中的每一个样本X,以欧式距离为标准计算它到少数类样本集中所有样本的距离,得到其近邻

根据样本不平衡比例设置一个采样比例以确定采样倍率N,对于每一个少数类样本X,从其近邻中随机选择若干个样本,假设选择的近邻为

对于每一个随机选出的近邻,分别与原样本按照如下的公式构建新的样本

2.5 磁盘故障预测算法模型

磁盘故障预测模型是磁盘故障预测系统中的最核心的部分,其直接决定了预测系统的可用性,本文提出的预测模型采用的是神经网络模型(ANN:Artificial Neural Network),磁盘故障预测模型的实现框架如图3(a)所示,包括:神经网络输入层,用于磁盘故障预测特征的输入,采用的是30个特征维度;神经网络隐含层1,由1000个神经元组成,激活函数使用的是tanh激活函数;神经网络隐含层2,由500个神经元组成,激活函数用的是tanh激活函数;神经网络输出层,采用的是5维输出,因为将磁盘故障预测的时间分为5个时间段,时间段单位为周;代价函数采用的是交叉熵损失函数;模型优化方法使用梯度下降优化方法;采用dropout神经元网络正则化方法对模型过拟合问题进行处理;采用后向反馈网络对模型参数进行更新。

如图3(b)所示,经过PCA降维后,维度从40维降到32维左右,针对不同的数据,每次训练过程中降维后的维度略有区别,大概在32维上下波动。根据图示,我们可以得到如下3个公式:

2.6 神经网络磁盘故障训练与预测模块

预测模型的在线训练实现流程如图3(c)所示。磁盘故障预测系统对采集脚本上传的SMART原始数据进行解析得到SMART数据信息文件param.csv、磁盘基本信息文件base.csv和离线磁盘基本信息文件offline.csv,然后触发磁盘训练特征自动化构建和磁盘类别自动化标注,生成训练模型所需的磁盘训练特征文件和磁盘分类标签文件,最后,自动触发磁盘故障预测模型的迁移训练,并保存训练模型,以及更新磁盘故障预测系统中的预测模型。本文提出的磁盘故障预测在线训练,一方面提高了模型训练的效率,减少了人工干预;另一方面赋予了磁盘故障预测模型更强的适应性,随着时间推移和数据积累,预测模型性能和适应性都得到进一步增强。

磁盘故障预测系统对采集脚本上传的SMART原始数据进行处理,转换成向量特征,此过程和训练过程处理步骤一致,生成向量特征后触发磁盘故障预测模型进行预测,并将预测结果返回显示界面。从数据采集到模型返回整个过程完全自动化。

3 实验结果

3.1 评测指标介绍

机器学习和推荐系统中的评测指标一般有准确率、召回率等,本论文也采用了这两种评测方法。下面先介绍下混淆矩阵的概念,如下表所示:

本文使用精确率和召回率两个指标对结果进行评估,和业界常用的SVM支持向量机算法和随机森林算法做了对比。由上表结果可以看出,本文提出的人工神经网络算法在精确率和召回率上都超过了SVM支持向量机和随机森林算法,精确率达到90%左右,召回率在85%以上。

4 总结

本文介绍了一种通过基于全连神经网络方式提升磁盘故障预测准确率的方法,目的是尽早识别出存在潜在故障风险的磁盘,以便让其提前下架,从而保障用户数据安全。本文所述方法及系统仍在继续完善中,后续需要研究的内容包括:

在生产环境中,运维人员更希望知道磁盘故障发生的预计时间点,所以磁盘故障的时间预测是后续一个难点和方向;

磁盘故障现象有时表现为不能读写,但更多时候则表现为读写比较慢。磁盘读写慢是影响数据存取效率和用户体验的重要问题,然而慢盘特征比坏盘特征更加难以识别,因此,慢盘检测也是一个难点,是后续需要重点研究的一个方向。

参考文献

[1]王永成、王小妮,2019.6 .硬盘故障预测算法研究,分类号:TP333.3

[2]服务器租用中常见的磁盘类型[J]. 马建.  计算机与网络. 2018(12)

[3]基于融合深度神经网络的个人信用评估方法研究.王重仁; 王雯; 佘杰; 凌晨.计算机工程.2019-11

[4]基于BP神经网络的焊管厂库存预测研究[J]. 刘腾达,杜天苍.  北京石油化工学院学报. 2017(03)

[5]一种硬盘故障预测的非监督对抗学习方法.姜少彬; 杜春; 陈浩; 李军; 伍江江.西安电子科技大学学报.2019-11

[6]朱洪斌, & 李悦. (2021). 国产人工智能平台的磁盘故障预测应用. 电子世界(18), 2.

[7]刘鑫, & 滕飞. (2021). 基于xgboost的磁盘故障预测及其特征分析. 赤峰学院学报:自然科学版, 37(11), 7.

*本文暂不支持打印功能

monitor