LVMの上に再帰的にLVMを作成しようとしましたが、この機能を提供していないようです。私がする方法は次のとおりです。
まず、物理デバイスに物理ボリュームとボリュームグループを作成しました。
$ vgcreate vgtest /dev/sda
Physical volume "/dev/sda" successfully created.
Volume group "vgtest" successfully created
vgtest
次に、生成された論理ボリュームの上に論理ボリュームを生成しました。
$ lvcreate -n lvtest -L 1G vgtest
Logical volume "lvtest" created.
その後、論理ボリュームにLVMを作成しようとしましたが、lvtest
次のように失敗しました。
$ vgcreate vgtest_recursive /dev/vgtest/lvtest
Cannot use /dev/vgtest/lvtest: device is an LV
LVMを使用してデバイス上でのみボリュームを作成できますが、これはluksの機能と一致しません。 luksを使用すると、他のデバイスでもすべてのファイルにファイルを生成できます。別のLVM内にLVMを繰り返し作成したい場合は、LVMの2つの層の間にlukを利用する必要があります。
LVMデザインの選択の根拠は何ですか?これは、「すべてはファイルです」というLinuxの基本原則に準拠しているようです。
答え1
「ネスト」LVMはデフォルトで無効になっています。 VGからVGを作成するには、まず次のことを行う必要がありますscan_lvs
。LVMの構成。これらの構成は通常、仮想化(ゲストのバックアップブロックデバイスとして使用されるLV)と組み合わせて使用されるため、通常、ホストとゲストLVMツール間の競合を回避するためにこれらのVGを使用しません。このscan_lvs
プロパティの説明では、/etc/lvm/lvm.conf
これについてさらに詳しく説明します。
# Configuration option devices/scan_lvs.
# Scan LVM LVs for layered PVs, allowing LVs to be used as PVs.
# When 1, LVM will detect PVs layered on LVs, and caution must be
# taken to avoid a host accessing a layered VG that may not belong
# to it, e.g. from a guest image. This generally requires excluding
# the LVs with device filters. Also, when this setting is enabled,
# every LVM command will scan every active LV on the system (unless
# filtered), which can cause performance problems on systems with
# many active LVs. When this setting is 0, LVM will not detect or
# use PVs that exist on LVs, and will not allow a PV to be created on
# an LV. The LVs are ignored using a built in device filter that
# identifies and excludes LVs.
# This configuration option has an automatic default value.
# scan_lvs = 0
答え2
LVMの設計を間違って理解したようです。ボリュームグループは物理ボリュームで構成されます。すべてのブロックデバイスで作成できます。したがって、それを含むVGをpvcreate
最初に作成する必要があります。lvtest