论文部分内容阅读
随着存储系统规模和复杂性的不断增长,传统的冗余机制难以提供足够的可靠性,构建高可靠性的存储系统成为了巨大的挑战.目前绝大部分磁盘都支持SMART技术,即磁盘自我检测、分析和报告技术.SMART全称为"Self-Monitoring,Analysis and Reporting Technology",它会监控硬盘内部的一些与健康状况相关的属性,如果某个属性值超过了阈值,它就会发出故障预警信息.然而,为了达到较低的误报率,SMART属性的阈值设置的较大,使得SMART技术的预测准确率非常有限,仅能在0.1%的误报率的情况下预测3-10%的硬盘故障.我们利用磁盘的SMART属性数据,设计实现了基于反向传播算法的人工神经网络来建立磁盘失效预测模型,该模型不是利用某一个SMART属性进行故障预测,而是利用多个磁盘SMART属性进行磁盘故障预测.根据Kolrnogorov定理,一个三层BP神经网络能够实现对任意非线性函数的逼近,因此本实验使用常见的三层神经网路进行故障预测.本实验数据集来自百度数据中心,数据中心的磁盘全部是希捷公司的企业级磁盘且包含了多达23,395块硬盘的SMART记录,其中有433块故障盘,22962块健康磁盘.对每块磁盘每隔一小时采集一次SMART数据.健康磁盘收集七天的SMART数据,而故障盘收集故障前20天的SMART数据.某些故障盘未收集够20天SMART数据是因为他们在开始采集SMART数据20天内便失效.对在这样的数据集下建立磁盘故障预测模型具有较高的代表性及实践价值,为科研成果投入工程应用奠定基础,也对磁盘厂商具有很强的指导意义.本文采用了新的样本处理、选取方法以及特征构造的方法,提高故障预测模型的预测率和降低了磁盘故障预测模型的误报率.每个SMART属性有原始值与标准值,其中标准值是由各个厂家通过一定的公式由原始值计算得出.因为SMART属性个数较多,且对构建硬盘故障预测模型并不都有用,因某些属性的标准值一直为0,或者所有硬盘的属性值都一样,这样的属性对于硬盘故障预测没有任何意义.我们选取磁盘的十个SMART属性的标准值与两个SMART属性的原始值,将数据集随机划分为训练集和测试集.训练集包含原始数据集70%的好盘和故障盘的样本,而测试集则为剩下的30%的好盘和故障盘的样本.对每个好盘随机取4个时刻的SMART数据作为负样本.对于训练集中的故障盘,采用了基于时间窗口的样本选择方法分别选取了训练集中的坏盘故障前12小时、24小时、2天的时间窗口内的SMART样本作为正样本来参与模型训练.使用反向传播神经网络进行磁盘失效预测.通过调整神经网络中间层个数,神经网络训练次数以及使用不同时间窗口的数据集对比分析各种条件下的模型故障预测性能.实验结果显示,与其他模型相比,在使用时间窗口为24小时的数据集的情况下,本文提出的模型取得了更高的磁盘故障预测性能.该模型能在保持97.69%故障检测率的同时,使故障误报率由原来的0.65%降低到0.0855%.