LVMは設定をどこに保存しますか?

LVMは設定をどこに保存しますか?

LVMが設定データを保存する方法/場所を理解しようとしています。

  • pvcreate /dev/sdbメタデータが記録されました/dev/sdbか?それでは、何を書くべきですか?
  • vgcreate data /dev/sdb /dev/sdcボリュームグループの構成はどこに保存されますか?
  • LVMは、論理スコープと物理スコープ間のマッピングをどこに保存しますか?
  • LVM構成にシステム固有の構成はありますか?
  • 自分のコンピュータに論理ボリュームとして構成された2つのディスクがあると仮定すると、そのディスクをコンピュータから取り出して別のコンピュータに挿入し、論理ボリュームが新しいコンピュータで動作することを期待できますか?

答え1

pvcreate /dev/sdbメタデータが記録されました/dev/sdbか?それでは、何を書くべきですか?

はい、しかし、ブロックデバイスをLVM PVとしてマークすることは、ヘッダーと識別データに過ぎません。ボリュームグループを作成すると、「実際の」メタデータが表示されます。

vgcreate data /dev/sdb /dev/sdcボリュームグループの構成はどこに保存されますか?

ボリュームグループに属する各物理ボリュームで。デフォルトでは、同じメタデータコピーがボリュームグループ内の各物理ボリュームの各メタデータ領域に保持されます。 LVMボリュームグループメタデータはサイズが小さく、ASCII形式で保存されます。

LVMは、論理スコープと物理スコープ間のマッピングをどこに保存しますか?

これは上記のボリュームグループメタデータの一部です。

LVM構成にシステム固有の構成はありますか?

習慣。 VGの一部であるPVは、PVが生成されたときに割り当てられた一意の識別子を使用して検索および組み合わせられます。

自分のコンピュータに論理ボリュームとして構成された2つのディスクがあると仮定すると、そのディスクをコンピュータから取り出して別のコンピュータに挿入し、論理ボリュームが新しいコンピュータで動作することを期待できますか?

はい。 VGを構成するすべてのPVが存在する場合、VGのLVが動作します。

答え2

pvcreate /dev/sdbは/dev/sdbにメタデータを記録しますか?それでは、何を書くべきですか?

-vvコマンドをより冗長にするフラグをコマンドに渡すと、pvcreatepvcreateがディスクにメタデータ領域を作成することがわかります。

 Writing physical volume data to disk "/dev/sdc1"
        lvmcache: /dev/sdc1: now in VG #orphans_lvm2 (#orphans_lvm2) with 0 mdas
        Creating metadata area on /dev/sdc1 at sector 8 size 2040 sectors
        Opened /dev/sdc1 RW O_DIRECT
        /dev/sdc1: block size is 1024 bytes
        /dev/sdc1: physical block size is 512 bytes
        /dev/sdc1: Preparing PV label header xxx.xxxxx.xxxxxxxxxxxxxxx

      /dev/sdc1: Writing label to sector 1 with stored offset 32.

メタデータ領域には何が記録されますか?

メタデータを表示できるコマンドはわかりませんが、そのコマンドを使用するとメタデータをバックアップでき、生成されたバックアップvgcfgbackupファイルを開いてメタデータを表示できます。

vgcfgbackup -f /path/of/your/choice/file <your_vg_name>

上記のコマンドで生成されたファイルには、/path/of/your/choice/filePV、VG、およびLVMメタデータが含まれます。セクションの1つは次のとおりです。

physical_volumes {

                pv0 {
                        id = "abCDe-TuvwX-DEfgh-daEb-Xys-6Efcgh-LkmNo"
                        device = "/dev/sdc1"    # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 10477194     # 4.99592 Gigabytes
                        pe_start = 2048
                        pe_count = 1278 # 4.99219 Gigabytes
                }
        }

/etc/lvmディレクトリの内容とコマンドの出力を確認することをお勧めします。lvm dumpconfig

自分のコンピュータに論理ボリュームとして構成された2つのディスクがあると仮定すると、そのディスクをコンピュータから取り出して別のコンピュータに挿入し、論理ボリュームが新しいコンピュータで動作することを期待できますか?

そうそうできます。

ボリュームグループを別のホストに移行できます。まさにプラグアンドプレイではありませんが、これを行うプロセスは非常に簡単です。これを行うのに役立つ多くのチュートリアルがオンラインにあります。

このサーバー障害スレッドコマンドを使用してLVMパーティションを別のホストに移動する方法を説明しますdd

答え3

  • pvcreate /dev/sdbメタデータが記録されました/dev/sdbか?それでは、何を書くべきですか?
  • vgcreate data /dev/sdb /dev/sdcボリュームグループの構成はどこに保存されますか?

pvcreatePVの「タグ」と「ヘッダ」を作成し、ボリュームのメタデータ用のスペースを割り当てます(optionsで指定--[pv]metadata)。ヘッダーは、このPVのメタデータ領域へのポインタを含むバイナリデータ構造です。

このvgcreateコマンドは、ボリュームグループの現在の状態のテキスト記述を関連PVに以前に割り当てられたメタデータ領域(--[vg]metadatacopiesオプションなどによって制御されます)に保存します。これはコマンドサポートの説明でvgcfgbackupあり、ほとんどの場合、人々がチェックに興味を持っているメタデータです。

より曖昧なPVタグ/ヘッダ情報:概要は以下にあります。LVMの内部構造http://mo.morsi.org/blog/node/392(ここにはタグ/タイトルを解析できるRubyスクリプトへのリンクが含まれていますlvm-parser.rb。)

同様のPythonモジュールはpvdissect次の場所にあります。http://www.syslinux.org/wiki/index.php?title=Development/LVM_support

関連情報