2018年7月17日 星期二

硬碟SMART的代碼與狀態

下面的 smartctl 指令比較兩個硬碟,一個是好的,另外一個快壞了
root@host# /usr/sbin/smartctl -a -d 3ware,10 /dev/twa0 | grep -e '^ID#' -e 'Seek_Error_Rate' -e 'Reallocated_Sector_Ct' -e 'Spin_Retry_Count' -e 'End-to-End_Error' -e 'Command_Timeout' -e 'Offline_Uncorrectable' -e 'Current_Pending_Sector' -e 'Raw_Read_Error_Rate' -e 'Hardware_ECC_Recovered'
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0

root@host# /usr/sbin/smartctl -a -d 3ware,11 /dev/twa0 | grep -e '^ID#' -e 'Seek_Error_Rate' -e 'Reallocated_Sector_Ct' -e 'Spin_Retry_Count' -e 'End-to-End_Error' -e 'Command_Timeout' -e 'Offline_Uncorrectable' -e 'Current_Pending_Sector' -e 'Raw_Read_Error_Rate' -e 'Hardware_ECC_Recovered'
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   118   099   006    Pre-fail  Always       -       169895976
  5 Reallocated_Sector_Ct   0x0033   095   095   036    Pre-fail  Always       -       3840
  7 Seek_Error_Rate         0x000f   051   049   030    Pre-fail  Always       -       850432721151
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       4295032833
195 Hardware_ECC_Recovered  0x001a   034   005   000    Old_age   Always       -       169895976
197 Current_Pending_Sector  0x0012   099   099   000    Old_age   Always       -       104
198 Offline_Uncorrectable   0x0010   099   099   000    Old_age   Offline      -       104

基本上看TYPE或UPDATE都不準,還是要看RAW_VALUE比較準
錯誤代碼的意思
  • 1 Raw_Read_Error_Rate:讀取錯誤率
  • 5 Reallocated_Sector_Ct:重分配磁區數量
    硬碟內部在發現弱磁區時會將弱磁區的資料重新分配到備用區
  • 7 Seek_Error_Rate:尋軌錯誤率
  • 10 Spin_Retry_Count:旋上重試次數
    可能是電源供應不良,或是主軸馬達快掛了
  • 184 End-to-End_Error:HP專有S.M.A.R.T.(SMART IV)技術的一個特有屬性,記錄硬碟從碟片讀取資料到快取後再傳輸到主機時資料校驗出錯的次數。
  • 188 Command_Timeout:無法連線至硬碟而終止操作的統計數
    一般為0,如果遠超過0,則可能電源問題,資料線介面氧化或更嚴重的問題。
  • 195 Hardware_ECC_Recovered:硬體錯誤修正編碼修正
    代表經由ECC修正的資料變多,讀出的資料狀態劣化
  • 197 Current_Pending_Sector:待決磁區數量
  • 198 Offline_Uncorrectable:離線掃描不可修正數量

若是要過磁碟陣列一次看很多個硬碟,可以用下面的指令
root@host# for i in {0,1,2,3,4,5,6,7,8,10,11}
do 
  echo p${i}; /usr/sbin/smartctl -a -d 3ware,${i} /dev/twa0 | grep \
  -e '^ID#' \
  -e 'Seek_Error_Rate' \
  -e 'Reallocated_Sector_Ct' \
  -e 'Spin_Retry_Count' -e 'End-to-End_Error' \
  -e 'Command_Timeout' \
  -e 'Offline_Uncorrectable' \
  -e 'Current_Pending_Sector' \
  -e 'Raw_Read_Error_Rate' \
  -e 'Hardware_ECC_Recovered'
done

參考資料

_EOF_

沒有留言:

張貼留言