目次

, , ,

virsh から lvm の volume をコントロールする

ハイパーバイザー上で lvcreate やら lvremove やらでもできるんですが、virsh 上でそれをやる時は……という備忘録。

volume を作る

virsh # vol-create-as --pool <pool-name> --name <vol-name> --capacity <size: 1024K, 256M, 8G...> --format raw

ここで指定した vol-name は、そのまま lvm の lv名になります。

volume のリストを見る

virsh # vol-list --pool <pool-name> [--details]

domain に volume を attach する

virsh # attach-disk --domain <domain> --source <vol-name: /dev/vg001/lv001> --target <dev-name: vda, vdb...> --targetbus virtio --config

--config を付けているのでこの操作は domain の xml にのみ反映されます。適用するには domain の shutdon と start が必要です。 → kvm ゲストにディスクを割り当てる

--source の指定のみ、/dev/... な感じの生のデバイスになっていますが、これ libvirt 上の volume 名で指定とかできるのかどうか……不明です。

domain ごとに attach された volume をリストする

virsh # domblklist --domain <domain> [--inactive] [--details]

attach-disk --config しただけで現在起動している domain がまだ認識していない volume は --inactive を付けるとリストされます。

domain に attach された volume を外す

virsh # detach-disk --domain <domain> --target <vol-name: /dev/vg001/lv001> --config

attach-disk と同様に --config を付けているので domain の落し上げで反映します。

volume を 消す

virsh # vol-delete <vol-name> --pool <pool-name>

kvm ゲストを安全に削除する あたりにもチョイチョイ……