KVMのLVMベースのストレージプールの作成
KVMでLVMベースのストレージプールを作ってデフォルトにしてみる。
LVMベースのストレージプールは、基本的に(通常の方法では)シンプロビジョニングは使えないが、性能面では有利らしい。
一番最初に、LVMベースのストレージプールに対応しているか確認。
$ export LIBVIRT_DEFAULT_URI='qemu:///system' $ virsh pool-capabilities | grep "'logical' supported='yes'" <pool type='logical' supported='yes'>
次に、現在定義されているストレージプールを確認。
$ virsh pool-list --all Name State Autostart ------------------------------------ default active yes
既に(使っていない)default
プールが存在している場合は先に削除する。
$ virsh pool-destroy default Pool default destroyed $ virsh pool-undefine default Pool default has been undefined
空のディスク/dev/sdb
に、VG vg_kvm
として、
default
ストレージプールを作成する。
意味はマニュアルを参照。
$ virsh pool-define-as default logical --source-dev /dev/sdb --source-name vg_kvm Pool default defined $ virsh pool-build default Pool default built # pvs PV VG Fmt Attr PSize PFree /dev/sdb vg_kvm lvm2 a-- <931.00g <931.00g # vgs VG #PV #LV #SN Attr VSize VFree vg_kvm 1 0 0 wz--n- <931.00g <931.00g $ virsh pool-list --all Name State Autostart ------------------------------- default inactive no
PVとVGが作成され、ストレージプールが作成されている。
作成したストレージプールを起動する。
$ virsh pool-start default Pool kvm_pool_lvm started
続いて、ストレージプールの自動起動を設定する。
$ virsh pool-autostart default Pool kvm_pool_lvm marked as autostarted
正しく作成できているか確認。
$ virsh pool-list --all Name State Autostart ------------------------------- default active yes $ virsh pool-info default Name: default UUID: aaad3421-ed6d-44ba-bc81-494521be5061 State: running Persistent: yes Autostart: yes Capacity: 931.00 GiB Allocation: 0.00 B Available: 931.00 GiB
ボリュームを作ってみる。
$ virsh vol-create-as default test 10G Vol test created $ virsh vol-list default --details Name Path Type Capacity Allocation ----------------------------------------------------------- test /dev/vg_kvm/test block 10.00 GiB 10.00 GiB # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert test vg_kvm -wi-a----- 10.00g
LVMベースのストレージプールをdefault
としてボリュームが作成できた!