KVMホスト、ゲストにLVを追加

KVMホスト、ゲストにLVを追加

ソフトウェアRAID 10アレイを備えたKVMホストがあります。ソフトウェアRAID 10アレイはホストのPVであり、VGを含みます。

ホストレベルで使用される複数のLV(KVMゲストファイル.img用のデータストア)があります。

通常、ゲストに新しいディスクを追加するときにホストにLVを作成し、それをゲスト設定に追加します。次に、pvcreateブロックデバイス(パーティショニングなし)から直接、vgcreateゲスト内の新しいブロックデバイスでlvcreatemkfs

pvcreateホストでLVのサイズを変更するときにステップが1段階減少したため、以前はブロックデバイスを分割することには気づいていませんでした。欠点は、理論的には、一部のシステムがLVMメタデータを認識しないため、非分割ブロックデバイスを自動的に分割することを決定できることです。しかし、実際には、このようなことが起こるのを見たことはありません。

ホストでLVのサイズを変更するとPVの空き容量があるため、これを行う必要があり、ゲストvgextendでも同様です。ゲストでLVMの実行をスキップし、ホストで実行してからゲストで実行する方法はないと思いますか?lvextendresize2fs
lvextendresize2fs

ベストアンサー1

ゲストでLVMの実行をスキップし、ホストでlvextendを実行してから、ゲストでsize2fsを調整する方法はないと思いますか?

ゲストでLVMを使用する必要はありません。ブロックデバイスを直接使用するだけです。 LVMの使用~へゲストはあなたにほとんど利益を提供しません(あなたがすでにホスト上のLVMを使用してスペースを管理しているため)。

「KVM」が「libvirt」を参照している場合、このコマンドを使用すると、ブロックデバイスのサイズ変更後にvirsh blockresizeゲストが追加のスペースを認識できます。つまり、追加のLVを持つゲストがいる場合:

</disk><disk type="block" device="disk">
  <driver name="qemu" type="raw"/>
  <source dev="/dev/tank/foobar"/>
  <backingStore/>
  <target dev="vdb" bus="virtio"/>
  <alias name="virtio-disk1"/></disk>

どこ:

# lvs
  foobar                                      tank           -wi-ao----   4.00g                                                              

ホストのLVにスペースを追加できます。

# lvresize -L +2G /dev/tank/foobar

libvirtにサイズを更新するように指示します。

# virsh blockresize myguest /dev/tank/foobar --size 0

その後、ゲスト内でファイルの幹のサイズを変更します。

guest# resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/vdb to 1572864 (4k) blocks.
The filesystem on /dev/vdb is now 1572864 (4k) blocks long.

おすすめ記事