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,现在一切都恢复正常。

干杯!

相关内容