1. 程式人生 > >smartctl檢測物理磁碟健康度的測試結果解讀

smartctl檢測物理磁碟健康度的測試結果解讀

Smartctl對於Linux物理伺服器十分有用,在這些伺服器上,可以對智慧磁碟進行錯誤檢查,並將與硬體RAID相關的磁碟資訊摘錄下來。 1、對磁碟進行一個輕量的測試 smartctl -t short /dev/sdb 根據上一個命令提示,等待2分鐘後,檢視檢測結果: smartctl -l selftest /dev/sdb 2、檢視磁碟健康狀態資訊 smartctl -H /dev/sda smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build) Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
Please note the following marginal Attributes: ID# ATTRIBUTE_NAME          FLAG     VALUE  WORST   THRESH   TYPE      UPDATED  WHEN_FAILED  RAW_VALUE   1 Raw_Read_Error_Rate     0x002f   121        035         051         Pre-fail   Always      In_the_past        619 結果解讀: SMART overall-health self-assessment test result,標識磁碟是否通過了健康檢查。 RAW_VALUE是一個積累增漲的數值,沒有特別多的意義。 VALUE、WORST、THRESH三個引數是最重要的,這是磁碟廠商為磁碟設計的用於判斷一塊磁碟是否已經損壞到不可使用的幾個重要引數。 VALUE會有一個初始值,每當有磁碟發生讀寫錯誤時,這個引數值就會減少。一旦該引數的值小於THRESH值的時候,磁碟就變成完全的不可用了。 WORST引數記錄了一個磁碟在發生讀寫錯誤時,發生過的最大的一次錯誤時的壞塊數量。 TYPE ,Pre-fail就是偵測到有衰退的現象,或者說是磁碟在未來某一個時候會fail;Old-age就算正常,只是要算是高齡的磁碟了。 3、檢視廠商設定的磁碟smart屬性資訊
smartctl -A /dev/sda smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-431.el6.x86_64] (local build) Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE   1 Raw_Read_Error_Rate     
0x002f   120   035   051    Pre-fail  Always   In_the_past 677   3 Spin_Up_Time            0x0027   167   147   021    Pre-fail  Always       -       10616   4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       29   5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0   7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0   9 Power_On_Hours          0x0032   078   078   000    Old_age   Always       -       16378  10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0  11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0  12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       29 183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0 192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       14 193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       14 194 Temperature_Celsius     0x0022   095   086   000    Old_age   Always       -       57 196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0 197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       3 198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0 199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0 200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0 以上引數中的1、5和197相對重要。 Raw_Read_Error_Rate  ,是標識磁碟健康與否的關鍵指標屬性。 Reallocated_Sector_Ct,指有多少資料塊已經被重新remapping了。 Current_Pending_Sector,指當前有多少資料塊是不可用狀態的。 4、磁碟的修復 當磁碟出現較多壞塊時,意味著檔案系統也將變得不可靠。最直接的一種故障會表現為磁碟的某個分割槽的檔案系統突然變成了只讀系統。這就意味著執行在這個分割槽上的程式都會掛掉。 這種情況下,建議重啟系統進入單用記維護模式,執行fsck -y /dev/sda3(舉例)進行修復。 下面也提供了一種比較高階的手動強行修復壞塊的辦法,未經嘗試。