基于TCBN组合模型的硬盘健康度预测
2022-10-01何辰煜
李 国,何辰煜,李 静
(中国民航大学 计算机科学与技术学院,天津 300300)
0 引 言
海量数据的时代已经到来,现今数据存储的方式已经从本地转移到了云端。数据安全被认为是影响云计算系统可靠性的重要因素,大规模数据存储中心的可靠性研究不容忽视。研究[1-3]表明,在大型数据中心的硬件故障报告中,硬盘故障的比例最高。硬盘故障将导致数据丢失,影响客户端的经济效益,如果没有相对应的故障处理机制,造成的损失将是无法想象的。如果能够提前预测硬盘的健康状态[4,5],并且可以通过预警迁移机制及时进行备份和迁移,则可以大幅度减少硬盘故障所带来的损失。
许多学者研究了硬盘故障预测问题,但是先前的一些研究仅仅预测硬盘在将来是否会发生故障,而没有提供更多可参考的指标,并且在可解释性方面表现不佳。统计分析[2]发现,运维人员在收到磁盘故障的FOTs(故障操作通知单)后,不会立即采取相应的措施,因此直接预测硬盘的剩余使用寿命失去了实际意义。运维人员真正想知道的是硬盘故障发生的紧迫性即硬盘故障的健康程度。如果预测模型能向运维人员提供有关硬盘故障紧急程度的信息,运维人员则可以根据硬盘的健康程度对故障操作通知单进行排序,从而及时处理来降低故障风险。本文提出一种能反馈的硬盘健康状况的基于TCBN的硬盘健康度预测模型,以提高预测性能及应用价值。
1 相关工作
大多数硬盘制造商使用自我监视,分析和报告技术(SMART),但是该项技术采用的阈值算法进行故障检测率约为3%至10%,无法满足预期的要求。Hughes等统计发现SMART属性是非参数分布的,因此研究建议使用Wilcoxon秩和检验方法进行建模。在基于3744个磁盘数据集上的实验结果表明,当误报率(false alarm rate,FAR)为0.5%时,模型的故障检出率(failure detection rate,FDR)达到60%。
李静等[6]提出了一种基于分类和回归树的硬盘故障预测模型。在具有25 792个硬盘的数据集上,FDR达到95%,FAR低于0.1%。此外,还提出了一种基于回归树的健康度模型。该模型可以评估硬盘的健康状况,将健康样本的值设置为1,并使用基于个性化恶化窗口的函数来表示故障的样本。也就是说,硬盘的健康状态通过特定的概率值来表示,这样的表达不是精确和直观的。Basak等[7]使用LSTM建立了硬盘剩余寿命的在线预测模型。经过训练的模型可以预测大约10天的故障,精度约为0.8。尽管在研究中给出了硬盘剩余使用寿命的预测,但剩余使用寿命以天为单位。如果运维人员获得了此类数据,则认为只要在预计的日期内处理故障,数据就不会丢失。实际上,这样会导致错过进行故障排除的最佳时间。Xu等[8]认为硬盘故障预测的研究属于长期依赖性的问题,因此作者提出了一种基于递归神经网络的硬盘健康评估模型,该模型在健康评估方面具有更好的表现。但是,该模型忽略了健康度划分会影响模型在实际工作中的性能。
Wang等[9]提出了AIOPs解决方案,用于解决硬盘故障数据不平衡的问题。该解决方案集成了XGBoost分类,LSTM和XGBoost回归的3种算法模型。实验结果表明,该集成算法的预测效果更加准确、稳定。Pang等[10]设计了CBN硬盘健康度预测模型,其预测故障时间为实际故障时间的70%或更早。但是作者忽略了模型的老化以及基于不同结构的模型之间的相互影响。同时,该研究也没有给出具体的硬盘健康度划分模型。
鉴于上述的研究中产生的不足,本文做出了如下改进:
(1)为提高模型的实际应用价值,本文调研了大数据中心的故障调查报告[2],通过数据中心运维人员的工作日志,了解到运维人员更需要的是指示硬盘健康状况的输出结果。于是,采用贝叶斯网络将4个在硬盘故障预测方面表现较好的单个分类器组合起来,组合成TCBN硬盘健康度预测模型。
(2)基于大型数据中心提供的真实数据设计实验,验证TCBN组合模型的硬盘故障预测性能,并与其它单个分类器进行比较。此外,为避免不同硬盘型号差异的影响,提取了特定型号的硬盘来验证TCBN模型在预测硬盘剩余寿命方面的表现。本文中使用的数据集来自大型云存储供应商公司Backblaze。
(3)考虑到硬盘健康度划分对硬盘健康度预测模型应用的影响,因此本文提出了“SMART-Degree”硬盘健康度划分,并设计了相关对比实验来验证采用该健康度划分的健康度预测模型的性能。
2 TCBN硬盘健康度预测模型
2.1 “SMART-Degree”健康度划分的构建
在先前研究[2]中发现,关于硬盘健康状况的信息对数据中心运维人员处理故障时更为重要,通过硬盘健康度信息可以动态调度运维人员处理故障预警信息,一方面节省人力成本,并降低数据中心发生硬盘故障的风险。硬盘的健康程度能更好地表达硬盘是否能正常运行,这是硬盘故障预测模型中不能忽略的关键参考因素。另外在先前研究中[8,10],研究人员对硬盘健康程度进行均等划分或随机划分,并没有给出健康度划分的具体定义,从而忽略了健康度划分对预测模型的影响。以往研究[6]指出硬盘的恶化不是突然的,而是逐渐发生的,并利用基于个性化恶化窗口函数来预测硬盘健康状况。统计报告[2]指出硬盘的故障率随着时间的推移是呈现逐步上升的趋势,可见硬盘的寿命与自然生物的寿命相似,存在一个逐渐退化的过程,而基于Fibonacci推导的数学模型在寿命研究领域应用广泛。于是本文基于Fibonacci函数结合硬盘健康度时间间隔提出了“SMART-Degree”硬盘健康度划分。统计报告同时也指出实际数据中心运维人员在接收到故障预警信息时,在30天内处理故障的可能性仅为0.65左右。即该硬盘健康度划分一方面能反馈硬盘寿命的退化过程便于模型进行预测,另一方面更贴合实际运维人员的反应时间便于及时进行数据迁移等操作。
本文将硬盘的实际剩余工作时间作为硬盘健康度的来源,硬盘的实际剩余工作时间可以真正反映硬盘的健康状况。以20天或480小时为限来表示硬盘的健康程度,预测结果超过20天或480小时的硬盘被认定为是相对安全的,本文将这些硬盘归类为健康硬盘。反之,预测结果是少于20天或480小时的硬盘,将被认为是一个有问题的故障硬盘,需要对该硬盘的健康状况进行评估。考虑到数据集以及数据中心运维人员的工作习惯,故不能随意划分硬盘的健康度等级。如果硬盘健康度划分的时间间隔太小,或者大部分集中在只有夜间值班人员的情况下,所提出的模型不能提供贴合实际应用场景的预测结果。所以该模型以天为基本单位,即24小时或24小时的倍数作为最小的健康度划分单元。“SMART-Degree”硬盘健康度的划分区间表示为interval(i), 具体公式如下:
当i=1时
interval(1)=1*24h
(1)
当i=2时
interval(2)=1*24h
(2)
当i≥3时
(3)
图1展示了具体的“SMART-Degree”健康度划分,根据上面定义的时间间隔公式划分480 h,制定了7个硬盘健康度等级。健康度等级越低,硬盘发生故障的紧急程度就越高;健康度等级越高,硬盘的故障发生时间越迟缓,相对应的紧急程度就越低。
图1 SMART-Degree硬盘健康度划分
2.2 TCBN组合模型的具体构建
组合模型往往比单个分类器具有更高的预测准确性,一般分类器通常进行二分类,而本文需要的是关于硬盘健康度的多分类结果,贝叶斯网络为本研究提供了可能性。在先前研究中,基于树的模型在硬盘故障预测方面取得了较好的效果。因此本文选择了XGBoost、Adaboost、CT以及GBDT作为基分类器并通过贝叶斯网络组合在一起。在该组合模型中基分类器之间是等权重的,但是各个分类器之间的相互影响是一个不容忽视的问题。不同模型之间相互影响着最终的预测结果。硬盘健康度的预测研究也是如此,每个基分类器的预测结果对最终预测出的硬盘健康度有着不同的贡献,于是本研究采用了全连接的方式组合贝叶斯网络。
图2展示了TCBN模型的具体结构以及整个模型的训练过程。首先通过硬盘数据集训练4个分类器,然后结合经过“SMART-Degree”健康度划分处理后的硬盘健康度等级,以形成一个新的训练集来训练TCBN模型。
图2 TCBN硬盘健康度预测模型的具体构建
如图2所示采用X,A,C,G的4个节点代表XGBoost、Adaboost、CT和GBDT这4个单一分类器,并作为贝叶斯网络中的特征节点。节点D代表硬盘健康度等级,作为贝叶斯网络中的分类节点。例如,Adaboost的预测结果影响XGBoost的预测,而CT的预测结果影响GBDT的结果,彼此相互影响。如图2所示,任意两个节点之间都有一条边,故它们的联合分布P(D,X,A,C,G)为
P(D,X,A,C,G)=P(G|D,X,A,C)*P(A|D,C,G)*
P(C|D,X)*P(X|D)*P(D)
(4)
其中先验概率P(D) 是通过训练集中的统计数据获得的。
TCBN硬盘健康度预测模型的性能离不开4个单一分类器的共同作用。单一分类器的内容如下所示:
(1)XGBoost模型使用了“梯度增强”的思想,该思想可以连续分割特征并拟合最后预测的残差。在硬盘故障预测上,如果没有处理XGBoost模型的预测结果,则默认输出结果是概率值。此时需要给出一个阈值,当它低于给定的阈值时,就将其判断为有故障的硬盘。XGBoost使用Gain增益函数找到最佳分割节点,首先计算分割节点左右子树的得分总和,在减去分割之前的总得分,计算信息增益,然后选择最大信息增益的特征。其增益函数如下
(5)
上面Gain增益函数中,H代表叶子节点包含样本的二阶偏导数累加之和,G表示叶子节点包含样本的一阶偏导数之和。L和R则分别代表左右子树的节点,γ代表加入新叶子节点引入的复杂度代价。首先计算左右子树分数和减去未分割前的得分,遍历后取增益得分最大的作为新的分割节点。
由于本文所用的硬盘数据包含122 507个硬盘的数据,直接使用精确查找算法会降低计算速度,所以采用近似算法。根据硬盘SMART特征的分布,确定n个分割点Sn={S1,S2…Sn-1,Sn}, 然后将相应的样本放入相应的分割桶中,并对分割点集进行精确的贪婪搜索。图3展示了XGBoost硬盘故障预测模型中的简化树模型。
图3 XGBoost硬盘故障预测模型简化实例
图3可以看到第一个分割节点是SER(seek error rate),旁边标注的是SMART属性序列号。当SER<80时,使用Gain函数来计算出当前的最大增益节点作为下一个分割点,即POH(power-on hours),然后计算叶节点的得分。XGBoost模型的最终预测值是所有叶子节点得分的总和。叶子节点得分的公式如下所示
(6)
在XGBoost执行一次迭代后,它将叶节点上的权重乘以学习率。学习率主要弱化每棵树的影响,使后续学习有更多的学习空间,降低过拟合的风险。
(2)CT模型不像上述提到的“boosting”思想,而是学习了一套分类规则以形成一棵树。与以前的研究[6]不同,本文采用信息增益率作为分割函数,因为一些SMART特征的取值比较多,将某个SMART特征的信息增益一直保持最大的状态,很容易导致过拟合。整个分割过程是通过计算信息增益率最高的特征作为下一个分割节点。首先,将D其定义为决策树的父节点,Di代表其子节点,s代表D节点的选定的特征属性。则增益函数的公式如下所示
Gain(D,s)=Ex(D)-Ex(D|s)
(7)
信息增益Gain(D,s) 是经验熵Ex(D) 减去经验条件熵Ex(D|s)。 如前面所述,如果某一个SMART特征的取数量太多,那么经验条件熵Ex(D|s) 的值就会趋近于0,最终导致信息增益的结果最大,导致过拟合。本文所采用的信息增益率Gratio(D,s) 的公式如下所示
(8)
H(s)代表s特征的熵,其表达式为
(9)
如果硬盘的某一个SMART特征属性的取值较多,则H(s) 的值将增大,同时Gain(D,s) 的值也将增大。采用信息增益率Gratio(D,s) 将可以消除这部分影响。使用信息增益率Gratio(D,s) 来选择硬盘的SMART特征会更准确,但是不能忽略其可能会受到某个取值较少的SMART特征属性的影响。于是在选择分割点之前,首先要找出信息增益高于平均的SMART特征,然后再选择其中信息增益率最高的SMART特征。
(3)Adaboost首先初始化硬盘样本的权重,使用SMART特征构建决策树,对数据进行分类,评估结果,然后计算该树在最终分类中的重要性,并更新硬盘样本的权重,继续迭代。最后通过硬盘数据集训练的多个基学习器进行赋权结合得到最终的强学习器。其中权重更新公式如下所示
(10)
式中:xi表示第i个训练样本,yi表示第i个训练样本的类别标签。
(4)GBDT算法与XGBoost不同,利用损失函数的负梯度拟合基学习器。首先通过硬盘数据训练一个弱学习器,计算损失函数并求导获取梯度,然后计算出权重,一直迭代,最后每个弱学习器与权重结合得到最后的结果。计算负梯度的公式如下所示
(11)
以上4个单一分类器都是树型结构,具有良好的可解释性,模型之间的平衡性很好,所以能有效提升本文组合模型的预测性能。
3 实验结果及分析
3.1 数据预处理
本文采用的数据集来自大型云存储公司Backblaze。自2013年以来,Backblaze公司每季度会对数据中心的硬盘进行统计分析。本文抓取的数据集包含2019年4个季度总共122 507个硬盘,每条记录包含硬盘型号、制造商、容量等信息。
硬盘SMART特征包含255个属性,但是其中仅有少部分属性对硬盘健康状况有影响。为了提高模型的可移植性,本文筛选出3个具有代表性的特征选择方案,通过简单的投票机制,筛选出适合的SMART特征属性。
第一个方案来自Backblaze公司,该公司通过统计分析挑选出5个SMART属性,这些属性预示了硬盘在将来是否发生故障。第二个方案来自于同样涉及云存储业务的国内大型互联网公司腾讯。在先前的研究发现SMART特征属性是非参数分布的,于是先前工作[6]使用3种非参数统计方法(秩和检验、Z-score和倒序排列测试)选取特征。所以,将常用的统计学方法作为本文的第三个方案。
图4展示了3个具体SMART特征提取方案的热力图,表1展示了本研究最终选取的SMART特征属性。
图4 3种SMART特征提取方案
表1 最终选取的硬盘SMART属性
3.2 TCBN模型在故障预测方面的表现
为验证组合模型的效果,本文在包含122 507个硬盘的数据集上设计了多个硬盘故障预测模型的对比实验。TCBN硬盘健康度预测模型是一个多分类的输出,所以,本文将预测结果高的硬盘健康等级定义为运行状况良好的硬盘。反之,预测结果显示较低等级的硬盘健康度则被认为是故障硬盘。本文采用真阳率(TPR)和假阳率(FPR)作为评估指标。真阳率和假阳率是评估硬盘故障预测模型的常用评估指标。其公式如下所示
(12)
(13)
图5和表2展示了各种硬盘故障预测模型的真阳率和假阳率。如图5可以看到,TCBN模型的真阳率达到0.857,假阳率仅达到0.031。组合模型的故障预测性能已经超过了其余的单个分类器,其中Adaboost模型的假阳率最高,为0.092。在真阳率方面,GBDT模型的性能相对较差,仅达到0.793。CT硬盘故障预测模型的效果与先前研究人员提到的CBN模型相近。
图5 TCBN模型在故障预测方面与其它模型的比较
表2 各模型真阳率与假阳率数据
图5可以观察到TCBN模型的性能也超出了先前研究[10]中提出的CBN模型的性能,这验证了组合模型应考虑模型之间的平衡性及模型老化的问题。以前的CBN模型包括一些较老化的模型,例如SVM,并且这些模型在当时所采用的硬盘数据集规模明显不足。此外,该模型包含了树型结构和网络等结构,导致各个模型之间的差异增大,影响了整体模型的最终的性能。
3.3 TCBN模型在拟合剩余寿命方面的表现
上一个实验验证了TCBN模型比其它单个分类器具有更好的故障预测性能。但是,仅通过实验来验证TCBN模型在真阳率和假阳率方面的性能还不够全面,因此本文又设计了实验来验证TCBN模型在硬盘的剩余使用寿命方面的表现。首先,筛选合适的数据集,当不同型号的硬盘发生故障时,与硬盘故障相关的SMART特征值也会有所不同,从而影响硬盘的正常运行。
为了消除这部分的影响,本文首先分析了Backblaze提供的数据,并抓取了Seagate公司的型号为ST12000 NM0007硬盘,选取该型号硬盘的原因如下:
(1)该型号硬盘的故障数量最大为1156个,年故障率为3.32%。
(2)ST12000NM0007型号的硬盘总数占2019年硬盘总数的55.90%。
为了验证TCBN的性能预测特定型号硬盘上的剩余使用寿命,本文更改了先前定义的SMART-Degree健康度划分,将其划分间隔改成24 h即一天,并取消了480 h的总时间限制,以便利用TCBN硬盘健康度预测模型进行硬盘剩余使用寿命的预测。图6展示了更改后的24 h等分硬盘健康度划分。
图6 24 h等分硬盘健康度划分
图7展示了2019年度的硬盘统计信息。图8显示了TCBN模型在预测硬盘剩余使用寿命方面的性能。图中的正方形图案代表硬盘的真实剩余使用寿命,圆形图案代表TCBN模型预测的硬盘剩余使用寿命。本文使用了20多个测试用例,可以看到预测的硬盘剩余使用寿命与真实剩余使用寿命在整体上相当吻合。
图7 2019年度硬盘统计信息饼状图
图8中观察到TCBN模型预测的剩余使用寿命在宏观水平上非常符合真实的剩余使用寿命,但是可以观察到硬盘的预测的剩余使用寿命在微观水平上与真实值之间存在波动。尽管波动很小,但模型的预测最小单元是一天。该模型预测的结果可能会导致数据中心运营人员无法提前处理预警的故障信息,从而导致数据中心发生故障,例如数据中心的海量数据丢失。
图8 TCBN模型在预测硬盘剩余使用寿命方面的拟合情况
关于硬盘剩余寿命预测的研究[1,7,11,12],相对于传统的硬盘故障二分类研究能够直观给出故障硬盘的实际剩余使用寿命,运维人员可以根据硬盘的寿命指标进行故障预警迁移工作,从而达到维护数据中心用户数据安全以及减少故障带来的损失的目的。但是预测出的剩余使用寿命仅能较好拟合实际的剩余使用寿命,还存在一定的波动,运维人员需要增加信息处理以及排序等步骤。因此,关于硬盘健康度的预测显得尤为重要。本文提供的硬盘健康度预测模型为运维人员提供了的有关硬盘健康状况等级信息,以便运维人员在某个时间范围内提前进行故障盘的维修和数据迁移操作,也验证了硬盘健康度预测模型的实际应用价值。
3.4 采用不同划分的TCBN模型对比实验
为了验证本文提出的SMART-Degree硬盘健康度划分的性能,本文设计了与上述24 h等分硬盘度划分的对比实验。图9和图10分别显示了在采用不同划分的TCBN模型在每个硬盘健康度划分间隔的预测准确性。
图9 采用SMART-Degree划分的TCBN模型的准确率
图10 采用24 h划分的TCBN模型的准确率
图10中可以观察到采用24 h划分的TCBN健康度预测模型在大多数时间间隔内的准确率约为30%。这种效果显然是不够的。过于密集的划分间隔实际上会降低模型在预测硬盘健康度方面的准确率。另一方面,图9中采用SMART-Degree硬盘健康度划分的TCBN模型准确率是呈现逐渐上升的趋势。随着划分间隔的扩大,预测模型的准确率也逐渐提高,其中在288 h~480 h区间的准确率达到了75%。从整体上看,本文提出的“SMART-Degree”硬盘健康度划分取得了良好的性能。
样本数量可能会对准确性产生一定的影响,但是本文的样本是来自实际数据中心的硬盘数据集。该因素正验证了数据中心硬盘故障的实际发生状况。如果盲目地扩大硬盘健康度划分的最小单元,扩大到极端情况下,它就演变成为二分类问题。尽管准确率将大大提高,但这种研究与传统的故障二分类问题一样,在实际应用中不具备更高的实际应用价值。
4 结束语
本文建立了一种基于TCBN组合模型的硬盘健康度预测模型,依据真实数据中心运维人员故障处理机制,提出了“SMART-Degree”硬盘健康度划分。实验结果表明,TCBN模型在TPR和FPR指标方面超过以往研究提出的单个模型;模型预测的剩余使用寿命与真实值具有较好的吻合度;此外,对比采用提出的“SMART-Degree”与常见等分的硬盘健康度划分,TCBN硬盘健康度预测模型准确率显著提升。
与以往研究相比,本文设计的TCBN组合模型解决了单一模型预测效果差及预测结果单一的问题,同时提出的“SMART-Degree”健康度划分,为数据中心可靠性研究提供了新思路。未来的研究将继续尝试其它算法,提高组合模型的性能;同时探索其它因素对硬盘预测模型的影响,让其更贴合实际应用场景,从而提高研究的应用价值。