李 國,何辰煜,李 靜
(中國民航大學 計算機科學與技術學院,天津 300300)
海量數據的時代已經到來,現今數據存儲的方式已經從本地轉移到了云端。數據安全被認為是影響云計算系統可靠性的重要因素,大規模數據存儲中心的可靠性研究不容忽視。研究[1-3]表明,在大型數據中心的硬件故障報告中,硬盤故障的比例最高。硬盤故障將導致數據丟失,影響客戶端的經濟效益,如果沒有相對應的故障處理機制,造成的損失將是無法想象的。如果能夠提前預測硬盤的健康狀態[4,5],并且可以通過預警遷移機制及時進行備份和遷移,則可以大幅度減少硬盤故障所帶來的損失。
許多學者研究了硬盤故障預測問題,但是先前的一些研究僅僅預測硬盤在將來是否會發生故障,而沒有提供更多可參考的指標,并且在可解釋性方面表現不佳。統計分析[2]發現,運維人員在收到磁盤故障的FOTs(故障操作通知單)后,不會立即采取相應的措施,因此直接預測硬盤的剩余使用壽命失去了實際意義。運維人員真正想知道的是硬盤故障發生的緊迫性即硬盤故障的健康程度。如果預測模型能向運維人員提供有關硬盤故障緊急程度的信息,運維人員則可以根據硬盤的健康程度對故障操作通知單進行排序,從而及時處理來降低故障風險。本文提出一種能反饋的硬盤健康狀況的基于TCBN的硬盤健康度預測模型,以提高預測性能及應用價值。
大多數硬盤制造商使用自我監視,分析和報告技術(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]中發現,關于硬盤健康狀況的信息對數據中心運維人員處理故障時更為重要,通過硬盤健康度信息可以動態調度運維人員處理故障預警信息,一方面節省人力成本,并降低數據中心發生硬盤故障的風險。硬盤的健康程度能更好地表達硬盤是否能正常運行,這是硬盤故障預測模型中不能忽略的關鍵參考因素。另外在先前研究中[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硬盤健康度劃分
組合模型往往比單個分類器具有更高的預測準確性,一般分類器通常進行二分類,而本文需要的是關于硬盤健康度的多分類結果,貝葉斯網絡為本研究提供了可能性。在先前研究中,基于樹的模型在硬盤故障預測方面取得了較好的效果。因此本文選擇了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個單一分類器都是樹型結構,具有良好的可解釋性,模型之間的平衡性很好,所以能有效提升本文組合模型的預測性能。
本文采用的數據集來自大型云存儲公司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屬性
為驗證組合模型的效果,本文在包含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,并且這些模型在當時所采用的硬盤數據集規模明顯不足。此外,該模型包含了樹型結構和網絡等結構,導致各個模型之間的差異增大,影響了整體模型的最終的性能。
上一個實驗驗證了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],相對于傳統的硬盤故障二分類研究能夠直觀給出故障硬盤的實際剩余使用壽命,運維人員可以根據硬盤的壽命指標進行故障預警遷移工作,從而達到維護數據中心用戶數據安全以及減少故障帶來的損失的目的。但是預測出的剩余使用壽命僅能較好擬合實際的剩余使用壽命,還存在一定的波動,運維人員需要增加信息處理以及排序等步驟。因此,關于硬盤健康度的預測顯得尤為重要。本文提供的硬盤健康度預測模型為運維人員提供了的有關硬盤健康狀況等級信息,以便運維人員在某個時間范圍內提前進行故障盤的維修和數據遷移操作,也驗證了硬盤健康度預測模型的實際應用價值。
為了驗證本文提出的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”硬盤健康度劃分取得了良好的性能。
樣本數量可能會對準確性產生一定的影響,但是本文的樣本是來自實際數據中心的硬盤數據集。該因素正驗證了數據中心硬盤故障的實際發生狀況。如果盲目地擴大硬盤健康度劃分的最小單元,擴大到極端情況下,它就演變成為二分類問題。盡管準確率將大大提高,但這種研究與傳統的故障二分類問題一樣,在實際應用中不具備更高的實際應用價值。
本文建立了一種基于TCBN組合模型的硬盤健康度預測模型,依據真實數據中心運維人員故障處理機制,提出了“SMART-Degree”硬盤健康度劃分。實驗結果表明,TCBN模型在TPR和FPR指標方面超過以往研究提出的單個模型;模型預測的剩余使用壽命與真實值具有較好的吻合度;此外,對比采用提出的“SMART-Degree”與常見等分的硬盤健康度劃分,TCBN硬盤健康度預測模型準確率顯著提升。
與以往研究相比,本文設計的TCBN組合模型解決了單一模型預測效果差及預測結果單一的問題,同時提出的“SMART-Degree”健康度劃分,為數據中心可靠性研究提供了新思路。未來的研究將繼續嘗試其它算法,提高組合模型的性能;同時探索其它因素對硬盤預測模型的影響,讓其更貼合實際應用場景,從而提高研究的應用價值。