再インストール後のLVMデータ復旧

再インストール後のLVMデータ復旧

私のコンピュータにはSSDとHDDがあります。 SSDはシステム用、HDDはデータ保存用です。 OSをDebianからUbuntuに変更しましたが、HDDにlvmをバックアップすることを忘れました。もちろん、データを失いました。同じサイズの新しい論理ボリュームを再作成しようとしました。ただし、xfs_repairを実行すると、「有効なセカンダリスーパーブロックが見つかりません」というメッセージが表示されます。役に立たないようです。新しい論理ボリュームを作成したため、lvscanソリューションも機能しませんでした。それでは、データを回復する方法はありませんか?

ベストアンサー1

状況は複雑です。私たちは実際に何が起こっているのかわからず、あなたの試みはおそらく役に立ちません。

デフォルトでは、論理ボリュームを再作成すると署名が消去され、最初の4KiBのデータがゼロになります。つまり、新しく作成されたLVに古いファイルシステムが表示されないようにします。

   -W|--wipesignatures y|n
          Controls detection and subsequent wiping of signatures on new LVs.

   -Z|--zero y|n
          Controls zeroing of the first 4KiB of data in the new LV.

SSDの場合、これを行うとlvremoveissue_discards = 1lvmconfigで)またはmkfs

LVMが異なるデータオフセットを使用することも可能です。この場合、生成しようとしているすべてのLVも無効なオフセットになります。 LVM がパーティションにあり、パーティション自体が正しいオフセットで再生成されなかった場合も同様です。

論理ボリュームは任意の方法で割り当てることができます(または複数の論理ボリュームがある場合はサイズを変更できます)。ディスクの単一の線形ブロック(パーティションなど)でデータを使用できるという保証はありません。

したがって、失われたLVを回復するには、LVMメタデータを詳しく知る必要があります。したがって、LVM はメタデータのバックアップを保持し/etc/lvm/{archive,backup}ますが、メタデータが消去、空白、または削除された場合は役に立ちません。ルートパーティションもフォーマットした場合、そのバックアップが欠落する可能性があります。とにかく確認してみてください。ラッキーかもしれません。

物理ボリューム自体にもメタデータのバックアップがありますが、それをpvcreate / vgcreateすると、そのバックアップも消える可能性があります。それでも、次のことを確認するのは悪いことではありません。

$ strings -w /dev/disk | grep -A 1000 'Generated by LVM2'
# Generated by LVM2 version 2.02.103(2) (2013-10-04): Thu Oct 31 11:42:36 2013
...

ここでは、手動または回復操作に役立つ可能性がある割り当て情報の一部を見つけることができますvgcfgrestore。 (タイムスタンプを参照してください。事故発生前のタイムスタンプを探しています。)

それでは、データを回復する方法はありませんか?

LVが単一のディスク上にあり、何らかの方法で断片化されておらず、まだ存在する場合(削除されていない場合)、パーティションtestdisk回復ツール(LVMなしの通常のパーティションなど)を使用して回復することもできます。

パーティションは論理アドレッシングをサポートしていないため、LVをパーティションにのみマッピングできます(複数のセグメントが一緒にマッピングされておらず、物理的にすべて1つのセグメントにある場合)。

データが暗号化されていない限り、ファイルシステム自体を回復できない場合、photorec一部の断片化されていない個々のファイルが見つかる可能性があります(コンテンツ、元のファイル名、および構造のみが失われます)。

おすすめ記事