作業ログ源泉垂れ流し

しがないIT技術者の作業ログを垂れ流す

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としてボリュームが作成できた!