btrfs - 故障磁碟產生校驗和錯誤,更換磁碟,錯誤仍然存在

btrfs - 故障磁碟產生校驗和錯誤,更換磁碟,錯誤仍然存在

我在 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. 平衡時忽略誤差

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

謝謝!

答案1

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

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

重新格式化後,我再次將資料傳回檔案系統,運行 abtrfs filesystem balance和 a btrfs filesystem scrub,現在一切都恢復正常了。

乾杯!

相關內容