基于LSTM深度学习的磁盘阵列故障预测系统
本项目基于RGF和迁移学习构建了S.M.A.R.T磁盘故障预测系统,通过分析硬盘属性实现故障预测,提升数据安全性。RGF算法有效解决了GBDT的过拟合问题,而迁移学习方法提高了模型在不同磁盘模型间的适应性,降低了训练开销。该系统在云存储需求增加的背景下,能够有效预知风险并优化负载配置,具有重要的市场意义和应用价值。
type
status
date
slug
summary
tags
category
icon
password
摘要
早在上个世纪九十年代,人们就意识到数据的宝贵性胜于硬盘自身价值,渴望有种技术能对硬盘故障进行预测并实现相对安全的数据保护。目前磁盘行业采用预测阙值判定方法对状态良好的硬盘的S.M.A.R.T数据进行分析,存在精确度较低、磁盘真实情况不明确、潜在故障监控不突出的问题。随着人们对数据集可携带化需求的增加,对数据安全及稳定性的期待,我们基于RGF和迁移学习设计了S.M.A.R.T磁盘阵列故障预测系统。
该系统通过侦测硬盘各属性,如数据吞吐性能、马达起动时间、寻道错误率等属性值和标准值,根据各个属性的影响比重设置不同的比重,解决数据不平衡问题,并且采用RGF进行分类,得到故障预测的效果。由于同一厂商生产的不同磁盘模型之间也是存在差异性,因此我们通过迁移学习来普适化各种模型,在保证预测准确性的同时大大减少需要训练的模型数量。
由此看出,s.m.a.r.t磁盘阵列故障预测系统在寿命预测方面有了更精细的预测,使用范围更加广泛,在人们生活方面有广阔的前景。
Abstract
As early as the 1990s, people realized that data was more valuable than the hard drive itself, and wanted a technology that could predict hard disk failures and provide relatively secure data protection. At present, the disk industry adopts the predictive threshold judgment method to analyze the S.M.A.R.T data of the hard disk in good state, which has some problems such as low accuracy, unclear real situation of the disk, and unprominent potential failure monitoring. With the increasing demand for portable data sets and the expectation of data security and stability, we designed a s.m.a.r.t-disk array fault warning and adaptive load balancing system based on RGF and migration learning.
This system detects the hard disk attributes, such as data throughput performance, motor start time, seek error rate and other attribute values and standard values, sets different weights according to the impact of each attribute weight, solves the problem of data imbalance, and USES RGF for classification to obtain the effect of fault prediction. Because of the differences between different disk models produced by the same manufacturer, we generalized various models through migration learning, which greatly reduced the number of models to be trained while ensuring the accuracy of prediction.
It can be seen from this that the s.m.a.r.t-disk array fault warning and adaptive load balancing system has a more sophisticated prediction in life prediction, a wider range of applications, and a broad prospect in people's lives.
目录
第一章 概述
1.1 方案背景
S.M.A.R.T,全称为“Self-Monitoring Analysis and Reporting Technology”,即“自我监测、分析及报告技术”,是一种自动的硬盘状态检测与预警系统和规范。通过在硬盘硬件内的检测指令对硬盘的硬件如磁头、盘片、马达、电路的运行情况进行监控、记录并与厂商所设定的预设安全值进行比较,若监控情况将或已超出预设安全值的安全范围,就可以通过主机的监控硬件或软件自动向用户作出警告并进行轻微的自动修复,以提前保障硬盘数据的安全。除一些出厂时间极早的硬盘外,现在大部分硬盘均配备该项技术。
据美国63个数据中心组织进行的一项研究显示,数据中心的停机费用在过去几年中显著增加,从2010年的5600美元/分钟增加到2016年的8851美元/分钟。以往基于磁盘SMART属性建立的各种磁盘故障预测模型,虽然取得了一定的效果,但是其在SMART属性选择、准确性以及模型的复用性上存在不足之处。
作为行业标准,S.M.A.R.T规定了硬盘制造厂商应遵循的标准。满足S.M.A.R.T标准的条件主要包括:在设备制造期间完成S.M.A.R.T需要的各项参数、属性的设定;在特定系统平台下,能够正常使用S.M.A.R.T;通过BIOS检测,能够识别设备是否支持S.M.A.R.T并可显示相关信息,而且能辨别有效和失效的S.M.A.R.T信息;允许用户自由开启和关闭S.M.A.R.T功能;在用户使用过程中,能提供S.M.A.R.T的各项有效信息,确定设备的工作状态,并能发出相应的修正指令或警告。在硬盘以及操作系统都支持S.M.A.R.T.技术并且该技术默认开启的的情况下,在不良状态出现时S.M.A.R.T.技术能够在屏幕上显示英文警告信息:“WARNING:IMMEDIATLY BACKUP YOUR DATA AND REPLACE YOUR HARD DISK DRIVE,A FAILURE MAY BE IMMINENT.” (警告:立刻备份你的数据同时更换硬盘驱动器,可能有错误出现。)
S .M.A.R.T磁盘故障预测系统其原理是通过侦测硬盘各属性,如数据吞吐性能、马达起动时间、寻道错误率等属性值和标准值进行比较分析,推断硬盘的故障情况并给出提示信息,帮助用户避免数据损失。
通过大量数据标明,使用单一或者是简单的SMART属性值还不能准确地预测磁盘故障。目前磁盘厂商采用的故障预测阈值判定方法,磁盘故障误报率为0.1%, 而能够预测的磁盘故障仅有3%~10%。通过对状态良好的硬盘的S.M.A.R.T数据进行分析,工程师难以得知磁盘真实情况,不易于预测磁盘潜在的故障与维护日期。而对于状态欠佳或具有坏扇区的硬盘,用户只有可能在硬盘状况较差时才能感知异样,所存数据依然有丢失风险。因此本项目创新地提出的基于RGF算法构建的硬盘损坏预测技术就是为了达到提前预警的效果,在发生问题前提早备份或更换硬盘,达到 0 数据丢失。
每当阵列中磁盘出现故障的时候,就会存在很多的问题亟待解决。比如说,降级状态哪些操作需注意?修复动作占用多少资源?降级状态持续多久?性能下降多少?往往这些数据不易于从大量的硬盘数据中直接得出。以往,我们会用一种“鱼和熊掌不可兼得”的方式来从性能与可靠性中选择一个侧重点。但是牺牲性能换取可靠性或牺牲可靠性换取性能,这两种状态往往不是一个最优的状态,尤其是面对高并发,硬件资源有限等实际情况。
磁盘的MTBF决定单盘的健康概率,但是副本保护机制并不像我们想象的那么可靠。两副本保护上限96颗硬盘,而三副本保护上限512颗硬盘。对于商业化数据中心来说,其系统可靠性要求达到99.999%,磁盘数量更是远突破512颗硬盘。因此有必要推出一种新的具有较高可靠性的解决方案。
RAID磁盘阵列的某一块磁盘发生损坏后,系统自动使用备用磁盘替换损坏的成员盘,这个过程称为重建。重建RAID磁盘阵列的过程中,系统使用其他成员盘的数据通过计算来恢复坏盘的数据,然后将恢复的数据写到原备用磁盘。然而随着技术的发展,单个磁盘的容量越来越大,要恢复一个磁盘的数据需要大量的计算;在恢复数据过程中,原备份磁盘会成为写入热点。导致的结果就是数据重建时间漫长,而且在重建过程中消耗大量的系统资源,严重影响系统的数据存储业务。通过下面两个图的对比,我们可以看出提前预测磁盘故障可以降低故障对系统可用性的冲击。
针对于以上种种问题,我们提出如下解决方案:
通过将阵列中的硬盘的S.M.A.R.T信息,文件系统信息,与从数百万块机械硬盘与SSD硬盘的S.M.A.R.T数据集中进行匹配,本项目可以基于原有的S.M.A.R.T信息较为准确地预测可能出现的磁盘故障,已存在和潜在的坏扇区,以及可能发生的文件系统错误等。本项目根据以上信息构建针对于该阵列独一无二的数据库,通过迁移学习等方式对磁盘当前状态进行评估,预测出在指定时间段内磁盘的状态走势,并绘制磁盘状态曲线。同时,本项目设计了一种可调整的文件级RAID结构,该结构保证数据完整性的同时,依据节点中文件访问频率等特性,在不中断存储服务的同时进行迁移与扩展收缩,充分利用各存储节点的能力,并减小状态欠佳的磁盘的负载,在准确预测磁盘故障的同时,降低了因磁盘故障导致的文件损坏等问题。相比于传统重构RAID的方案,本项目具有很小的数据量,并且不受传统RAID阵列的容错限制,具有较高的可靠性。最终,本项目以图形化和图表化的方式将硬盘未来的状态以及潜在的问题呈递给操作者,操作者可针对以上数据修改磁盘数据备份方案以及替换掉状态欠佳的硬盘,从而减小了数据丢失的风险。
1.2 研究意义
- 数据中心磁盘阵列寿命预测
对于存有上万块硬盘的超大数据中心来说,磁盘数据安全尤为重要。传统的RAID磁盘阵列系统在一定程度上通过数据冗余备份,或采用奇偶校验数据集中或分布地存储于硬盘指定的位置。对于7*24h不间断运行的服务器来说,对硬盘的损耗较大,传统的RAID磁盘阵列虽说在一定程度上保障了阵列存储的数据安全,但仍存在故障信息滞后,重建阵列速度慢且重建过程消耗较多的CPU资源等。一定程度上限制了数据储存速度的发展。同时RAID阵列中磁盘读取消耗基本保持一致,各磁盘负载较为均衡,损坏的硬盘数量若大于容错个数,则阵列中数据永久不可恢复。数据中心的意外故障,有超过60%都是直接或间接由磁盘故障造成。磁盘故障时,用户最关心两个问题:一是应用性能影响,二是数据可靠性影响。然而系统资源有限的时候,二者不可兼得。希望尽快修复数据,就必然占用很多资源,影响前端应用性能;而如果尽量保证前端应用性能,就会延长数据修复时间,增大数据丢失风险。数据中心若损坏的磁盘不及时更换,则很有可能导致阵列中其他硬盘的损坏,可能超出阵列的容错能力,从而造成磁盘阵列数据的永久丢失。
- 数据中心存储负载均衡配置
以往数据中心使用传统的基于s.m.a.r.t.数据进行分析。数据中心的磁盘阵列发生故障之后,根据已有数据重构新的数据会消耗大量的时间并严重影响总线带宽。随着海量数据的不断增长,分布式储存系统往往需要通过横向扩展的方式不断增加新的存储节点,磁盘状态的不等将导致新加入的磁盘IO速率和储存可靠性一般比原节点高很多,这种差异导致状态欠佳的磁盘往往会成为整个存储系统的瓶颈,有可能造成资源的浪费。传统的分布式储存的方法实际上是以损失新节点的数据读写效率为代价的,并非适合于高并发,低延迟,高数据吞吐量的场景。因此可以说,目前提高存储子系统的IO性能的最大障碍就是负载不均衡。
- 磁盘生产厂商信息反馈
数据中心的磁盘阵列故障数据可反馈给磁盘生产厂商。生产厂商可根据某一季度磁盘故障情况以及使用分布情况动态调整磁盘生产及销售量。正如手机,电脑软件中的反馈机制一样,增加反馈,也有利于完善磁盘生产,及时发现隐患问题,着力于解决由大量磁盘数据反馈的问题,做到磁盘的迭代与更新。
第二章 磁盘故障问题与挑战
- 约有上百种不同的数据可能与硬盘故障相关,但不是所有数据都能帮助本系统进行错误预测。比如,通电时间(Power-On Hours)对预测的帮助相对较小,但重新分配的分区数量(Reallocated sectors count)不断增加,就表明硬盘有故障。一般来说,在硬盘故障前的15-16天,硬盘错误就开始出现,并且一般在故障前的最后一周,重新分配的分区数量会增加三倍,设备重置次数会增加十倍。
- 不是所有的SMART属性都与磁盘故障相关。因为缺乏SMART属性对磁盘状态指示的标准,所以需要从SMART属性中选择与一部分磁盘故障相关的属性,作为故障预测模型的输入。
- 磁盘故障数据高度不平衡。随着时间的推移,健康磁盘的SMART数据量一直在增加,但是只有一小部分磁盘(2%)被替换,即被替换的磁盘数据非常少。分类算法通常最大限度地提升整体精度,少数类所包含的信息就会很有限,从而难以确定少数类数据的分布,即在其内部难以发现规律,进而造成少数类的识别率低。
- 不同类型的磁盘SMART存在差异。SMART是特定于制造商的,它们的编码和标准化在制造商之间差别很大,所以不能使用同一个预测性模型来判断不同型号的磁盘。来自不同制造商的硬盘可能有不同的故障特征和模式,甚至同一制造商的不同型号的硬盘也会有所差异。另一方面的差异来自工作负载的强度,这会影响到故障在预测后多快的时间里发生,比如在高强度的工作负载下,出现故障迹象的磁盘可能很快就会发生故障,但在硬盘驱动的工作负载较少的服务器中,同样的硬盘可能仍然可以继续运转几周到几个月。
- 传统磁盘阵列采用多副本冗余或RAID阵列方案,但保持副本一致性是一个较复杂的问题。当阵列中磁盘出现故障时,需要占用大量的带宽资源进行阵列重构,特别是对于存在大量频繁写处理文件的系统中。固定的结构往往不能适应多变的外部访问模式。虽然现在已有一些大型存储系统根据负载特性调整数据分布,但是,这些调整往往基于相对固定的系统总体结构,形成两层结构(即RAID1和RAID5)。系统依据数据的访问热度,将数据在两层之间迁移,其中需要较高的时空复杂度。
第三章 国内外研究现状
3.1 先智数据——磁盘阵列故障预警研究成果
AI其实是一种使能技术,存储行业也会从中受益。IT BRAND PULSE认为,未来的存储就像自动驾驶汽车一样,也会自动‘’驾驶“。也就是说,存储自己足够智能,他在周围布满了传感器,他会实时调节自己的工作状态,实现自动调优,自动运维。
目前先智数据主要有四个产品系列,第一个Federator,它其实是一个带外存储资源调控平台。Federator是可以通过机器学习,认知客户应用负载的变化模式,并且对于应用的性能和容量的变化作出预测,而且可以提前考虑资源到位。第二个产品是DR Prophet,是基于Dederator平台实现,面向业务需求的数据保护方案。第三个就是StellarFlash,这是一款包含了智能预测能力的闪存设备。第四个产品系列就是DiskProphet,该产品功能是对磁盘的故障进行预测。
3.2 IBM——Predicting Disk Replacement towards Reliable Data Centers
IBM研究院于数据挖掘顶会会议(KDD 2016)发表了基于RGF和迁移学习的磁盘阵列故障预测论文。其方法为:
- 通过侦测时间序列的变化点,识别相关SMART属性。
- 把事件序列转换成样本集合,通过把多个事件编码成单独的数据点,从而得到压缩过,但是有价值的特征。
- 构建预测分类模型。使用正则化贪婪森林框架,引入fully-connected贪婪算法,迭代修改当前获得的所有叶子节点(决策规则)的权重,同时通过贪婪森林搜索法向森林中增加新的规则。通过加入一个明确的正则项,防止过拟合,并利用结构化稀疏来直接执行贪婪搜索。
- 使用迁移学习的方法,训练一个分类器,可以rank相似性。
参考文献:
Predicting Disk Replacement towards Reliable Data Centers, 2016, KDD
A Two-Step Parametric Method for Failure Prediction in Hard Disk Drives,2014, TII
Failure prediction using machine learning and time series in optical network, 2017, OE
第三章 方案设计及创新点
3.1 磁盘分类及预测
3.1.1 SMART属性采样
因为SMART数据是随着时间的增长而生成的,所以我们是通过时间序列突变点(changepoint)检测来确定SMART与磁盘替换的相关性(也可以考虑一下VAE重构模型,通过对比重构后的结果与原始输入的差距)。当被替换的磁盘SMART时间序列中某个SMART属性发生突变,而且这个转变是永久性不可恢复的,那么可以认为这个属性与磁盘替换是相关的。
下图展示的是SMART_187_raw(无法纠正的错误)的折线图,这是报告给操作系统的无法通过硬件ECC校正的错误。如果数据值不为零,就应该备份磁盘上的数据了。从图中可以看出在第50天的时候,SMART_187_raw值突然增大,即第50天为突变点。
每个SMART指示器有两个值:原始值,和正则化值。其中,原始值表示技术,或物理计量值(温度,毫秒数等),正则化值是厂商特定的映射。
图示了SMART_187_raw的时间序列,SgtA磁盘,80天
通过检测每一个SMART属性,我们得到了下表中展示的结果(只展示部分结果)。在表格中,SgtA和HitA分别表示希捷和日立的磁盘型号,Ratio表示磁盘替换前该属性值出现突变的比例。我们可以看出有些SMART属性确实与磁盘替换无关,而且对于不同型号的磁盘,与磁盘替换事件相关的SMART属性是不相同的。
3.1.2 生成时间序列
经过第一步的SMART属性值的挑选,下一步需要做的是生成预测模型可以使用的时间序列。使用时间序列作为模型的数据是基于如下三点考虑的:
1、每天的数据都是不稳定的,可能某天的SMART数据缺失。
2、磁盘具有一定的自恢复性,不能根据某一天的数据来判定磁盘接下来一段时间的状态。
3、如果只看某一天的数据,则无法提前一段时间来预测磁盘故障,也就无法留出充足的时间给工程师更换磁盘。
所以我们使用指数平滑的方法来生成时间序列,S_t=α·Y_t+(1-α)·S_(t-1)是指数平滑的公式,其中α是平滑参数,Y_t是之前t个数据的平滑值。α越接近1,平滑后的值越接近当前时间的数据值。指数平滑不舍弃过去的数据,而是仅给予逐渐减弱的影响程度,即随着数据的远离,赋予逐渐收敛为零的权数。
3.1.3 解决数据不平衡性
对于数据中心的磁盘运行情况统计,大量的磁盘处于良好运行状态,因此训练集是不平衡的。遇到不平衡数据时,以总体分类准确率为学习目标的传统分类算法会过多地关注多数类,而使少数类样本的分类性能下降。因为这些算法大多数建立在各类数据分布平衡的假设之下,以寻求数据总体分类准确率为最大目标。而在磁盘故障预测的场景下,磁盘故障的数量是远远小于正常磁盘的。我们使用了欠抽样(downsampling)的方式来平衡数据。
具体做法是这样的,对健康磁盘的时间序列样本做K-means聚类,把观察到的健康磁盘数据划分成k个聚类,聚类之后每一个类别中样本都是相似的,然后选择距离聚类中心最近的n个点作为健康磁盘样本的抽样结果。最后,我们生成一个平衡的训练集,通过选择k与故障磁盘样本数,接近即可。
3.1.4 对磁盘状态进行分类
传统的分类算法采用SVM算法进行分类。SVM利用内积核函数代替向高维空间的非线性映射,其目标是对特征空间划分最优超平面,核心是最大化分类边际。同时,该算法使用少数支持向量决定了最终结果,具有较高的鲁棒性。但是,SVM算法对大规模训练样本难以实施,由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。
GBDT就是一个Boosting算法,它是由多个回归树(CART)组合起来进行预测的模型。但是GBDT有不足的地方:每一次的迭代中的唯一目标就是学习出一颗决策树,从而将单棵树的学习与整个森林的学习分隔开,没有很好地利用决策树本身的性质。新增的决策树只改变了本身的参数而没有改变老树的参数,实际上相当于只做了一个局部的搜索。同时,为了避免训练出来过拟合的模型,GBDT需要控制学习步长s,这种情况可能会造成需要无穷多棵决策树才能很好的完成拟合。
因此,我们使用了RGF算法对磁盘状态分类。RGF (全称:正则化贪心森林)算法是一个分类算法,它由多棵决策树组合而成,是GBDT(梯度提升决策树)算法最好的变种之一。针对 GBDT 每次迭代只优化新建树以及过拟合的问题,RGF使用了正则化的全局优化贪心搜索改进算法。该算法引入fully-corrective贪婪算法,迭代修改当前获得的所有叶子节点(决策规则)的权重,同时通过贪婪搜索法向森林里增加新规则。通过加入一个明确的正则项防止过拟合,该算法实现如下:
- 每次迭代直接对整个贪心森林进行学习
- 新增决策树后进行全局的参数优化
- 引入显式的针对决策树的正则项来防止过拟合
上图对比了RGF与其他分类算法的分类结果,上表中的P、R、F分别表示准确率(precision)、召回率(recall)、F-分数(F-score)。从表中可以看出,RGF的效果是最好的。
3.1.5 迁移学习
同一厂商生产的不同磁盘模型之间也是存在差异的。我们发现,不同磁盘模型之间具有相似的SMART属性,但相同的SMART属性之间的数据分布不同。因此,直接将训练集磁盘模型上建立的预测模型用于同一厂商生产的其他磁盘模型的故障预测,不能达到最好的预测效果。
迁移学习中有两个重要概念,域(domain)和任务(task)。如下图所示。
域(domain):包括特征空间(feature space)X和边缘概率分布(marginal probability distribution)P(x), x ∈X。例如,一组图片中的所有可能颜色构成一个特征空间,而各种颜色出现的频率则为边缘概率分布。
任务(task):给定一个域,任务还包含两个要素,标签空间(label space)y和预测函数(predictive function)f(·)=P(y | x)。例如,一组图片中可能出现的所有元素构成一个标签空间,而通过预测函数可以得出某幅特定图片中包含哪些元素。
同一厂商生产的不同磁盘模型之间具有一定的关联性,但它们之间存在样本选择偏差(sample selection bias)。即不同种磁盘模型之间虽然具有大量的重叠特征,但源数据实例(带标签的训练数据)和目标数据实例(无标签的测试数据)的分布不同。因此,我们采用了基于实例的迁移学习方法来消除源数据和目标数据之间的样本选择偏差,从而将某种磁盘上训练的模型应用于其他磁盘上。
具体的,对于两种磁盘模型1和2,将带标签的磁盘1实例与无标签的磁盘2实例放在一起。训练一个分类函数,使f(x)表示一个磁盘属于模型1或模型2的概率。利用分类函数f对带标签的训练数据集进行重新采样,从而消除样本选择偏差,使训练集与测试集数据服从同一分布。此时,根据重新采样的训练集,利用前文所述的RGF算法训练出函数,g(x)代表该类型磁盘的一个实例需要进行替换的概率。由于重新采样的训练集与测试集服从相同的数据分布,因此可将预测函数g直接应用于同一厂商生产的其他磁盘模型上(测试集)。
我们分别使用两个厂商生产的磁盘的数据集SgtA和HitA训练模型,并使用迁移学习的方法将两种模型分别应用于同厂商的其他磁盘数据集SgtB和HitB上。上表分别展示了直接将模型 A应用于磁盘B上以及运用迁移学习方法将模型A应用于磁盘B的替换预测的准确率、召回率、F-分数。可以看出,应用迁移学习方法后,预测准确性得到了很大提高,从而大大减少了需要训练的模型数量。
同时本项目也能从周边环境采集各种数据,然后根据各种特征生成一系列“指纹”。如果某个设备产生了故障,把这些指纹(特征)记录下来,形成一个规则,然后和其他设备去匹配,如果发现有指纹一样,则在该设备发生故障前进行修复,实现故障预测。
本项目使用一套自动、精确的磁盘故障预测方法,判断磁盘在接下来一段时间内是否需要替换。通过选择SMART属性、生成时间序列、解决数据不平衡性等步骤,将磁盘故障预测转化为对时间序列数据的分类问题。之后使用RGF算法对磁盘状态进行分类,从而找出可能发生故障的磁盘。对于同一厂商生产的不同型号的磁盘,采用迁移学习的方法进行处理,在保证预测准确性的同时减少模型训练开销。最后,本项目采用不同厂商、多种类型的磁盘SMART数据验证该方法,达到了较高的准确率和召回率。
3.2 存储负载均衡配置方案
3.2.1 文件级RAID结构
新的技术推动了存储行业的发展,尤其是作为网络存储技术的NAS和SAN。但是,在实际应用中,这些方法的局限性也逐渐显现出来。对象存储技术(OSS)应运而生。对象存储技术综合了SAN和NAS的优点,同时具有SAN的高速直接访问和NAS的分布式数据存储访问的特点,能实现规模效应和弹性扩展。因此,本项目融合基于面向对象存储技术,基于hdfs分布式文件系统构建可调整式的文件级RAID结构,并推出自适应的海量存储系统,在此系统上实现负载判定与数据迁移。
3.2.2 系统存储负载判定
系统存储负载是否均衡的判定是本文算法的关键环节,如果系统存储负载判定是均衡的,则无需进行后续的单点存储负载判定和存储负载迁移工作。由于执行一次存储负载迁移需要占用一定的计算资源和存储资源,并且系统开销比较大,为了避免频繁地进行存储负载迁移操作,所以算法中设置了一个均衡阈值,只有当存储熵的熵值H 小于该阈值时,表明整个分布式存储系统中存储负载不均衡情况达到了相对严重的程度,需要进行存储负载迁移。
系统存储负载情况判定的过程包括:
1) 设定均衡因子α( 0 < α < 1) ,可以据此得到均衡阈值
Hα = αHmax。
2) 收集每个节点存储的数据量DNi和磁盘已经使用时间Ti,并根据式( 6) 计算出每个存储节点的负载率Li。
3) 根据式( 7) 计算出整个分布式存储系统的实际存储熵值H。
4) 判定系统负载是否均衡。如果H ≥ Hα,说明整个系统负载均衡程度在可以忍受的范围内,不需要作任何调整; 如果H < Hα,说明整个系统负载失衡比较严重,需要进行负载迁移。
3.2.3 单节点存储负载判定
如果整个分布式存储系统中存储资源的负载均衡情况不理想,需要进行存储负载迁移操作,那就需要计算出哪些存储节点是超负载,哪些存储节点是空负载,并按照其存储负载程度构建超载节点有序队列和空载节点有序队列。
3.2.4 节点布局和调整策略
根据节点的负载特性,动态改变组成成员的数量可以改善系统的整体性能。在节点的调整过程中,需要保证节点访问的不间断性。因此,本项目通过在调整开始时加入与被迁移节点结构相同的虚拟节点的方式,逐步将原节点数据迁移至虚拟节点,并在文件的迁移中加入日志的记录功能,保存在原节点中,待节点迁移完成后将日志写入虚拟节点中。
调整的整体目标是缓解高负载节点,提升低负载节点。通过对磁盘阵列的预测,降低状态较差,具有损坏趋势的磁盘中节点的负载,整体上取得“削峰平谷”的效果。调整的对象主要有一下几个参考量:节点吞吐量、节点读写比例、节点所在物理磁盘的状态、目标位置的可用空间。
第四章 市场前景以及发展意义
4.1 目前市场形势
硬盘地发展存在如下几个趋势:
- 硬盘容量迅速增加:据统计,相比于去年的统计结果,今年硬盘容量平均增长了五倍,其中最高容量增长高达七倍。
- 传输速率加快:随着有线传输技术的发展,数据的读写速率在不断地提高。
- 硬盘的速度和容量固然重要,同时寿命(可靠性)也是万万不可忽视。2018已经结束,云存储服务商Blackblaze照例发布了去年机械硬盘可靠性报告。去年一年,纳入统计的硬盘数量总计104778块(总容量750PB左右),比2017年多出1万多块,比2016年更是多出3万块。但是,从下图中我们可以看到,磁盘故障居高不下,严重影响了数据中心存储的可靠性。
4.2 市场需求(这一部分需要修改一下)
据统计,磁盘行业占行业收入和就业总盘比率为12%,磁盘行业对社会经济和其他行业的影响程度为45%,磁盘行业的创新能占比为36%。由上分析可知知,磁盘行业对中国人已经产生了较为深刻的影响,从市场行业,行业服务,服务情况市场规模等各方面切入到生活的方方面面。
而针对磁盘发展中出现的种种问题,基于RGF与迁移学习的S.M.A.R.T磁盘阵列故障预警与自适应负载均衡系统的研究可以在一定程度上有效的解决:
- 针对对于容量增加所出现的不确定性损毁造成的损失更加巨大这一问题,阵列预警方案很好的做出了很好的解答。根据S.M.A.R.T磁盘标准数据进行的寿命预测,利用迁移学习的方法,通过有限的磁盘数据进行模型迁移与扩展,提高了模型的普适度,降低了磁盘不确定损毁的可能性,让庞大的数据更加安全。
- 针对传输速度增加导致的磁针磨损问题,预测方案会将传输次数与磁头数据加入预测数据中,针对此问题进行有效回归,尽可能减少磁头损坏导致的硬盘故障。
由此可以看出,对于磁盘阵列的寿命预测技术,对于人们社会生活方面有着重要意义。在基于磁盘市场迅速发展的前提下,对于磁盘的合理寿命预测与规划,对于使用者数据安全的先验并提示,对于磁盘行业的发展有着良好的推动和促进作用。对于数据这类虚无却又极具商业价值的东西进行寿命预测,让使用者拥有如同得到“保质期”般的实物感,对于无论是使用者还是生产者来说都有着极大的意义。
第四章 项目总结
本项目旨在对硬盘故障进行预测并实现相对安全的数据保护,基于迁移学习和RGF构建S.M.A.R.T磁盘故障预测系统。该系统通过侦测硬盘各属性,如数据吞吐性能、马达起动时间、寻道错误率等属性值和标准值进行权重分析,进一步综合推断硬盘的故障情况并给出提示信息,提前保障硬盘数据的安全。
目前磁盘厂商采用故障预测阈值判定方法对状态良好的硬盘的S.M.A.R.T数据进行分析,工程师难以得知磁盘真实情况,不易于预测磁盘潜在的故障与维护日期。而且不同版本的磁盘模型不同,其判定模型也不同。本项目采用RGF和迁移学习方法,不仅对磁盘状态进行分类,而且可以通过不同磁盘模型的关联性在保证预测准确性的同时减少模型训练开销,适用范围增广。
随着人们对于云储存和云计算等云上应用的需求量加大,势必导致存储行业对磁盘的使用量加大。在磁盘技术未能革新的前提下,预知风险并提前迁移数据与自适应配置负载,在一定程度上减小了磁盘阵列损毁后丢失数据的风险性,也为重构阵列节约了宝贵的时间,降低了其负载吞吐量。
综上所述, S.M.A.R.T磁盘阵列故障预测系统对于云储存服务商等方面有着重要的意义。基于RGF和迁移学习,该系统进一步降低了磁盘不确定损毁的可能性,而且在不同磁盘模型之间有一定的适应性,减低开销,具有较高的准确性和灵活的负载自动化配置。
Loading...