KVMのストレージプールのディレクトリを変更する

KVMをインストールしたときのデフォルトだと、ディスクのイメージは以下のディレクトリに格納されている。

/var/lib/libvirt/images/
hoge@hoge-desktop:~$ sudo ls  -l /var/lib/libvirt/images/
合計 16955880
-rw-r--r-- 1 libvirt-qemu kvm  11065622528  1月 29 01:02 CentOS-Stream-8-x86_64-latest-dvd1.iso
-rw------- 1 root         root 21478441031  3月 12 14:24 centos-stream8.qcow2
-rw-r--r-- 1 libvirt-qemu kvm   1261371392  8月 24  2021 ubuntu-20.04.3-live-server-amd64.iso
-rw-rw-r-- 1 libvirt-qemu kvm   1269377024  1月  8 20:38 ubuntu-21.10-live-server-amd64.iso

別のディスクなどにディレクトリを作成して、そちらを使用するように設定する。

既存のプールを表示する。今回だとインストールしたときに作成されたdefaultしかない状態。

hoge@hoge-desktop:~$ virsh pool-list
 Name      State    Autostart
-------------------------------
 default   active   yes
hoge@hoge-desktop:~$ virsh pool-info default 
Name:           default
UUID:           4b810024-19ca-4f6d-bcf2-388a85f53e95
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       456.96 GiB
Allocation:     57.19 GiB
Available:      399.76 GiB

poolを停止して定義を解除する。

hoge@hoge-desktop:~$ sudo virsh pool-destroy default 
Pool default destroyed

hoge@hoge-desktop:~$ sudo virsh pool-undefine default 
Pool default has been undefined

ここで新しく使用するディレクトリを作成。今回は/data/vmimagesというディレクトリを作成した。 ディレクトリを作成したらpoolを定義する。

virsh pool-define-as --name default --type dir --target /data/vmimages

このままだとまだ利用できないので設定を変更する。 Autostart yesに変更

hoge@hoge-desktop:~$ virsh pool-info default 
Name:           default
UUID:           f5780d48-787f-4a5c-b27d-7f14ace00754
State:          inactive
Persistent:     yes
Autostart:      no

hoge@hoge-desktop:~$virsh pool-autostart default
Pool default marked as autostarted

hoge@hoge-desktop:/data$  virsh pool-info default 
Name:           default
UUID:           f5780d48-787f-4a5c-b27d-7f14ace00754
State:          inactive
Persistent:     yes
Autostart:      yes

poolをstartすると利用できるようになる

hoge@hoge-desktop:~$virsh pool-start default
Pool default started

hoge@hoge-desktop:~$virsh pool-list
 Name      State    Autostart
-------------------------------
 default   active   yes

hoge@hoge-desktop:~$ virsh pool-info default
Name:           default
UUID:           f5780d48-787f-4a5c-b27d-7f14ace00754
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       2.86 TiB
Allocation:     4.83 MiB
Available:      2.86 TiB