smartctl檢測物理磁碟健康度的測試結果解讀
阿新 • • 發佈:2019-02-20
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(舉例)進行修復。
下面也提供了一種比較高階的手動強行修復壞塊的辦法,未經嘗試。