KVM : ライブマイグレーション2023/06/20 |
|
仮想マシンのライブマイグレーション機能の利用です。
ある KVM ホスト上で稼動している仮想マシンを、稼動させたまま別の KVM ホストに移動できます。
システムメンテナンス等で片方の KVM ホストを停止したい場合に、その上で稼動している仮想マシンを別の KVM ホストに移動させ、仮想マシンを常に稼働させたまま 片側のシステムのメンテナンスをするといったことが可能になります。
前提として、2 台の KVM ホストサーバー、および、 仮想マシンイメージを格納するストレージサーバーの、計 3 台のサーバーが必要となります。
当例では以下のような環境でライブマイグレーションを実行します。 前提として、DNS または hosts 等で名前解決が正常にできるようにしておく必要があります。
+----------------------+
| [ NFS Servver ] |
| nfs.srv.world |
| |
+-----------+----------+
|10.0.0.35
|
+----------------------+ | +----------------------+
| [ KVM Host #1 ] |10.0.0.21 | 10.0.0.22| [ KVM Host #2 ] |
| +----------+----------+ |
| kvm01.srv.world | | kvm02.srv.world |
+----------------------+ +----------------------+
|
| [1] | |
| [2] |
2 台の KVM ホストサーバーを準備し、両サーバーで同じディレクトリに NFS 共有ディレクトリをマウントしておきます。
当例では [/var/kvm/images] に NFS 共有ディレクトリをマウントします。 |
| [3] | いずれか一方の KVM ホストで任意の仮想マシンを作成し、他方の KVM ホストへライブマイグレーションを実行します。 成功すると、以下のように他方の KVM ホストサーバーに仮想マシンがマイグレートされます。 双方の KVM ホストで root ユーザーで SSH 接続するため、事前に SSH 鍵ペアを作成して設定しておくとよいでしょう。 |
|
# 事前にマイグレーションしたい仮想マシンの設定を調整 root@kvm01:~# virsh edit debian12
<disk type='file' device='disk'>
# 追記:キャッシュモードを [none] に変更
<driver name='qemu' type='qcow2' discard='unmap' cache='none'/>
<source file='/var/kvm/images/debian12.img'/>
root@kvm01:~# virsh start debian12 root@kvm01:~# virsh list Id Name State -------------------------- 1 debian12 running
root@kvm01:~#
root@kvm01:~# virsh migrate --live debian12 qemu+ssh://10.0.0.22/system virsh list Id Name State -------------------------- # 稼働中の仮想マシンは移動した
### マイグレーション先の KVM ホスト ### root@kvm02:~# virsh list Id Name State -------------------------- 1 debian12 running # 元に戻す場合は同じように 相手先 KVM ホストのホスト名または IP アドレスを指定してマイグレーションを実行 root@kvm02:~# virsh migrate --live debian12 qemu+ssh://10.0.0.21/system virsh list Id Name State -------------------------- |
| Sponsored Link |
|
|