Hard-Drive

SMART 自檢與壞塊有什麼關係?

  • February 4, 2016

smartctl 工具允許啟動長時間的自檢 ( smartctl -t long /dev/sda)。但是badblocks,我也可以在驅動器上執行。兩者有什麼關係?如果 badblocks 檢測到壞塊,驅動器是否會自動更新其 SMART 值(例如,通過更新其重新定位的扇區數)?壞塊可以替換smartctl -t long,反之亦然?

我不得不不同意voretaq7 ——SMART 不是魔法。當您有一個驅動器並且其中一個扇區出現故障時,您將無法再從中讀取數據。因此,現代磁碟驅動器上完全有可能存在無法讀取的文件。當失敗後首次訪問時,SMART 會將這個不可讀的扇區標記為“目前待處理”和“離線不可糾正”。

但是當再次寫入該扇區時,它將被重新映射到重新映射空間,未標記並且“Reallocated_Sector_Ct”計數器將增加。然後整個驅動器將再次可讀。

smartctl -t long測試很有用——它將測試整個驅動器空間中是否有不可讀的扇區,並記錄並標記為“目前待處理”和“離線不可糾正”執行時遇到的第一個壞扇區。我正在將我的伺服器配置為每週在每個驅動器上執行一次這個長時間的測試。它不會過多影響正常的驅動器功能,因為作業系統請求始終優先於 SMART 掃描。

與在伺服器上一樣,我總是在 RAID1 鏡像中執行磁碟,因此當長時間測試發現壞扇區時,我可以使用鏡像中另一個驅動器的數據重寫其內容,從而強制重新分配。

badblocks有時也很有用——例如它會測試整個驅動器並且不會在第一個錯誤時停止。它可以測試單個分區或驅動器的任何其他部分。您可以使用它來快速檢查壞塊是否已成功重新分配。

引用自:https://serverfault.com/questions/506281