破損したbtrfsにバックアップを正しく復元する方法は?

破損したbtrfsにバックアップを正しく復元する方法は?

私のbtrfsはある程度破損しており、ログは次のとおりです。

BTRFS warning (device dm-0): csum failed root 261 ino 638264 off 6221824 csum 0x3315c12e expected csum 0xc1eecea6 mirror 1
BTRFS error (device dm-0): bdev /dev/mapper/cryptroot errs: wr 16, rd 1, flush 0, corrupt 16112, gen 0

また、破損していない外部ストレージのスナップショットもあります。回復するには何を使うべきですか? btrfsの送受信またはrsyncを検討していますが、ファイルの破損を処理し、メタを混乱させることができるかどうかはわかりません。ディスク全体を再フォーマット、書き換え、再暗号化することもできますが、時間がかかります。

btrfs checkチェックサムエラーのみが報告されます。btrfs check --repair役に立ちません。

修正する:

だから私は回復を使用しましたrsync -aiAXHSc --cc=xxh3 --inplace --del。今、すべてがうまくいきます。かつて腐敗したすべてが今では良いです。しかし。

btrfs scrubそれでも19000ブロックのcsumエラーを報告します。いくつかの問題があるinodeを確認するために使用されますbtrfs inspect-internal inode-resolve。それらのほとんどは戻ってきましたERROR: logical ino ioctl: No such file or directory。そのうちのいくつかはまったく問題なくファイルを返しました。 csumエラーのあるログに記載されているファイルは正常または存在しません。 btrfs check以前と同様に、csumエラーのみが返されます。

何が起こったのかわかりません。

関連情報