ファイルシステムで使用されていないデバイスのすべてのブロックを見つけます。

ファイルシステムで使用されていないデバイスのすべてのブロックを見つけます。

現在デバイスで使用されているすべてのブロックを一覧表示する方法いいえファイルシステムで使用されますか?問題のファイルシステムは、2つのLUKS暗号化ハードドライブとArch Linuxを備えたbtrfs RAID1です。

私はfstrim /path/to/fsすべてをblktrace。これは実際には機能しますが、ハードドライブがTRIMをサポートしている場合にのみ機能します。いいえここの状況。 (私はdmcryptTRIMを許可するように設定しました)。

この問題の原因は次のとおりです。

2つの既存のハードドライブがRAIDを形成し、mdadm一番上にLVM + ext4があります。これで、2つのハードドライブがLUKS、btrfs RAID1に設定され、データがここに書き込まれます。

残念ながら、上書き操作の前にすべてがバックアップされていませんでした。ハードドライブにいいえLUKSが開かれる前に任意のデータで上書きされたため、まだ何も記録されていない現在のファイルシステムのどこかに古いデータが存在します(これを確認しました)。

今はできるだけ回復しようとしています。私の回復戦略は次のとおりです。

btrfsファイルシステムで使用されているすべてが機能しているようです。いいえ古いデータです。だから、現在デバイス上のすべてのブロックを探したいと思います。いいえbtrfsで使用中です。次に、未使用のすべてのブロックを含む、このハードドライブと同じサイズのHDイメージを作成しようとしています。それは私の古いデータになります。

実際、実際のトリムを発行する必要はなく、トリムがどのような役割を果たしているのかを知るだけです。または、ファイルシステムで現在使用されていないすべてのブロックを見つけます。これが私の質問でした。

解決策は何ですか?

関連情報