LVM と LUKS を使用した多層ストレージ仮想化のブロック図 / リストを作成するためのツールはありますか?

LVM と LUKS を使用した多層ストレージ仮想化のブロック図 / リストを作成するためのツールはありますか?

複数のストレージ仮想化システムを一緒に使用する場合、関連するさまざまな関係の構造を理解するのは複雑で時間がかかります。これらの関係を図式化して要約するために使用できるツールは何ですか?

私が特に興味を持っているのはLinuxのライトVMそしてLUKS。これらを重ねて配置するシステムです。私の目標は、ブロック図レイヤーは次のようになります (無関係な複雑さを排除するために少し簡略化しています)。

  1. LVM 論理ボリューム (LV)
  2. LVM ボリューム グループ (VG)
  3. LUKS パーティション == LVM 物理ボリューム (PV)
  4. 物理パーティション
  5. 物理ディスク

一般に、VG は LV と PV の間で多対多の関係を形成しますが、私のケースでは各 VG が単一の PV にのみ関連付けられているため、より単純であることに注意してください。

ブロック ダイアグラムには、物理​​ディスク デバイス ファイル名、PV、VG、LV 名、デバイス マッパー デバイス名、およびディスク UUID (使用可能な場合) などの情報がラベル付けされることになります。

私はブロック図を描きました。システムに関する事前知識に加えて、12の情報源を使用したこと、cryptsetupおよびmountコマンドを実行しながらシステムが時間とともに変化するのを観察したことが分かりました。それを描くことは、知識を蓄積するための苦痛で時間のかかる反復的なプロセスであり、ある種の論理的問題以下は私が使用したコマンドの一部です。

ls -l /dev/mapper/*
ls -l /dev/disk/by-uuid/*
dmsetup info
lvdisplay
ls -l /dev/mapper/<LV name>
pvs
vgs
lvs
cat /etc/fstab
cat /etc/crypttab
fdisk -l /dev/<physical disk device name>
mount

この種のストレージ仮想化システム、特に LVM や LUKS などの Linux 固有のシステムの概要を作成するために使用できるツールは何ですか? ブロック図の代わりにプレーンテキストのリレーショナル リストで満足します。

私の場合、さらに複雑な点がいくつかありました。これについては、さらに複雑になる可能性があることを示すために説明しますが、上記の状況は、上記で説明したシステムの一部分だけブロック図を描くのに時間がかかるほど複雑だったことに注意してください。これらの複雑さを取り除けば問題を簡素化できることはわかっていますので、その点についてはスペースを無駄にしないでください。

1 つの複雑な点は、LUKS/LVM 階層化が上記とは逆になっている古いパーティションもいくつかあることです。つまり、

(物理パーティション == LVM PV) -> VG -> LV -> LUKS 暗号化デバイス -> LUKS プレーンテキスト デバイス

の代わりに:

物理パーティション -> LUKS 暗号化デバイス -> (LUKS プレーンテキスト デバイス == LVM PV) -> VG -> LV

さらに、LUKS で暗号化されたデバイスの 1 つに誤ったラベルが付けられており、実際とは異なる物理ディスク上にあると示唆されていました。

明らかに、他の複雑な問題も発生する可能性があります。最も明らかなのは、単一のボリューム グループが複数の物理ボリュームに関連付けられている場合です。その場合、複数のブロック ダイアグラムが必要になります (単純な場合は 2 つ、階層化が複雑な場合はそれ以上)。

関連情報