LVM:dm-Xノードの内容を調べる方法は?

LVM:dm-Xノードの内容を調べる方法は?

LVMのdm-X(例:dm-0、dm-1、dm-2、dm-3など)ノードの内容を調べることは可能ですか?

Linuxシステムで緊急に多くのデータを回復する必要がありますが、このノードで見つけることができると思います。

(私のデータが残りの表示可能なdm-Xノードにない場合は、フォレンジックIT技術者を雇って何らかの方法ですべてのハードドライブをスキャンする必要があるようです)。

ベストアンサー1

/dev/dm-*各ノードが何に該当するかを知りたい場合は、dmsetup ls -o blkdevnameお知らせします。

各ノードにどの物理デバイスが含まれているかを知る必要がある場合に役立ちますdm-Xdmsetup ls --tree -o blkdevname

このオプションがサポートされていないほど年齢が多い場合は省略でき、テーブルにデバイス番号がdmsetup表示されます。実行すると、ファイルサイズの代わりにデバイス番号が形式で表示されます。-o blkdevname(major:minor)ls -l /dev/dm-*major, minor

各マッピングの種類を識別するのに役立ちますdmsetup table

各デバイスノードの「コンテンツ」は、dm-X単にマッピングによって表示される基本デバイスのコンテンツである。file -s /dev/dm-Xそのファイルシステムの種類(LABELとUUIDも可能)を識別できます。デバイスにファイルシステムがある場合は、すべてが正常であると仮定して、簡単にマウントして正常にアクセスできます。しかし、あなたがその言葉に言及したので、また覆う、ディスクエラーなどの問題があり、状況が複雑になるようです。

したがって、回復状況で必要な場合に備えて、いくつかのヒントは次のとおりです。

失敗したシステムがまだ実行されている場合は、dmsetup table可能であればシステムを再起動する前に情報を入手してください。システムが再起動すると、/etc/lvm/backup現在のLVM構成のバックアップが人が読める形式で含まれ、各構成変更前/etc/lvm/archiveの複数の古い構成バックアップが含まれます。

linear最も簡単なマッピングでは、ディスクブロックセグメントを別のディスクデバイス上の同じサイズのセグメントにマッピングします。linearLVを作成するときにより高度な機能(ストライピングやミラーリングなど)を明示的に指定しない限り、LVMはマッピングを使用します。

たとえば、実行すると、dmsetup table /dev/dm-3次のように表示されます。

0 293601280 linear 8:1 2048
293601280 209715200 linear 8:1 817891328

これは、デバイスがdm-32つの線形マップで構成されていることを意味します。最初のブロック(ブロック#0から始まるdm-3)は293601280ブロックのセグメントで、/dev/sda1ブロック#2048(ブロックデバイス、週番号8、サブデバイス1 =)から始まり、デバイス8:1に線形にマッピングされます。 2番目のマッピングはブロック#293601280からdm-3209715200ブロックに対して続き、/dev/sda1ブロック#817891328で線形にマッピングされます。これは、一度拡張されたデフォルトのLVM論理ボリュームを見ると次のようになりますdmsetup table

その中に含まれているファイルシステムをdm-3イメージファイルまたは他のデバイスにコピーするには、次の2つのddコマンドを実行できます。 (またはddrescueディスクにエラーがある場合)

dd if=/dev/sda1 bs=512 skip=2048 count=293601280 >/rescue/image
dd if=/dev/sda1 bs=512 skip=817891328 count=209715200 >>/rescue/image

一般的な状況では、これは単に次のこととまったく同じでなければなりません。

dd if=/dev/dm-3 bs=512 >/rescue/image

最初。

おすすめ記事