KVM ゲスト仮想マシンの肥大化したディスクイメージを最適化する 備忘録
【環境】Ubuntu Server 22.04 LTS
ゲスト仮想マシンをシャットダウンします。
sudo virsh list --all
Id Name State
-------------------------
1 vm0 running
- vm1 shut off
sudo virsh shutdown vm0
ディスクイメージのあるフォルダに移動します。
cd /var/lib/libvirt/images/
virt-sparsify
コマンドで肥大化したディスクイメージを最適化します。
sudo virt-sparsify vm0.img vm0_new.img
新しいディスクイメージのサイズが小さくなりました。
-rw------- 1 libvirt-qemu kvm 33G Sep 24 23:32 vm0.qcow2
-rw-r--r-- 1 root root 8.9G Sep 24 23:43 vm0_new.qcow2
新しいディスクイメージのオーナーとパーミッションが、古いディスクイメージと違うので、修正します。
sudo chown libvirt-qemu:kvm vm0_new.qcow2
sudo chmod 600 vm0_new.qcow2
変更後のオーナーとパーミッション
-rw------- 1 libvirt-qemu kvm 33G Sep 24 23:32 vm0.qcow2
-rw------- 1 libvirt-qemu kvm 8.9G Sep 24 23:43 vm0_new.qcow2
古いディスクイメージと新しいディスクイメージを入れ替えます。
sudo mv vm0.img vm0_old.img
sudo mv vm0_new.img vm0.img
ゲスト仮想マシンを起動し、正常に動作すること確認したら、古いディスクイメージを削除します。
sudo virsh start vm0
sudo rm vm0_old.img
一時ファイルを作成せずに、ディスクイメージを最適化するには、以下のコマンド実行します。
sudo virt-sparsify --in-place vm0.img