web-dev-qa-db-ja.com

破損した劣化したbtrfsRAID6を回復するには、iノードを手動でクリアする必要があります

私はbtrfsRAID 6を持っています。ハードドライブがお粗末で、1つが故障し、もう1つがリカバリ中に故障しました。現在、パリティがなく、再構築できません。3番目のドライブがいくつかのセクターで読み取りエラーをスローしています。削除できないので、ddを使用して不良セクタをゼロで上書きしました。再構築中に、次のようなエラーが発生します。
BTRFS情報(デバイスsdc):csumが257オフで失敗しました3985240064 csum2566472073予想されるcsum1136819032
...それから
/build/linux-SMWX37/linux-3.12.9/fs/btrfs/extent_io.c:2082のカーネルバグ!
...再構築が停止します
btrfsは、修復のためのパリティがないとどうなるかわからないと思うので、エラーをスローして中止します。

影響を受けたファイルを削除するだけでよいと思いましたが、iノード257は何にもマップされません。
btrfs inspect-internal inode-resolve -v 257/data
ioctl ret = -1、エラー:そのようなファイルまたはディレクトリはありません

Iノード257を手動でクリアする、またはファイルシステムを修復するための提案はありますか?

1
Jacob Stoner

3つの障害のあるドライブがあるRAIDアレイがある場合、RAIDセットをサービスに戻す可能性は低くなります。ごめんなさい。

唯一の選択肢は、障害が発生したディスクを交換し、レイドセットを再作成してから、最新のバックアップセットから情報を復元することです。

あなたはbtrfsがまだ比較的実験的であることを理解しているので、適切なバックアップを維持することでこの状況に備えていると思います。

より安定したものが必要な場合は、より実験的なbtrfの代わりに、実績のあるext4ファイルシステムを使用することをお勧めします。

4
mdpc