恢复损坏的降级 btrfs RAID6,需要手动清除 inode

恢复损坏的降级 btrfs RAID6,需要手动清除 inode

我有一个 btrfs RAID 6。我的硬盘很差,一个坏了,另一个在恢复过程中也坏了。现在我没有奇偶校验,无法重建——第三个驱动器在几个扇区上抛出了读取错误。由于我无法删除它,我使用 dd 用零覆盖了坏扇区。现在在重建过程中,我收到一些错误,如下所示:
BTRFS 信息(设备 sdc):csum 失败 ino 257 关闭 3985240064 csum 2566472073 预期 csum 1136819032
...然后
内核 BUG 在 /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 或以其他方式修复我的文件系统有什么建议吗?

答案1

如果您的 RAID 阵列中有三块硬盘发生故障,则恢复该 RAID 阵列使用的可能性很小。抱歉。

我很遗憾地说,您唯一的选择就是更换故障磁盘、重新创建 raidset,然后从最近的备份集中恢复信息。

您意识到 btrfs 仍然相对处于实验阶段,因此我推测您已经通过保留良好的备份为这种情况做好了准备。

如果您想要更稳定的系统,我建议使用经过验证的 ext4 文件系统,而不是更具实验性的 btrfs。

相关内容