摘要:而硬盤失效預測技術,很大程度上可把這種非計劃性工作變為計劃性工作,從而降低客戶的運維成本。硬盤分為和兩大類,其失效預測技術也不同。在硬盤失效預測領域,我們用召回率和虛警率來衡量預測算法的結果。
背景
硬盤是存儲系統的最重要組件,其可靠性狀況在很大程度上影響了存儲系統的整體可靠性表現。雖然存儲系統使用了多種技術來處理硬盤失效,確保一定程度的硬盤失效不影響數據可靠性。但在實際生產環境中,多種因素(如腐蝕、震動或硬盤批次缺陷等)仍可能導致雙盤甚至多盤同時或在短時間內相繼失效,影響用戶數據安全。顯而易見,如果能預測硬盤失效的概率,并做提前預防,可大大提升用戶數據的可靠性。
同時,當硬盤失效后,運維人員需要盡快執行數據備份和換盤等操作。通常而言,這些操作屬于非計劃性工作,會顯著增加數據中心運維人員的工作負擔。而硬盤失效預測技術,很大程度上可把這種非計劃性工作變為計劃性工作,從而降低客戶的運維成本。
硬盤分為SSD和HDD兩大類,其失效預測技術也不同。SSD可通過擦寫次數進行壽命預估,實現難度相對不高。而HDD的機械器件眾多,系統精密度高,其失效模型非常復雜,我們很難用簡單的算法預測其失效概率。隨著人工智能技術的成熟,如何利用機器學習等技術對HDD進行失效預測,是存儲陣列可靠性領域的一個重要創新方向。
?
預測算法的衡量指標
在進入算法設計前,我們需要首先定義一個算法的衡量指標。在硬盤失效預測領域,我們用召回率(Recall)和虛警率(FAR:False Alarm Rate)來衡量預測算法的結果。其中,召回率是指算法識別出的失效硬盤占所有失效硬盤的百分比;而虛警率指失效預測算法識別出錯的百分比。顯而易見,過低的虛警率(當我們把判定失效硬盤的條件設置得很嚴格時)將導致召回率降低(從而影響預測算法的有效性);而高的虛警率,將導致召回率的錯誤增高(從另一方面也影響算法的有效性)。
一個好的算法,需要在召回率和虛警率之間做取舍。當不同的廠商或者用戶有不同的傾向時,預測模型的選擇也會有較大的差別。基于多年的存儲行業經驗,我們定義了如下標準:就多數用戶的使用場景而言,我們需要使得預測模型在虛警率盡量低(小于0.5%)的情況下召回率大于等于70%。
?
SATAHDD失效預測的實現原理
定義了硬盤失效預測的衡量指標后,可以真正討論一下如何找到滿足指標的預測模型。以SATA盤為例,其生產廠商會提供SMART (Self-Monitoring Analysisand Reporting Technology)信息,這些信息可以表征硬盤的運行狀態:如SMART 187反映了不能用ECC(Error-correcting code)糾正的讀請求計數,當這個值大于0時,硬盤則有可能出現了問題,需要更換。其它的SMART特征,如SMART 5(重分配扇區計數)、SMART 188(命令超時)等也都是表征硬盤可能失效的重要指標[1]。在[2]中展示了SMART 187與硬盤失效率的一張關系圖(該圖源自于Backblaze),如下所示。
SMART 187指標與硬盤年失效率(AFR)的關系
可以看出,SMART 187確實在很大程度上與硬盤失效成相關性,當SMART 187高于35時,硬盤失效率上漲很多。所以,有理由相信,通過分析和利用硬盤的SMART數據,我們有可能訓練出滿足評價指標的SATA HDD失效預測模型。
?
如何訓練模型?
雖然SMART 5 和 SMART 187等指標對于SATA HDD的失效預測非常重要,但是基于HDD失效模式的復雜度,僅僅用這幾個指標(機器學習中稱為特征-Feature)訓練的模型是不能夠滿足要求的,所以我們需要選取盡可能多的特征來訓練模型。但由于維度詛咒(Curse of Dimensionality,指選擇的特征過多反而會導致模型失效),我們不可能將所有的SMART特征值都作為模型輸入來訓練模型,特別是SMART特征值中包括原始值和歸一化值等不同緯度的特征時。
另外,SMART屬性中并不是所有值都與硬盤失效有關,甚至有些值與硬盤失效的關系跟人們的預計并不相符,例如下圖:
SMART 12與硬盤年失效率的關系
該圖仍來自[2],其中SMART 12代表硬盤上電次數,與直覺相反的是,它的值與硬盤失效率并沒有正相關性。因為SMART 12非常大的時候,硬盤失效率反而下降了。
所以,如何合理選擇合理的特征,并且有可能對這些特征進行組合、轉換等操作生成新的特征以滿足模型訓練的要求,這是硬盤失效預測模型訓練的關鍵。下圖展示了當特征選擇不恰當時模型的輸出結果。可以看出在FAR為0.5%時,Recall只有不到0.5,效果不甚理想:
一個特征選擇不恰當的模型訓練結果
在華為存儲實驗室中,我們通過收集華為數據中心的大量硬盤信息,合理選擇了特征和算法,得到了如下模型的訓練結果,可以看到,其效果已滿足我們對預測算法的目標要求:
存儲實驗室開發的硬盤失效預測模型效果
?
SAS HDD的失效預測
上文解釋了SATA HDD失效預測的原理,更進一步的,我們還需要考慮如何預測SAS HDD的失效。SAS HDD的失效預測不能采用與SATA HDD相同的模型,除了在生產制造工藝等方面的不同外,一個主要原因是SAS接口并不能提供像SMART一樣的硬盤狀態特征。SAS HDD提供了所謂的SCSI Log Page,提供了諸如grown defect list、non-medium error、unrecovered read error、unrecovered write error和unrecovered verified error等信息,而這些信息很多是硬盤廠商檢查硬盤狀態后自己定義的結果。在模型訓練過程中,我們發現這些值并不足以支撐足夠好的預測模型。因此,在SAS HDD的失效預測中,需要加入更詳細的診斷信息(如希捷的FARM:Field-Accessible Reliability Metrics Specification),以提供在SAS Log Page里缺失卻比較重要的硬盤特征,如SMART 7、SMART 188等等。因此在SAS HDD的失效預測中需要同時使用Log Page與FARM信息作為輸入數據特征。
?
華為eService系統的云端硬盤失效預測能力
可以看出,正確的選擇數據特征,使用合適的分類算法,合理的調節模型參數是一個成功的失效預測模型的關鍵。事實上,基于華為數據中心的海量機械盤數據,華為存儲的云端智能運維系統- eService已經訓練出HDD失效預測模型,并可以在近期提供云端的HDD失效預測能力。當客戶數據中心硬盤狀態數據接入eService系統,該系統會根據已有模型實時預測硬盤失效狀態并及時提醒客戶更換即將失效的硬盤,從而大幅提升客戶數據可靠性,降低運維成本。
?
未來展望
雖然eService系統已經提供HDD的失效預測的能力,但是這僅僅是開始。隨著接入eService的設備數量的上升,通過不斷優化的訓練過程,我們可以預期這個能力的較精確度會不斷提升,給用戶帶來更大的價值。
?
參考資料
[1]https://www.pcworld.com/article/3129275/hardware/these-5-smart-errors-help-you-predict-your-hard-drives-death.html
[2]https://www.computerworld.com/article/2846009/the-5-smart-stats-that-actually-predict-hard-drive-failure.html
歡迎加入本站公開興趣群軟件開發技術群
興趣范圍包括:Java,C/C++,Python,PHP,Ruby,shell等各種語言開發經驗交流,各種框架使用,外包項目機會,學習、培訓、跳槽等交流
QQ群:26931708
Hadoop源代碼研究群
興趣范圍包括:Hadoop源代碼解讀,改進,優化,分布式系統場景定制,與Hadoop有關的各種開源項目,總之就是玩轉Hadoop
QQ群:288410967
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/3956.html
摘要:從那個時候開始,我就開始用一些機器學習人工智能的技術來解決的運維問題了,有不少智能運維的嘗試,并發表了不少先關論文和專利。而處理海量高速多樣的數據并產生高價值,正是機器學習的專長。也就是說,采用機器學習技術是運維的一個必然的走向。 大家上午好,非常榮幸,能有這個機會,跟這么多的運維人一起交流智能運維。最近這兩年運維里面有一個很火的一個詞叫做AIOps(智能運維)。我本人是老運維了,在2000...
摘要:一大數據平臺介紹大數據平臺架構演變如圖所示魅族大數據平臺架構演變歷程年底,我們開始實踐大數據,并部署了測試集群。因此,大數據運維的目標是以解決運維復雜度的自動化為首要目標。大數據運維存在的問題大數據運維存在的問題包括部署及運維復雜。 一、大數據平臺介紹 1.1大數據平臺架構演變 ?showImg(https://segmentfault.com/img/bVWDPj?w=1024&h=...
閱讀 1459·2021-09-30 09:57
閱讀 1466·2021-09-09 09:33
閱讀 2220·2021-09-04 16:40
閱讀 1792·2021-09-01 10:50
閱讀 3237·2021-09-01 10:31
閱讀 2539·2019-08-30 15:56
閱讀 2970·2019-08-30 15:44
閱讀 3475·2019-08-29 17:29