Raid

恢復損壞的降級 btrfs RAID6,需要手動清除 inode

  • August 16, 2014

我有一個 btrfs RAID 6。我的硬碟驅動器很糟糕,一個出現故障,另一個在恢復過程中出現故障。現在我沒有奇偶校驗並且無法重建——第三個驅動器在幾個扇區上拋出讀取錯誤。由於我無法刪除它,我使用 dd 用零覆蓋了壞扇區。現在在重建過程中,我遇到了一些類似這樣的錯誤:

BTRFS info (device sdc): csum failed ino 257 off 3985240064 csum 2566472073 expected csum 1136819032

…然後

核心BUG at /build/linux-SMWX37/linux-3.12.9/fs /btrfs/extent_io.c:2082!

…重建停止

我認為 btrfs 不知道在沒有任何奇偶校驗的情況下做什麼來修復,因此它會引發錯誤併中止。

我想我可以刪除受影響的文件,但 inode 257 沒有映射到任何東西。

btrfs inspect-internal inode-resolve -v 257 /data

ioctl ret=-1,錯誤:沒有這樣的文件或目錄

有關手動清除 inode 257 或以其他方式修復我的文件系統的任何建議?

如果您的 RAID 陣列包含三個故障驅動器,則將 raidset 重新投入使用的可能性很小。對不起。

我不敢說您唯一的選擇是更換故障磁碟,重新創建 raidset,然後從您最近的備份集中恢復資訊。

您意識到 btrfs 仍然是相對實驗性的,因此我認為您已通過保持良好的備份為這種情況做好了準備。

如果你想要更穩定的東西,我建議使用經過驗證的 ext4 文件系統,而不是更多的實驗性 btrfs。

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