LVMはその構成をどこに保存しますか?


17

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

  • pvcreate /dev/sdbに任意のメタデータを書きますか/dev/sdb?もしそうなら、何が書かれていますか?
  • vgcreate data /dev/sdb /dev/sdcボリュームグループの構成はどこに保存されますか?
  • LVMは論理エクステントと物理エクステント間のマッピングをどこに保存しますか?
  • LVM構成にマシン固有の構成はありますか?
  • 論理ボリュームに構成された2つのディスクを持つマシンがあり、それらのディスクをマシンから取り出して別のマシンに配置し、論理ボリュームが新しいマシンで動作することを期待できますか?

回答:


10

pvcreate / dev / sdbはメタデータを/ dev / sdbに書き込みますか?もしそうなら、何が書かれていますか?

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

 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/file上記のコマンドで作成されたPV、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つのディスクを持つマシンがあり、それらのディスクをマシンから取り出して別のマシンに配置し、論理ボリュームが新しいマシンで動作することを期待できますか?

はい、できます。

ボリュームグループを別のホストに移行できます。プラグアンドプレイではありませんが、これを行う手順は非常に簡単です。これを行う方法は、オンラインで利用可能な多数のチュートリアルがあります。

このserverfaultスレッドでは、ddコマンドを使用してLVMパーティションを別のホストに移動する方法について説明しています。


14

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は機能します。


3
  • pvcreate /dev/sdbに任意のメタデータを書きますか/dev/sdb?もしそうなら、何が書かれていますか?
  • vgcreate data /dev/sdb /dev/sdcボリュームグループの構成はどこに保存されますか?

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

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

より不明瞭なPVラベル/ヘッダー情報については、1つの概要説明がLVM Internalsにあります。http://mo.morsi.org/blog/node/392(ラベルを解析できるRubyスクリプトへのリンクが含まれています) / header 、lvm-parser.rb.)

同様のPythonモジュールはpvdissecthttp://www.syslinux.org/wiki/index.php?title=Development/LVM_supportの下部にあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.