Linux

e2fsck:壞塊消失!

  • December 9, 2016

先生們,

我需要一些關於 e2fsck 的父親般的建議:我有一個磁碟已經變得暴躁,並且“e2fsck -ccv”確實顯示了壞塊。但是,我重新分區了磁碟,現在同樣的命令報告磁碟非常健康!我的壞塊怎麼了?當然分區現在都是空的,但壞塊肯定還是壞塊嗎?磁碟的內部管理是否以某種方式將這些塊標記為甚至 e2fsck 都看不到它們的地步?還是 e2fsck 不適用於空分區?還是以某種方式進行了修復?我怎樣才能知道?

並且:使用“-c”與“-cc”的實用性是什麼,也就是說,我何時何地需要讀寫測試與只讀測試?

並且:重新分區後,我嘗試了這個:“mkfs.ext4 -vcc …”,希望在創建 FS 的同時檢查磁碟,但它花了幾個小時。相比之下:創建 FS 後的“e2fsck -ccvy …”要快得多,對於具有 12 個分區的 500GB 磁碟不到一個小時。為什麼?在開始fscking之前,需要了解生活的事實。

文件系統壞塊列表已過時(忽略快閃記憶體文件系統,因為您在談論 ext4)。壞塊由驅動器重新映射。查找錯誤 - SMART 計數器中應該有這些錯誤的永久日誌。如果您看到一個或多個錯誤/“壞塊”/“壞扇區”,您應該認為磁碟不可信。

如果您的重要數據被冗餘保存(RAID、備份),有些人會開發一些方法來在測試期間重新建立對驅動器的信任。

$$ * $$ 您一開始沒有使用 RAID,所以我無法推薦這個。 這些都是生活的事實。mkfs 與 fsck 的行為是不幸的。讀寫測試對於對新購買的驅動器進行壓力測試仍然*可能有用。*這應該需要一個多小時,因為磁碟 IO 速度在 100MB/s 左右,並且您想要寫入和讀取整個磁碟。(現代磁碟的相對性能也會影響某些 RAID 模式的可行性)。我還注意到badblocks -w以不同的模式執行多個通道,這可以解釋為什麼需要這麼長時間。由於壞塊列表已過時,您可以直接執行壞塊並查找任何錯誤。

但是,考慮到這需要多長時間並且您在此期間無法使用磁碟,您可能更喜歡使用最長的可用 SMART 測試,或者只是dd if=/dev/sdX bs=10M of=/dev/null看看是否有任何讀取錯誤。

GNOME 磁碟中提供了 SMART 功能。(它還具有基準測試功能)。錯誤計數器以扇區為單位;您可以查看所有顯示“扇區”的計數器並檢查它們是否都為零。聽起來您可能在“重新分配的扇區”下有一些


$$ * $$將新數據寫入壞扇區將清除錯誤。這通過將邏輯扇區寫入“備用區域”中的不同物理扇區來工作,並且驅動器將確保重新映射邏輯扇區的未來讀取。

引用自:https://unix.stackexchange.com/questions/329249