KVM : ストレージマイグレーション2022/04/28 |
仮想マシンのストレージマイグレーション機能の利用です。
ある KVM ホスト上で稼動している仮想マシンを、稼動させたまま別の KVM ホストに移動できます。
システムメンテナンス等で片方の KVM ホストを停止したい場合に、その上で稼動している仮想マシンを別の KVM
ホストに移動させ、仮想マシンを常に稼働させたまま 片側のシステムのメンテナンスをするといったことが可能になります。
通常のライブマイグレーションと異なる点は、ライブマイグレーションでは
2 台の KVM ホストサーバーで利用する仮想マシンイメージはストレージサーバー上で共有されているため、仮想マシンの実体そのものは移動しませんが、ストレージマイグレーションでは、仮想マシンイメージを格納するストレージサーバーは必要とせず、2台の KVM ホストサーバー間で仮想マシンイメージそのものをマイグレートさせます。
Storage Migration <-------------------> +----------------------+ +----------------------+ | [ KVM Host #1 ] |10.0.0.21 10.0.0.22| [ KVM Host #2 ] | | +---------------------+ | | kvm01.srv.world | | kvm02.srv.world | +----------------------+ +----------------------+ |
[1] |
2 台の KVM ホストサーバーを準備し、いずれか一方の KVM ホストサーバーで仮想マシンを作成しておきます。
また、DNS や ローカル [/etc/hosts] 等で、両サーバーが正常に名前解決できる必要があります。 |
[2] | 仮想マシンを作成した KVM ホスト側で仮想マシンイメージのファイルのサイズを調べ、もう一方の KVM ホスト側で、同じサイズの空ディスクイメージを作成しておきます。 |
# 仮想マシンのディスクイメージのサイズ確認 root@kvm01:~# qemu-img info /var/kvm/images/ubuntu2204.img image: /var/kvm/images/ubuntu2204.img file format: qcow2 virtual size: 20 GiB (21474836480 bytes) disk size: 8.01 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: true refcount bits: 16 corrupt: false extended l2: false ### 相手先 KVM ホスト ### # 作成済み仮想マシンイメージと同サイズの空ディスクイメージ作成 root@kvm02:~# qemu-img create -f qcow2 -o preallocation=falloc /var/kvm/images/ubuntu2204.img 21474836480 |
[3] | 以上の準備が整ったら、仮想マシンを起動して、ライブストレージマイグレーションを実行します。接続には SSH を使用するため、事前に root ユーザーで鍵ペアを作成しておく等々の設定が必要です。 |
root@kvm01:~# virsh list Id Name State ---------------------------- 1 ubuntu2204 running
root@kvm01:~#
root@kvm01:~# virsh migrate --live --copy-storage-all ubuntu2204 qemu+ssh://10.0.0.22/system virsh list Id Name State -------------------------- # 稼働中の仮想マシンは移動した
### マイグレーション先の KVM ホスト ### root@kvm02:~# virsh list Id Name State ---------------------------- 1 ubuntu2204 running |
Sponsored Link |