Storage

btrfs - 失敗的磁碟生成校驗和錯誤,磁碟已更換,錯誤仍然存在

  • April 12, 2022

我在 btrfs raid1 陣列中有一對 3TB 磁碟。

其中一個磁碟開始出現故障(smartd 顯示壞扇區),因此我購買了一對新的 8TB 驅動器來替換陣列中的兩個磁碟。

我將兩者都替換為btrfs replace,然後執行了btrfs balance- 失敗並顯示以下消息:

[ 5063.136378] BTRFS error (device sdc): parent transid verify failed on 5153170751488 wanted 1433374 found 1417912
[ 5063.140428] BTRFS error (device sdc): parent transid verify failed on 5153170751488 wanted 1433374 found 1417912

現在,我在更換磁碟之前就已經看到了這些消息,但是現在由於兩個磁碟都已更換,我相信它與btrfs.

我的數據已完全備份**,文件系統線上且工作正常**,但由於此錯誤,我無法進行平衡。執行清理會產生少量無法糾正的錯誤,就像我更換磁碟之前一樣。

我想知道我怎麼能,也許:

  1. 找出損壞的文件並從備份中恢復它們
  2. 重置文件系統上的事務以消除錯誤
  3. 平衡時忽略錯誤

…或任何其他合理的解決方案。

謝謝!

我做了一些額外的嘗試來解決這個問題,最終只有一個乾淨的文件系統重新格式化解決了這個問題。

一旦我將數據從磁碟中轉移出來,我就嘗試了兩個危險的命令 -btrfs check --init-csum-tree和一個btrfs check --repair- 這兩個都沒有造成任何傷害,但沒有解決問題。

重新格式化後,我再次將數據傳輸回文件系統,執行 abtrfs filesystem balance和 a btrfs filesystem scrub,現在一切正常。

乾杯!

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