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
コマンドをより冗長にするフラグをコマンドに渡すと、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つのディスクがあると仮定すると、そのディスクをコンピュータから取り出して別のコンピュータに挿入し、論理ボリュームが新しいコンピュータで動作することを期待できますか?
そうそうできます。
ボリュームグループを別のホストに移行できます。まさにプラグアンドプレイではありませんが、これを行うプロセスは非常に簡単です。これを行うのに役立つ多くのチュートリアルがオンラインにあります。
このサーバー障害スレッドコマンドを使用してLVMパーティションを別のホストに移動する方法を説明しますdd
。
答え3
pvcreate /dev/sdb
メタデータが記録されました/dev/sdb
か?それでは、何を書くべきですか?vgcreate data /dev/sdb /dev/sdc
ボリュームグループの構成はどこに保存されますか?
pvcreate
PVの「タグ」と「ヘッダ」を作成し、ボリュームのメタデータ用のスペースを割り当てます(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。