專利名稱:硬盤故障檢測方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種硬盤故障檢測方法及裝置。
背景技術(shù):
針對互聯(lián)網(wǎng)服務(wù)器中出現(xiàn)的硬盤故障,現(xiàn)有技術(shù)通常根據(jù)內(nèi)核打印出與硬盤相關(guān)的錯誤日志進行硬盤故障檢測及辨別?,F(xiàn)有技術(shù)存在的問題是,僅從操作系統(tǒng)層面和IO請求結(jié)果的角度觸發(fā),容易在硬件故障檢測中產(chǎn)生假故障,例如,有些故障為內(nèi)核故障,有些故障僅僅是IO請求失敗或者錯誤,有些故障是數(shù)據(jù)錯誤等,大量產(chǎn)生的假故障導(dǎo)致服務(wù)器的故障率高,增加人力成本且降低服務(wù)器的效率。
發(fā)明內(nèi)容
本發(fā)明旨在至少解決上述技術(shù)問題之一。為此,本發(fā)明的一個目的在于提出一種結(jié)合報錯日志和SMART信息對內(nèi)核報出的故障硬盤做真故障篩選以降低硬盤故障率的硬盤故障檢測方法。本發(fā)明的另一目的在于提出一種硬盤故障檢測裝置。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的第一方面實施例的硬盤故障檢測方法包括以下步驟:A.接收關(guān)于所述硬盤的故障報告;B.收集系統(tǒng)日志中關(guān)于所述硬盤的報錯日志并收集所述硬盤的SMART信息;C.根據(jù)所述報錯日志和所述SMART信息判斷是否存在硬盤硬件故障;D.如果是,則判斷所述故障報告中的硬盤故障是真故障;E.如果否,則判斷所述SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定所述故障報告中的硬盤故障是否是真故障。根據(jù)本發(fā)明實施例的硬盤故障檢測方法,根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選,將出現(xiàn)假故障的硬盤過濾掉,可以提高硬盤故障報錯的準(zhǔn)確性以大幅降低硬盤的故障率。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的第二方面實施例的硬盤故障檢測裝置包括:接收模塊,所述接收模塊用于接收關(guān)于所述硬盤的故障報告;收集模塊,所述收集模塊用于收集系統(tǒng)日志中關(guān)于所述硬盤的報錯日志并收集所述硬盤的SMART信息;判斷模塊,所述判斷模塊用于根據(jù)所述報錯日志和所述SMART信息判斷是否存在硬盤硬件故障,如果是,則所述判斷模塊判斷所述故障報告中的硬盤故障是真故障,如果否,則所述判斷模塊判斷所述SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定所述故障報告中的硬盤故障是否是真故障。根據(jù)本發(fā)明實施例的硬盤故障檢測裝置,判斷模塊根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選,將出現(xiàn)假故障的硬盤過濾掉,該裝置可以提高硬盤故障報錯的準(zhǔn)確性,大幅降低硬盤的故障率。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中,圖1是根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖;圖2是根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖;圖3是根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖;圖4是根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖;以及圖5是根據(jù)本發(fā)明一個實施例的硬盤故障檢測裝置的結(jié)構(gòu)框圖。
具體實施例方式下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說明,“多個”的含義是兩個或兩個以上。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。下面參考說明書附圖描述根據(jù)本發(fā)明實施例的硬盤故障檢測方法。一種硬盤故障檢測方法,包括以下步驟:接收關(guān)于硬盤的故障報告;收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息;根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障;如果是,則判斷故障報告中的硬盤故障是真故障;如果否,則判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。圖1為根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖。如圖1所示,根據(jù)本發(fā)明實施例的硬盤故障檢測方法包括下述步驟。步驟S101,接收關(guān)于硬盤的故障報告。具體地,所接收到的關(guān)于硬盤的故障報告可以是根據(jù)內(nèi)核打印出的與硬盤相關(guān)的錯誤日志。其中,錯誤日志所報告的硬盤故障有些為真故障,例如硬盤的磁頭、控制器、扇區(qū)等硬盤本身的故障,有些故障為假故障,例如內(nèi)核故障、IO請求失敗、數(shù)據(jù)錯誤等。步驟S102,收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息。具體地,首先根據(jù)所接收到的關(guān)于硬盤的故障報告確定從內(nèi)核報出的發(fā)生故障的硬盤,然后根據(jù)該硬盤收集系統(tǒng)日志中關(guān)于該硬盤的報錯日志和該硬盤的SMART信息,其中 SMART信息即 S.M.A.R.T (Self-Monitoring Analysis and Reporting Technology,自我監(jiān)測、分析及報告技術(shù),該技術(shù)可以對硬盤的磁頭、盤片、馬達、電路的運行情況、歷史記錄及預(yù)設(shè)的安全值進行分析和比較)信息,包括了由行業(yè)標(biāo)準(zhǔn)規(guī)定的一組專門的硬盤檢測參數(shù)及其對應(yīng)的屬性值、實際值、屬性類型等。步驟S103,根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障。具體地,來源于內(nèi)核的報錯日志是由SCSI (Small Computer Systems Interface,小型計算機系統(tǒng)接口,其為一組標(biāo)準(zhǔn)集,定義了與大量設(shè)備通信所需的接口和協(xié)議,其中主要定義了與存儲相關(guān)的設(shè)備通信所需的接口和協(xié)儀)中間層在10錯誤發(fā)生時對操作系統(tǒng)層的故障反饋,包括故障類型、壞扇區(qū)數(shù)據(jù)等,報錯日志將反饋的故障主要分為medium error, hardware error, recovered error, not ready, illegal request, volumeoverflow, miscompare,aborted command和 no sense 等。經(jīng)過對76719塊近線SATA硬盤的故障統(tǒng)計發(fā)現(xiàn),medium error占比為63.1 % ,hardware error占比6.7%,其中,medium error主要是與讀錯誤后的ECC校驗失敗有關(guān),涉及數(shù)據(jù)所在的扇區(qū)號,許多該故障僅僅是數(shù)據(jù)錯誤,即使是扇區(qū)本身錯誤也可以通過避免該扇區(qū)被再次使用的方式進行修復(fù),所以存在很大比例的假故障,hardware error描述的是與磁頭、控制器和奇偶校驗等方面的錯誤,屬于真故障,出現(xiàn)該報告時應(yīng)當(dāng)更換硬盤,剩下的故障大部分為no sense即SCSI中間層無法反饋錯誤類型,其中也存在許多的假故障。因此,首先需要根據(jù)報錯日志并結(jié)合SMART信息對內(nèi)核所報出的發(fā)生故障的硬盤進行硬件故障篩選,判斷內(nèi)核所報出的發(fā)生故障的硬盤是否存在硬盤硬件故障。步驟S104,如果是,則判斷故障報告中的硬盤故障是真故障。步驟S105,如果否,則判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。具體地,對硬盤的硬件故障篩選判斷之后,未發(fā)生硬件故障的故障硬盤也有可能存在真故障,需要進一步根據(jù)SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)確定故障報告中的硬盤故障是否是真故障,如果是,則故障報告中的硬盤故障是真故障,轉(zhuǎn)入步驟S104。如果否,則故障報告中的硬盤故障是假故障,轉(zhuǎn)入步驟S106。在本發(fā)明的一個實施例中,關(guān)鍵SMART屬性包括Raw Read Error Rate,Reallocated Sector Ct, Seek Error Rate, Reported Uncorrect, Temperature Celsius和 Hardware ECC Recovered。其中,Raw Read Error Rate 為讀 Raw data 時錯誤出現(xiàn)的頻率,可反映磁盤表面或讀/寫磁頭(disk surface or read/write heads)可能存在問題;Reallocated Sector Ct為重新分配扇區(qū)的數(shù)量,表示硬盤中已發(fā)現(xiàn)了多少壞扇區(qū);Seek Error Rate為磁頭定位時錯誤出現(xiàn)的比率,如果數(shù)值持續(xù)升高,暗示磁盤表面或讀/寫磁頭機械有問題!Reported Uncorrect為反饋無法校正,硬件ECC無法恢復(fù)的錯誤率;Temperature Celsius為硬盤內(nèi)部溫度;Hardware ECC Recovered為經(jīng)硬件ECC校正、恢復(fù)的錯誤率。在本發(fā)明的一個實施例中,關(guān)鍵SMART屬性的類型包括Pre-fail和Old-age。其中,Pre-fail為當(dāng)SMART屬性的某個關(guān)鍵屬性的屬性值(VALUE)低于相對應(yīng)的閾值(THRESH)時,硬盤進入的狀態(tài),即預(yù)前故障狀態(tài),可以通過預(yù)設(shè)閥值預(yù)測硬盤存在潛在故障,Old-age表示屬性值可以反饋硬盤的老化信息,但不能預(yù)測是否存在故障。在本發(fā)明的一個實施例中,Pre-fail類型的關(guān)鍵SMART屬性包括Raw Read ErrorRate, Reallocated Sector Ct 和 Seek Error Rate ;01 d_age 類型的關(guān)鍵 SMART 屬性包括Reported Uncorrect 和 Hardware ECC Recovered。步驟S106,判斷故障報告中的硬盤故障是假故障。根據(jù)本發(fā)明實施例的硬盤故障檢測方法,根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選,將出現(xiàn)假故障的硬盤過濾掉,可以提高硬盤故障報錯的準(zhǔn)確性以大幅降低硬盤的故障率。圖2為根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖。如圖2所示,根據(jù)本發(fā)明實施例的硬盤故障檢測方法包括下述步驟。步驟S201,接收關(guān)于硬盤的故障報告。具體地,所接收到的關(guān)于硬盤的故障報告可以是根據(jù)內(nèi)核打印出的與硬盤相關(guān)的錯誤日志。其中,錯誤日志所報告的硬盤故障有些為真故障,例如硬盤的磁頭、控制器、扇區(qū)等硬盤本身的故障,有些故障為假故障,例如內(nèi)核故障、10請求失敗、數(shù)據(jù)錯誤等。步驟S202,收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息。具體地,首先根據(jù)所接收到的關(guān)于硬盤的故障報告確定從內(nèi)核報出的發(fā)生故障的硬盤,然后根據(jù)該硬盤收集系統(tǒng)日志中關(guān)于該硬盤的報錯日志和該硬盤的SMART信息,其中 SMART信息即 S.M.A.R.T (Self-Monitoring Analysis and Reporting Technology,自我監(jiān)測、分析及報告技術(shù),該技術(shù)可以對硬盤的磁頭、盤片、馬達、電路的運行情況、歷史記錄及預(yù)設(shè)的安全值進行分析和比較)信息,包括了由行業(yè)標(biāo)準(zhǔn)規(guī)定的一組專門的硬盤檢測參數(shù)及其對應(yīng)的屬性值、實際值、屬性類型等。步驟S203,根據(jù)報錯日志判斷是否存在hardware error。具體地,報錯日志將反饋的操作系統(tǒng)層故障主要分為medium error, hardwareerror, recovered error, not ready, illegal request, volume overflow, miscompare,aborted co_and和no sense等,其中hardware error描述的是與磁頭、控制器和奇偶校驗等方面的錯誤,屬于硬件真故障。如果根據(jù)報錯日志判斷存在hardware error,則轉(zhuǎn)入步驟S208,故障報告中的硬盤故障是真故障,如果根據(jù)報錯日志判斷不存在hardware error,則繼續(xù)執(zhí)行步驟S204。步驟S204,根據(jù)SMART信息判斷硬盤溫度是否超過第一閾值。在本發(fā)明的一個實施例中,第一閾值的范圍是50°C 60°C,優(yōu)選地第一閾值為55 °C。也可以根據(jù)硬盤的生產(chǎn)廠商給出的溫度閾值設(shè)定第一閾值。在本發(fā)明的一個實施例中,SMART信息包括關(guān)鍵SMART屬性的信息,關(guān)鍵SMART屬性包括 Raw Read Error Rate, Reallocated Sector Ct, Seek Error Rate, ReportedUncorrect,Temperature Celsius和Hardware ECC Recovered。其中,Raw Read Error Rate為讀Raw data時,錯誤出現(xiàn)的頻率,可反映磁盤表面或讀/寫磁頭(disk surface or read/write heads)可能存在問題;Reallocated Sector Ct為重新分配扇區(qū)的數(shù)量,表示硬盤中已發(fā)現(xiàn)了多少壞扇區(qū);Seek Error Rate為磁頭定位時,錯誤出現(xiàn)的比率,如果數(shù)值持續(xù)升高,暗示磁盤表面或讀/寫磁頭機械有問題!Reported Uncorrect為反饋無法校正,硬件ECC無法恢復(fù)的錯誤率;Temperature Celsius為硬盤內(nèi)部溫度;Hardware ECC Recovered為經(jīng)硬件ECC校正、恢復(fù)的錯誤率。具體地,SMART信息中的Temperature Celsius表示硬盤內(nèi)部溫度,如果硬盤內(nèi)部溫度過高,硬盤可能出現(xiàn)故障。如果根據(jù)SMART信息中的Temperature Celsius判斷硬盤溫度超過第一閾值,則轉(zhuǎn)入步驟S208,故障報告中的硬盤故障是真故障,如果根據(jù)SMART信息中的Temperature Celsius判斷硬盤溫度未超過第一閾值,則繼續(xù)執(zhí)行步驟S205。步驟S205,根據(jù)報錯日志判斷硬盤的壞扇區(qū)數(shù)量是否超過第二閾值。在本發(fā)明的一個實施例中,第二閾值的范圍是48 96,優(yōu)選地第二閾值為64。具體地,如果壞扇區(qū)數(shù)量超過第二閾值,則轉(zhuǎn)入步驟S208,故障報告中的硬盤故障是真故障,如果壞扇區(qū)數(shù)量未超過第二閾值,則繼續(xù)執(zhí)行步驟S206。步驟S206,根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)是否超過第三閾值。在本發(fā)明的一個實施例中,第三閾值的范圍是3 5,優(yōu)選地第三閾值為3。具體地,歷史修復(fù)次數(shù)是指曾經(jīng)被判斷為假故障的硬盤,通過相應(yīng)的在線檢測修復(fù)(DST、格式化、壞扇區(qū)重寫或屏蔽等)次數(shù)的記錄,經(jīng)過修復(fù)的硬盤會繼續(xù)投入使用。如果根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)超過第三閾值,則轉(zhuǎn)入步驟S208,故障報告中的硬盤故障是真故障,如果報錯日志判斷硬盤的歷史修復(fù)次數(shù)未超過第三閾值,則繼續(xù)執(zhí)行步驟S207。步驟S207,如果根據(jù)步驟S203、步驟S204、步驟S205和步驟S206的判斷都為否,則進一步判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。具體地,對硬盤的硬件故障篩選判斷之后,未發(fā)生硬件故障的故障硬盤也有可能存在真故障,需要進一步根據(jù)SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)確定故障報告中的硬盤故障是否是真故障,如果是,則故障報告中的硬盤故障是真故障,轉(zhuǎn)入步驟S208。如果否,則故障報告中的硬盤故障是假故障,轉(zhuǎn)入步驟S209。 在本發(fā)明的一個實施例中,關(guān)鍵SMART屬性的類型包括Pre-fai I和01 d_age。其中,Pre-fail為當(dāng)SMART屬性的某個關(guān)鍵屬性的屬性值(VALUE)低于相對應(yīng)的閾值(THRESH)時,硬盤進入的狀態(tài),即預(yù)前故障狀態(tài),可以通過預(yù)設(shè)閥值預(yù)測硬盤存在潛在故障,Old-age表示屬性值可以反饋硬盤的老化信息,但不能預(yù)測是否存在故障。步驟S208,故障報告中的硬盤故障是真故障。步驟S209,故障報告中的硬盤故障是假故障。在本發(fā)明的一個實施例中,步驟S203、S204、S205及S206的執(zhí)行不分先后順序。根據(jù)本發(fā)明實施例的硬盤故障檢測方法,首先根據(jù)報錯日志判斷是否存在hardware error、硬盤的壞扇區(qū)數(shù)量和歷史修復(fù)次數(shù)是否超過數(shù)量及根據(jù)SMART信息判斷硬盤的溫度是否超過閾值對內(nèi)核報出的故障硬盤進行硬件故障的判斷及篩選,可以有效地提高真故障篩選的效率,將出現(xiàn)假故障的硬盤篩選掉,可以提高硬盤故障報錯的準(zhǔn)確性,大幅降低故障率。圖3為根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖。如圖3所示,根據(jù)本發(fā)明實施例的硬盤故障檢測方法包括下述步驟。步驟S301,接收關(guān)于硬盤的故障報告。具體地,所接收到的關(guān)于硬盤的故障報告可以是根據(jù)內(nèi)核打印出的與硬盤相關(guān)的錯誤日志。其中,錯誤日志所報告的硬盤故障有些為真故障,例如硬盤的磁頭、控制器、扇區(qū)等硬盤本身的故障,有些故障為假故障,例如內(nèi)核故障、IO請求失敗、數(shù)據(jù)錯誤等。步驟S302,收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息。具體地,首先根據(jù)所接收到的關(guān)于硬盤的故障報告確定從內(nèi)核報出的發(fā)生故障的硬盤,然后根據(jù)該硬盤收集系統(tǒng)日志中關(guān)于該硬盤的報錯日志和該硬盤的SMART信息,其中 SMART信息即 S.M.A.R.T (Self-Monitoring Analysis and Reporting Technology,自我監(jiān)測、分析及報告技術(shù),該技術(shù)可以對硬盤的磁頭、盤片、馬達、電路的運行情況、歷史記錄及預(yù)設(shè)的安全值進行分析和比較)信息,包括了由行業(yè)標(biāo)準(zhǔn)規(guī)定的一組專門的硬盤檢測參數(shù)及其對應(yīng)的屬性值、實際值、屬性類型等。步驟S303,根據(jù)報錯日志判斷是否存在hardware error。具體地,報錯日志將反饋的操作系統(tǒng)層故障主要分為medium error, hardwareerror, recovered error, not ready, illegal request, volume overflow, miscompare,aborted command和no sense等,其中hardware error描述的是與磁頭、控制器和奇偶校驗等方面的錯誤,屬于硬件真故障。如果根據(jù)報錯日志判斷存在hardware error,則轉(zhuǎn)入步驟S309,故障報告中的硬盤故障是真故障,如果根據(jù)報錯日志判斷不存在hardware error,則繼續(xù)執(zhí)行步驟S304。步驟S304,根據(jù)SMART信息判斷硬盤溫度是否超過第一閾值。在本發(fā)明的一個實施例中,第一閾值的范圍是50°C 60°C,優(yōu)選地第一閾值為55 °C。也可以根據(jù)硬盤的生產(chǎn)廠商給出的溫度閾值設(shè)定第一閾值。在本發(fā)明的一個實施例中,SMART信息包括關(guān)鍵SMART屬性的信息,關(guān)鍵SMART屬性包括 Raw Read Error Rate, Reallocated Sector Ct, Seek Error Rate, ReportedUncorrect,Temperature Celsius和Hardware ECC Recovered。其中,Raw Read Error Rate為讀Raw data時,錯誤出現(xiàn)的頻率,可反映磁盤表面或讀/寫磁頭(disk surface or read/write heads)可能存在問題;Reallocated Sector Ct為重新分配扇區(qū)的數(shù)量,表示硬盤中已發(fā)現(xiàn)了多少壞扇區(qū);Seek Error Rate為磁頭定位時,錯誤出現(xiàn)的比率,如果數(shù)值持續(xù)升高,暗示磁盤表面或讀/寫磁頭機械有問題!Reported Uncorrect為反饋無法校正,硬件ECC無法恢復(fù)的錯誤率;Temperature Celsius為硬盤內(nèi)部溫度;Hardware ECC Recovered為經(jīng)硬件ECC校正、恢復(fù)的錯誤率。具體地,SMART信息中的Temperature Celsius表示硬盤內(nèi)部溫度,如果硬盤內(nèi)部溫度過高,硬盤可能出現(xiàn)故障。如果根據(jù)SMART信息中的Temperature Celsius判斷硬盤溫度超過第一閾值,則轉(zhuǎn)入步驟S309,故障報告中的硬盤故障是真故障,如果根據(jù)SMART信息中的Temperature Celsius判斷硬盤溫度未超過第一閾值,則繼續(xù)執(zhí)行步驟S305。步驟S305,根據(jù)報錯日志判斷硬盤的壞扇區(qū)數(shù)量是否超過第二閾值。
在本發(fā)明的一個實施例中,第二閾值的范圍是48 96,優(yōu)選地第二閾值為64。具體地,如果壞扇區(qū)數(shù)量超過第二閾值,則轉(zhuǎn)入步驟S309,故障報告中的硬盤故障是真故障,如果壞扇區(qū)數(shù)量未超過第二閾值,則繼續(xù)執(zhí)行步驟S306。步驟S306,根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)是否超過第三閾值。在本發(fā)明的一個實施例中,第三閾值的范圍是3 5,優(yōu)選地第三閾值為3。具體地,歷史修復(fù)次數(shù)是指曾經(jīng)被判斷為假故障的硬盤,通過相應(yīng)的在線檢測修復(fù)(DST、格式化、壞扇區(qū)重寫或屏蔽等)次數(shù)的記錄,經(jīng)過修復(fù)的硬盤會繼續(xù)投入使用。如果根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)超過第三閾值,則轉(zhuǎn)入步驟S309,故障報告中的硬盤故障是真故障,如果報錯日志判斷硬盤的歷史修復(fù)次數(shù)未超過第三閾值,則繼續(xù)執(zhí)行步驟S307。步驟S307,如果根據(jù)步驟S303、步驟S304、步驟S305和步驟S306的判斷都為否,則進一步判斷Pre-fail類型的關(guān)鍵SMART屬性值是否低于第四閾值。在本發(fā)明的一個實施例中,Pre-fail類型的關(guān)鍵SMART屬性包括Raw Read ErrorRate, Reallocated Sector Ct 和 Seek Error Rate ;01 d_age 類型的關(guān)鍵 SMART 屬性包括Reported Uncorrect 和 Hardware ECC Recovered。在本發(fā)明的一個實施例中,各個Pre-fail類型的關(guān)鍵SMART屬性的第四閾值是不同的,都是系統(tǒng)預(yù)設(shè)的,該第四閾值可以從系統(tǒng)獲取得到。舉例來說,Raw Read Error Rate的第四閾值可以是51, Reallocated Sector Ct的第四閾值可以是140等。具體地,如果Pre-fail類型的關(guān)鍵SMART屬性值低于第四閾值,則轉(zhuǎn)入步驟S309,故障報告中的硬盤故障是真故障,如果Pre-fail類型的關(guān)鍵SMART屬性值不低于第四閾值,則繼續(xù)執(zhí)行步驟S308。步驟S308,判斷Old-age類型的關(guān)鍵SMART屬性值是否低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一。在本發(fā)明的一個實施例中,各個Old-age類型的關(guān)鍵SMART屬性的第五閾值是不同的,都是系統(tǒng)預(yù)設(shè)的,該第五閾值可以從系統(tǒng)獲取得到。具體地,如果Old-age類型的關(guān)鍵SMART屬性值低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一,則轉(zhuǎn)入步驟S309,故障報告中的硬盤故障是真故障,否則故障報告中的硬盤故障是假故障,轉(zhuǎn)入步驟S310。步驟S309,故障報告中的硬盤故障是真故障。步驟S310,故障報告中的硬盤故障是假故障。在本發(fā)明的一個實施例中,步驟S303、S304、S305及S306的執(zhí)行不分先后順序。在本發(fā)明的一個實施例中,步驟S307及S308的執(zhí)行不分先后順序。根據(jù)本發(fā)明實施例的硬盤故障檢測方法,在根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選的基礎(chǔ)上,根據(jù)SMART屬性類型的狀態(tài)及壞扇區(qū)數(shù)量進行非硬件故障的真故障判斷及篩選,進一步有效地提高硬盤故障報錯的準(zhǔn)確性,大幅降低故障率。圖4為根據(jù)本發(fā)明一個實施例的硬盤故障檢測方法的流程圖。如圖4所示,根據(jù)本發(fā)明實施例的硬盤故障檢測方法包括下述步驟。步驟S401,接收關(guān)于硬盤的故障報告。具體地,所接收到的關(guān)于硬盤的故障報告可以是根據(jù)內(nèi)核打印出的與硬盤相關(guān)的錯誤日志。其中,錯誤日志所報告的硬盤故障有些為真故障,例如硬盤的磁頭、控制器、扇區(qū)等硬盤本身的故障,有些故障為假故障,例如內(nèi)核故障、IO請求失敗、數(shù)據(jù)錯誤等。步驟S402,收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息。具體地,首先根據(jù)所接收到的關(guān)于硬盤的故障報告確定從內(nèi)核報出的發(fā)生故障的硬盤,然后根據(jù)該硬盤收集系統(tǒng)日志中關(guān)于該硬盤的報錯日志和該硬盤的SMART信息,其中 SMART信息即 S.M.A.R.T (Self-Monitoring Analysis and Reporting Technology,自我監(jiān)測、分析及報告技術(shù),該技術(shù)可以對硬盤的磁頭、盤片、馬達、電路的運行情況、歷史記錄及預(yù)設(shè)的安全值進行分析和比較)信息,包括了由行業(yè)標(biāo)準(zhǔn)規(guī)定的一組專門的硬盤檢測參數(shù)及其對應(yīng)的屬性值、實際值、屬性類型等。步驟S403,根據(jù)報錯日志判斷是否存在hardware error。具體地,報錯日志將反饋的操作系統(tǒng)層故障主要分為medium error, hardwareerror, recovered error, not ready, illegal request, volume overflow, miscompare,aborted co_and和no sense等,其中hardware error描述的是與磁頭、控制器和奇偶校驗等方面的錯誤,屬于硬件真故障。如果根據(jù)報錯日志判斷存在hardware error,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,如果根據(jù)報錯日志判斷不存在hardware error,則繼續(xù)執(zhí)行步驟S404。步驟S404,根據(jù)SMART信息判斷硬盤溫度是否超過第一閾值。在本發(fā)明的一個實施例中,第一閾值的范圍是50 V 60°C,優(yōu)選地第一閾值為55 °C。也可以根據(jù)硬盤的生產(chǎn)廠商給出的溫度閾值設(shè)定第一閾值。在本發(fā)明的一個實施例中,SMART信息包括關(guān)鍵SMART屬性的信息,關(guān)鍵SMART屬性包括 Raw Read Error Rate, Reallocated Sector Ct, Seek Error Rate, ReportedUncorrect,Temperature Celsius和Hardware ECC Recovered。其中,Raw Read Error Rate為讀Raw data時,錯誤出現(xiàn)的頻率,可反映磁盤表面或讀/寫磁頭(disk surface or read/write heads)可能存在問題;Reallocated Sector Ct為重新分配扇區(qū)的數(shù)量,表示硬盤中已發(fā)現(xiàn)了多少壞扇區(qū);Seek Error Rate為磁頭定位時,錯誤出現(xiàn)的比率,如果數(shù)值持續(xù)升高,暗示磁盤表面或讀/寫磁頭機械有問題!Reported Uncorrect為反饋無法校正,硬件ECC無法恢復(fù)的錯誤率!Temperature Celsius為硬盤內(nèi)部溫度;Hardware ECC Recovered為經(jīng)硬件ECC校正、恢復(fù)的錯誤率。具體地,SMART信息中的Temperature Celsius表示硬盤內(nèi)部溫度,如果硬盤內(nèi)部溫度過高,硬盤可能出現(xiàn)故障。如果根據(jù)SMART信息中的Temperature Celsius判斷硬盤溫度超過第一閾值,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,如果根據(jù)SMART信息中的Temperature Celsius判斷硬盤溫度未超過第一閾值,則繼續(xù)執(zhí)行步驟S405。步驟S405,根據(jù)報錯日志判斷硬盤的壞扇區(qū)數(shù)量是否超過第二閾值。在本發(fā)明的一個實施例中,第二閾值的范圍是48 96,優(yōu)選地第二閾值為64。具體地,如果壞扇區(qū)數(shù)量超過第二閾值,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,如果壞扇區(qū)數(shù)量未超過第二閾值,則繼續(xù)執(zhí)行步驟S406。步驟S406,根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)是否超過第三閾值。在本發(fā)明的一個實施例中,第三閾值的范圍是3 5,優(yōu)選地第三閾值為3。具體地,歷史修復(fù)次數(shù)是指曾經(jīng)被判斷為假故障的硬盤,通過相應(yīng)的在線檢測修復(fù)(DST、格式化、壞扇區(qū)重寫或屏蔽等)次數(shù)的記錄,經(jīng)過修復(fù)的硬盤會繼續(xù)投入使用。如果根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)超過第三閾值,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,如果報錯日志判斷硬盤的歷史修復(fù)次數(shù)未超過第三閾值,則繼續(xù)執(zhí)行步驟S407。步驟S407,如果根據(jù)步驟S403、步驟S404、步驟S405和步驟S406的判斷都為否,則進一步判斷Pre-fail類型的關(guān)鍵SMART屬性值是否低于第四閾值。在本發(fā)明的一個實施例中,關(guān)鍵SMART屬性的類型包括Pre-fai I和01 d_age。其中,Pre-fail為當(dāng)SMART屬性的某個關(guān)鍵屬性的屬性值(VALUE)低于相對應(yīng)的閾值(THRESH)時,硬盤進入的狀態(tài),即預(yù)前故障狀態(tài),可以通過預(yù)設(shè)閥值預(yù)測硬盤存在潛在故障,Old-age表示屬性值可以反饋硬盤的老化信息,但不能預(yù)測是否存在故障。在本發(fā)明的一個實施例中,Pre-fail類型的關(guān)鍵SMART屬性包括Raw Read ErrorRate, Reallocated Sector Ct 和 Seek Error Rate ;01 d_age 類型的關(guān)鍵 SMART 屬性包括Reported Uncorrect 和 Hardware ECC Recovered。在本發(fā)明的一個實施例中,各個Pre-fail類型的關(guān)鍵SMART屬性的第四閾值是不同的,都是系統(tǒng)預(yù)設(shè)的,該第四閾值可以從系統(tǒng)獲取得到。舉例來說,Raw Read ErrorRate的第四閾值可以是51, Reallocated Sector Ct的第四閾值可以是140等。具體地,如果Pre-fail類型的關(guān)鍵SMART屬性值低于第四閾值,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,如果Pre-fail類型的關(guān)鍵SMART屬性值不低于第四閾值,則繼續(xù)執(zhí)行步驟 S408。步驟S408,進一步判斷Old-age類型的關(guān)鍵SMART屬性值是否低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一。在本發(fā)明的一個實施例中,各個Old-age類型的關(guān)鍵SMART屬性的第五閾值是不同的,都是系統(tǒng)預(yù)設(shè)的,該第五閾值可以從系統(tǒng)獲取得到。具體地,如果Old-age類型的關(guān)鍵SMART屬性值低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,否則繼續(xù)執(zhí)行步驟S409。步驟S409,判斷關(guān)鍵SMART屬性的值是否在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降。在本發(fā)明的一個實施例中,故障發(fā)生前的預(yù)定時間段根據(jù)統(tǒng)計結(jié)果獲得。具體地,如果關(guān)鍵SMART屬性的值在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,否則繼續(xù)執(zhí)行步驟S410。步驟S410,判斷關(guān)鍵SMART屬性的值是否處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過第二閾值的八分之一。在本發(fā)明的一個實施例中,下半?yún)^(qū)間為
。具體地,如果關(guān)鍵SMART屬性的值處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量超過第二閾值的八分之一,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,否則繼續(xù)執(zhí)行步驟S411。步驟S411,判斷關(guān)鍵SMART屬性的值是否處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過第
二閾值的二分之一。在本發(fā)明的一個實施例中,上半?yún)^(qū)間是[關(guān)鍵SMART屬性的預(yù)設(shè)值/2,關(guān)鍵SMART屬性的預(yù)設(shè)值]。具體地,如果關(guān)鍵SMART屬性的值處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量超過第二閾值的二分之一,則轉(zhuǎn)入步驟S412,故障報告中的硬盤故障是真故障,否則故障報告中的硬盤故障是假故障,轉(zhuǎn)入步驟S413。步驟S412,故障報告中的硬盤故障是真故障。步驟S413,故障報告中的硬盤故障是假故障。在本發(fā)明的一個實施例中,步驟S403、S404、S405及S406的執(zhí)行不分先后順序。在本發(fā)明的一個實施例中,步驟S407、S408、S409、S410及S411的執(zhí)行不分先后順序。根據(jù)本發(fā)明實施例的硬盤故障檢測方法,在根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選的基礎(chǔ)上,根據(jù)SMART屬性類型的狀態(tài)、壞扇區(qū)數(shù)量和關(guān)鍵SMART屬性值進行非硬件故障的真故障判斷及篩選,進一步有效地提高硬盤故障報錯的準(zhǔn)確性,大幅降低故障率。下面參考說明書附圖描述根據(jù)本發(fā)明實施例的硬盤故障檢測裝置。一種硬盤故障檢測裝置,包括:接收模塊,用于接收關(guān)于硬盤的故障報告;收集模塊,用于收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息;判斷模塊,用于根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障,如果是,則判斷模塊判斷故障報告中的硬盤故障是真故障,如果否,則判斷模塊判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。圖5是根據(jù)本發(fā)明一個實施例的硬盤故障檢測裝置的結(jié)構(gòu)框圖。如圖5所示,根據(jù)本發(fā)明實施例的硬盤故障檢測裝置,包括接收模塊100、收集模塊200和判斷模塊300。具體地,接收模塊100用于接收關(guān)于硬盤的故障報告。其中,接收模塊100所接收到的關(guān)于硬盤的故障報告可以是根據(jù)內(nèi)核打印出的與硬盤相關(guān)的錯誤日志,錯誤日志所報告的硬盤故障有些為真故障,例如硬盤的磁頭、控制器、扇區(qū)等硬盤本身的故障,有些故障為假故障,例如內(nèi)核故障、IO請求失敗、數(shù)據(jù)錯誤等。收集模塊200用于收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息。首先,收集模塊200根據(jù)接收模塊100所接收到的關(guān)于硬盤的故障報告確定從內(nèi)核報出的發(fā)生故障的硬盤,然后根據(jù)該硬盤收集系統(tǒng)日志中關(guān)于該硬盤的報錯日志和該硬盤的 SMART 信息,其中 SMART 信息即 S.M.A.R.T (Self-Monitoring Analysis and ReportingTechnology,自我監(jiān)測、分析及報告技術(shù),該技術(shù)可以對硬盤的磁頭、盤片、馬達、電路的運行情況、歷史記錄及預(yù)設(shè)的安全值進行分析和比較)信息,包括了由行業(yè)標(biāo)準(zhǔn)規(guī)定的一組專門的硬盤檢測參數(shù)及其對應(yīng)的屬性值、實際值、屬性類型等。判斷模塊300用于根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障,如果是,則判斷模塊300判斷故障報告中的硬盤故障是真故障,如果否,則判斷模塊300判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。具體地,來源于內(nèi)核的報錯日志是由SCSI (Small Computer Systems Interface,小型計算機系統(tǒng)接口,其為一組標(biāo)準(zhǔn)集,定義了與大量設(shè)備通信所需的接口和協(xié)議,其中主要定義了與存儲相關(guān)的設(shè)備通信所需的接口和協(xié)議)中間層在IO錯誤發(fā)生時對操作系統(tǒng)層的故障反饋,包括故障類型、壞扇區(qū)數(shù)據(jù)等。根據(jù)報錯日志將反饋的故障主要分為medium error, hardware error, recovered error, not ready, illegal request, volumeoverflow, miscompare, aborted command和 no sense 等。經(jīng)過對76719塊近線SATA硬盤的故障統(tǒng)計發(fā)現(xiàn),medium error占比為63.1 % ,hardware error占比6.7%,其中,medium error主要是與讀錯誤后的ECC校驗失敗有關(guān),涉及數(shù)據(jù)所在的扇區(qū)號,許多該故障僅僅是數(shù)據(jù)錯誤,即使是扇區(qū)本身錯誤也可以通過避免該扇區(qū)被再次使用的方式進行修復(fù),所以存在很大比例的假故障,hardware error描述的是與磁頭、控制器和奇偶校驗等方面的錯誤,屬于真故障,出現(xiàn)該報告時應(yīng)當(dāng)更換硬盤,剩下的故障大部分為no sense即SCSI中間層無法反饋錯誤類型,其中也存在許多的假故障。因此,判斷模塊300首先需要根據(jù)報錯日志并結(jié)合SMART信息對內(nèi)核所報出的發(fā)生故障的硬盤進行硬件故障篩選,判斷內(nèi)核所報出的發(fā)生故障的硬盤是否存在硬盤硬件故障。如果判斷模塊300根據(jù)報錯日志和SMART信息判斷存在硬盤硬件故障,則判斷故障報告中的硬盤故障是真故障,否則,判斷模塊300進一步判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。在本發(fā)明的一個實施例中,關(guān)鍵SMART屬性的類型包括Pre_f ai I和01 d_age。其中,Pre-fail為當(dāng)SMART屬性的某個關(guān)鍵屬性的屬性值(VALUE)低于相對應(yīng)的閾值(THRESH)時,硬盤進入的狀態(tài),即預(yù)前故障狀態(tài),可以通過預(yù)設(shè)閥值預(yù)測硬盤存在潛在故障,Old-age表示屬性值可以反饋硬盤的老化信息,但不能預(yù)測是否存在故障。在本發(fā)明的一個實施例中,關(guān)鍵SMART屬性包括Raw Read Error Rate,Reallocated Sector Ct, Seek Error Rate, Reported Uncorrect, Temperature Celsius和 Hardware ECC Recovered。其中,Raw Read Error Rate 為讀 Raw data 時,錯誤出現(xiàn)的頻率,可反映磁盤表面或讀/寫磁頭(disk surface or read/write heads)可能存在問題!Reallocated Sector Ct為重新分配扇區(qū)的數(shù)量,表示硬盤中已發(fā)現(xiàn)了多少壞扇區(qū);Seek Error Rate為磁頭定位時,錯誤出現(xiàn)的比率,如果數(shù)值持續(xù)升高,暗示磁盤表面或讀/寫磁頭機械有問題!Reported Uncorrect為反饋無法校正,硬件ECC無法恢復(fù)的錯誤率;Temperature Celsius為硬盤內(nèi)部溫度;Hardware ECC Recovered為經(jīng)硬件ECC校正、恢復(fù)的錯誤率。根據(jù)本發(fā)明實施例的硬盤故障檢測裝置,判斷模塊根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選,將出現(xiàn)假故障的硬盤過濾掉,該裝置可以提高硬盤故障報錯的準(zhǔn)確性,大幅降低硬盤的故障率。在本發(fā)明的一個實施例中,判斷模塊300用于根據(jù)報錯日志判斷是否存在hardware error,或者根據(jù)SMART信息判斷硬盤溫度是否超過第一閾值,或者根據(jù)報錯日志判斷硬盤的壞扇區(qū)數(shù)量是否超過第二閾值,或者根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)是否超過第三閾值,由此確定內(nèi)核報出故障的硬盤是否存在硬件故障,如果存在硬件故障,則故障報告中的硬盤故障是真故障。具體地,判斷模塊300根據(jù)報錯日志判斷是否存在hardware error 0更具體地,報錯日志將反饋的操作系統(tǒng)層故障主要分為medium error, hardware error, recoverederror, not ready, illegal request, volume overflow, miscompare, aborted command和no sense等,其中hardware error描述的是與磁頭、控制器和奇偶校驗等方面的錯誤,屬于硬件真故障。如果判斷模塊300根據(jù)報錯日志判斷存在hardware error,則故障報告中的
硬盤故障是真故障。判斷模塊300根據(jù)SMART信息判斷硬盤溫度是否超過第一閾值。更具體地,在本發(fā)明的一個實施例中,第一閾值的范圍是50°C 60°C,優(yōu)選地第一閾值為55°C。也可以根據(jù)硬盤的生產(chǎn)廠商給出的溫度閾值設(shè)定第一閾值。在本發(fā)明的一個實施例中,SMART信息包括關(guān)鍵SMART屬性的信息,關(guān)鍵SMART屬性包括 Raw Read Error Rate, Reallocated Sector Ct, Seek Error Rate, ReportedUncorrect,Temperature Celsius和Hardware ECC Recovered。其中,Raw Read Error Rate為讀Raw data時,錯誤出現(xiàn)的頻率,可反映磁盤表面或讀/寫磁頭(disk surface or read/write heads)可能存在問題;Reallocated Sector Ct為重新分配扇區(qū)的數(shù)量,表示硬盤中已發(fā)現(xiàn)了多少壞扇區(qū);Seek Error Rate為磁頭定位時,錯誤出現(xiàn)的比率,如果數(shù)值持續(xù)升高,暗示磁盤表面或讀/寫磁頭機械有問題!Reported Uncorrect為反饋無法校正,硬件ECC無法恢復(fù)的錯誤率;Temperature Celsius為硬盤內(nèi)部溫度;Hardware ECC Recovered為經(jīng)硬件ECC校正、恢復(fù)的錯誤率。具體地,SMART信息中的Temperature Celsius表示硬盤內(nèi)部溫度,如果硬盤內(nèi)部溫度過高,硬盤可能出現(xiàn)故障。判斷模塊300如果根據(jù)SMART信息中的TemperatureCelsius判斷硬盤溫度超過第一閾值,則故障報告中的硬盤故障是真故障。判斷模塊300根據(jù)報錯日志判斷硬盤的壞扇區(qū)數(shù)量是否超過第二閾值。更具體地,在本發(fā)明的一個實施例中,第二閾值的范圍是48 96,優(yōu)選地第二閾值為64。如果判斷模塊300判斷換扇區(qū)數(shù)量超過第二閾值,則故障報告中的硬盤故障是真故障。判斷模塊300根據(jù)報錯日志判斷硬盤的歷史修復(fù)次數(shù)是否超過第三閾值。更具體地,在本發(fā)明的一個實施例中,第三閾值的范圍是3 5,優(yōu)選地第三閾值為3。歷史修復(fù)次數(shù)是指曾經(jīng)被判斷為假故障的硬盤,通過相應(yīng)的在線檢測修復(fù)(DST、格式化、壞扇區(qū)重寫或屏蔽等)次數(shù)的記錄,經(jīng)過修復(fù)的硬盤會繼續(xù)投入使用。如果判斷模塊300判斷硬盤的歷史修復(fù)次數(shù)超過第三閾值,則故障報告中的硬盤故障是真故障。在本發(fā)明的一個實施例中,判斷模塊300對是否存在hardware error,或者硬盤溫度是否超過第一閾值,或者壞扇區(qū)數(shù)量是否超過第二閾值,或者硬盤的歷史修復(fù)次數(shù)是否超過第三閾值的硬件故障判斷都為否之后,未發(fā)生硬件故障的故障硬盤也有可能存在真故障,還需要進一步根據(jù)SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)確定故障報告中的硬盤故障是否是真故障。根據(jù)本發(fā)明實施例的硬盤故障檢測裝置,判斷模塊首先根據(jù)報錯日志判斷是否存在hardware error、硬盤的壞扇區(qū)數(shù)量和歷史修復(fù)次數(shù)是否超過數(shù)量及根據(jù)SMART信息判斷硬盤的溫度是否超過閾值對內(nèi)核報出的故障硬盤進行硬件故障的判斷及篩選,可以有效地提高真故障篩選的效率,將出現(xiàn)假故障的硬盤篩選掉,可以提高硬盤故障報錯的準(zhǔn)確性,大幅降低故障率。在本發(fā)明的一個實施例中,判斷模塊300在根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障的結(jié)果都為否之后,用于判斷Pre-fail類型的關(guān)鍵SMART屬性值是否低于第四閾值,或者判斷Old-age類型的關(guān)鍵SMART屬性值是否低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一,其中,如果Pre-fail類型的關(guān)鍵SMART屬性值低于第四閾值或Old-age類型的關(guān)鍵SMART屬性值低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一,則判斷故障報告中的硬盤故障是真故障。在本發(fā)明的一個實施例中,Pre-fail類型的關(guān)鍵SMART屬性包括Raw Read ErrorRate, Reallocated Sector Ct 和 Seek Error Rate ;01 d_age 類型的關(guān)鍵 SMART 屬性包括Reported Uncorrect 和 Hardware ECC Recovered。具體地,判斷模塊300判斷Pre-fail類型的關(guān)鍵SMART屬性值是否低于第四閾值。更具體地,在本發(fā)明的一個實施例中,各個Pre-fail類型的關(guān)鍵SMART屬性的第四閾值是不同的,都是系統(tǒng)預(yù)設(shè)的,該第四閾值可以從系統(tǒng)獲取得到。舉例來說,Raw Read ErrorRate的第四閾值可以是51, Reallocated Sector Ct的第四閾值可以是140等。。如果判斷模塊300判斷Pre-fail類型的關(guān)鍵SMART屬性值低于第四閾值,則故障報告中的硬盤故障是真故障。判斷模塊300判斷Old-age類型的關(guān)鍵SMART屬性值是否低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一。在本發(fā)明的一個實施例中,各個Old-age類型的關(guān)鍵SMART屬性的第五閾值是不同的,都是系統(tǒng)預(yù)設(shè)的,該第五閾值可以從系統(tǒng)獲取得到。如果判斷模塊300判斷Old-age類型的關(guān)鍵SMART屬性值低于第五閾值且壞扇區(qū)數(shù)量是否超過第二閾值的四分之一,則故障報告中的硬盤故障是真故障。根據(jù)本發(fā)明實施例的硬盤故障檢測裝置,判斷模塊在根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選的基礎(chǔ)上,根據(jù)SMART屬性類型的狀態(tài)及壞扇區(qū)數(shù)量進行非硬件故障的真故障判斷及篩選,進一步有效地提高硬盤故障報錯的準(zhǔn)確性,大幅降低故障率。在本發(fā)明的一個實施例中,在本發(fā)明的一個實施例中,判斷模塊300在根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障的結(jié)果都為否之后,以及Pre-fail、01d-age類型的關(guān)鍵SMART屬性值和壞扇區(qū)數(shù)量是否為真故障的結(jié)果都為否之后,用于判斷關(guān)鍵SMART屬性的值是否在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降,或者判斷關(guān)鍵SMART屬性的值是否處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過第二閾值的八分之一,或者判斷關(guān)鍵SMART屬性的值是否處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過第二閾值的二分之一,如果是,則判斷故障報告中的硬盤故障是真故障。具體地,判斷模塊300判斷關(guān)鍵SMART屬性的值是否在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降。更具體地,故障發(fā)生前的預(yù)定時間段根據(jù)統(tǒng)計結(jié)果獲得。如果判斷模塊300判斷關(guān)鍵SMART屬性的值在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降,則故障報告中的硬盤故
障是真故障。判斷模塊300判斷關(guān)鍵SMART屬性的值是否處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過第二閾值的八分之一。更具體地,在本發(fā)明的一個實施例中,下半?yún)^(qū)間為
。如果判斷模塊300判斷關(guān)鍵SMART屬性的值處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量超過第二閾值的八分之一,則故障報告中的硬盤故障是真故障。判斷模塊300判斷判斷關(guān)鍵SMART屬性的值是否處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過第二閾值的二分之一。更具體地,在本發(fā)明的一個實施例中,上半?yún)^(qū)間是[關(guān)鍵SMART屬性的預(yù)設(shè)值/2,關(guān)鍵SMART屬性的預(yù)設(shè)值]。如果判斷模塊300判斷關(guān)鍵SMART屬性的值處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量超過第二閾值的二分之一,則故障報告中的硬盤故障是真故障。根據(jù)本發(fā)明實施例的硬盤故障檢測裝置,在根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障判斷及篩選的基礎(chǔ)上,根據(jù)SMART屬性類型的狀態(tài)、壞扇區(qū)數(shù)量和關(guān)鍵SMART屬性值進行非硬件故障的真故障判斷及篩選,進一步有效地提高硬盤故障報錯的準(zhǔn)確性,大幅降低故障率。應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
權(quán)利要求
1.一種硬盤故障檢測方法,其特征在于,包括以下步驟: A.接收關(guān)于所述硬盤的故障報告; B.收集系統(tǒng)日志中關(guān)于所述硬盤的報錯日志并收集所述硬盤的SMART信息; C.根據(jù)所述報錯日志和所述SMART信息判斷是否存在硬盤硬件故障; D.如果是,則判斷所述故障報告中的硬盤故障是真故障; E.如果否,則判斷所述SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定所述故障報告中的硬盤故障是否是真故障。
2.根據(jù)權(quán)利要求1所述的硬盤故障檢測方法,其特征在于,所述關(guān)鍵SMART屬性包括Raw Read Error Rate,Reallocated Sector Ct,Seek Error Rate,Reported Uncorrect,Temperature Celsius 和 Hardware ECC Recovered。
3.根據(jù)權(quán)利要求2所述的硬盤故障檢測方法,其特征在于,所述關(guān)鍵SMART屬性的類型包括 Pre-fail 和 Old-age。
4.根據(jù)權(quán)利要求1至3中任一項所述的硬盤故障檢測方法,其特征在于,所述步驟C包括以下步驟: 根據(jù)所述報錯日志判斷是否存在hardware error ;或者 根據(jù)所述SMART信息判斷所述硬盤溫度是否超過第一閾值;或者 根據(jù)所述報錯日志判斷所述硬盤的壞扇區(qū)數(shù)量是否超過第二閾值;或者 根據(jù)所述報錯日志判斷所述硬盤的歷史修復(fù)次數(shù)是否超過第三閾值。
5.根據(jù)權(quán)利要求4所述的硬盤故障檢測方法,其特征在于, 所述第一閾值的范圍是50°C 60°C ; 所述第二閾值的范圍是48 96 ;以及 所述第三閾值的范圍是3 5。
6.根據(jù)權(quán)利要求4所述的硬盤故障檢測方法,其特征在于,所述步驟E包括以下步驟: 判斷所述Pre-fail類型的關(guān)鍵SMART屬性值是否低于第四閾值;或者 判斷所述Old-age類型的關(guān)鍵SMART屬性值是否低于第五閾值且壞扇區(qū)數(shù)量是否超過所述第二閾值的四分之一, 其中,如果所述Pre-fail類型的關(guān)鍵SMART屬性值低于第四閾值或所述Old-age類型的關(guān)鍵SMART屬性值低于第五閾值且壞扇區(qū)數(shù)量是否超過所述第二閾值的四分之一,則判斷所述故障報告中的硬盤故障是真故障。
7.根據(jù)權(quán)利要求1至3中任一項所述的硬盤故障檢測方法,其特征在于,所述步驟E包括以下步驟: 判斷所述關(guān)鍵SMART屬性的值是否在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降;或者判斷所述關(guān)鍵SMART屬性的值是否處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過所述第二閾值的八分之一;或者 判斷所述關(guān)鍵SMART屬性的值是否處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過所述第二閾值的二分之一;以及 如果是,則判斷所述故障報告中的硬盤故障是真故障。
8.根據(jù)權(quán)利要求7所述的硬盤故障檢測方法,其特征在于, 所述下半?yún)^(qū)間是
;以及所述上半?yún)^(qū)間是[所述關(guān)鍵SMART屬性的預(yù)設(shè)值/2,所述關(guān)鍵SMART屬性的預(yù)設(shè)值]。
9.一種硬盤故障檢測裝置,其特征在于,包括: 接收模塊,所述接收模塊用于接收關(guān)于所述硬盤的故障報告; 收集模塊,所述收集模塊用于收集系統(tǒng)日志中關(guān)于所述硬盤的報錯日志并收集所述硬盤的SMART信息; 判斷模塊,所述判斷模塊用于根據(jù)所述報錯日志和所述SMART信息判斷是否存在硬盤硬件故障,如果是,則所述判斷模塊判斷所述故障報告中的硬盤故障是真故障,如果否,則所述判斷模塊判斷所述SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定所述故障報告中的硬盤故障是否是真故障。
10.根據(jù)權(quán)利要求9所述的硬盤故障檢測裝置,其特征在于,所述關(guān)鍵SMART屬性包括Raw Read Error Rate,Reallocated Sector Ct,Seek Error Rate,Reported Uncorrect,Temperature Celsius 和 Hardware ECC Recovered。
11.根據(jù)權(quán) 利要求10所述的硬盤故障檢測裝置,其特征在于,所述關(guān)鍵SMART屬性的類型包括 Pre-fail 和 Old-age。
12.根據(jù)權(quán)利要求9至11中任一項所述的硬盤故障檢測裝置,其特征在于,所述判斷模塊用于: 根據(jù)所述報錯日志判斷是否存在hardware error ;或者 根據(jù)所述SMART信息判斷所述硬盤溫度是否超過第一閾值;或者 根據(jù)所述報錯日志判斷所述硬盤的壞扇區(qū)數(shù)量是否超過第二閾值;或者 根據(jù)所述報錯日志判斷所述硬盤的歷史修復(fù)次數(shù)是否超過第三閾值。
13.根據(jù)權(quán)利要求12所述的硬盤故障檢測裝置,其特征在于, 所述第一閾值的范圍是50°C 60°C ; 所述第二閾值的范圍是48 96 ;以及 所述第三閾值的范圍是3 5。
14.根據(jù)權(quán)利要求12所述的硬盤故障檢測裝置,其特征在于,所述判斷模塊用于: 判斷所述Pre-fail類型的SMART屬性值是否低于第四閾值;或者 判斷所述Old-age類型的SMART屬性值是否低于第五閾值且壞扇區(qū)數(shù)量是否超過所述第二閾值的四分之一,其中, 如果所述Pre-fail類型的關(guān)鍵SMART屬性值低于第四閾值或所述Old-age類型的關(guān)鍵SMART屬性值低于第五閾值且壞扇區(qū)數(shù)量是否超過所述第二閾值的四分之一,則判斷所述故障報告中的硬盤故障是真故障。
15.根據(jù)權(quán)利要求9至11中任一項所述的硬盤故障檢測方法,其特征在于,所述判斷模塊用于: 判斷所述關(guān)鍵SMART屬性的值是否在故障發(fā)生前的預(yù)定時間段內(nèi)持續(xù)下降;或者判斷所述關(guān)鍵SMART屬性的值是否處于下半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過所述第二閾值的八分之一;或者 判斷所述關(guān)鍵SMART屬性的值是否處于上半?yún)^(qū)間且壞扇區(qū)數(shù)量是否超過所述第二閾值的二分之一;以及 如果是,則判斷所述故障報告中的硬盤故障是真故障。
16.根據(jù)權(quán)利要求15所述的硬盤故障檢測裝置,其特征在于,所述下半?yún)^(qū)間是[O,所述關(guān)鍵SMART屬性的預(yù)設(shè)值/2];以及所述上半?yún)^(qū)間是[所述 關(guān)鍵SMART屬性的預(yù)設(shè)值/2,所述關(guān)鍵SMART屬性的預(yù)設(shè)值]。
全文摘要
本發(fā)明提出一種硬盤故障檢測方法及裝置。其中,該方法包括以下步驟接收關(guān)于硬盤的故障報告;收集系統(tǒng)日志中關(guān)于硬盤的報錯日志并收集硬盤的SMART信息;根據(jù)報錯日志和SMART信息判斷是否存在硬盤硬件故障;如果是,則判斷故障報告中的硬盤故障是真故障;如果否,則判斷SMART信息中的關(guān)鍵SMART屬性的類型的狀態(tài)或者關(guān)鍵SMART屬性的值的狀態(tài)以確定故障報告中的硬盤故障是否是真故障。根據(jù)本發(fā)明實施例的方法,根據(jù)報錯日志和SMART信息對內(nèi)核報出的故障硬盤進行真故障篩選判斷,將出現(xiàn)假故障的硬盤過濾掉,可以提高硬盤故障報錯的準(zhǔn)確性以大幅降低硬盤的故障率。
文檔編號G06F11/22GK103197995SQ20121000133
公開日2013年7月10日 申請日期2012年1月4日 優(yōu)先權(quán)日2012年1月4日
發(fā)明者胡殿明, 魏偉, 王志謙 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司