LVを作成するときに、LV(データ)が特定の物理デバイスにのみ書き込まれるように指定できます(lvmが適切であると判断された場所にデータを配置することを許可するのではなく)。
例えば。
lvcreate -L 100G -n lvOnSdb1 theVG /dev/sdb1
lvcreateのマニュアルページから:
新しいLVで使用するPVを制御するには、コマンドラインの最後に1つ以上のPVを位置引数として指定します。 lvcreate は、指定された PV でのみ物理拡張領域を割り当てます。
しかし、それが完了した後でどうやって知ることができますか? LVは特定のPVに制限されていますか?
編集この質問は私の誤解によって引き起こされました。 LVサイズ/サイズ調整が必要だったので/LVが使用されたので、プールのさまざまな部分で実際のメディアを使用するLVMだと思いました。 。したがって、後で別途指示しない限り、現在リストされているPVのみを使用してください。 (この問題を明確にしてくれたVojtech Trefnyに感謝します!)
答え1
これを使用して、そのlvdisplay -m
セグメントが割り当てられているLVセグメントとPVを表示できます。
--- Logical volume ---
LV Name root
...
Segments 1
...
--- Segments ---
Logical extents 0 to 17916:
Type linear
Physical volume /dev/mapper/luks-dfcda59b-1322-4705-bb04-e09a72b2d678
Physical extents 210601 to 228517
私の論理ボリュームにはセグメントが1つだけあり、暗号化されたPVに配置されていることがわかりますroot
(複数のPVにまたがる複数のLVを持つ物理ボリュームが1つだけあり、ここにはより多くのセグメントが表示されます)。
2つのセグメントを持つ論理ボリュームの例(1つのPVにのみ適しています):
# lvdisplay -m test/lvol0
--- Logical volume ---
LV Name lvol0
...
Segments 2
...
--- Segments ---
Logical extents 0 to 123:
Type linear
Physical volume /dev/sdb
Physical extents 0 to 123
Logical extents 124 to 162:
Type linear
Physical volume /dev/sdc
Physical extents 0 to 38
編集:LVがリストされているPVに手動で配置されているかどうかはわかりません。lvcreate
オプションのパラメータは、生成されたLVではなく「生成」操作にのみ影響します。指定されたPVを使用して生成されたLVとLVの間に違いはありません。特定のPVに割り当てられたLVのLVMによって作成されます。同様のコマンドを使用する将来の操作には影響しませんlvresize
(PVを指定することもできますlvresize
)。
どの lvm コマンドが実行されたかを確認するには、ロギングとログファイルを設定できます。lvm.conf
。