Ubuntu 20.04
Sponsored Link

KVM : ライブマイグレーション2020/08/05

 
仮想マシンのライブマイグレーション機能の利用です。
ある KVM ホスト上で稼動している仮想マシンを、稼動させたまま別の KVM ホストに移動できます。 システムメンテナンス等で片方の KVM ホストを停止したい場合に、その上で稼動している仮想マシンを別の KVM ホストに移動させ、仮想マシンを常に稼働させたまま 片側のシステムのメンテナンスをするといったことが可能になります。
前提として、二台の KVM ホストサーバー、および、 仮想マシンイメージを格納するストレージサーバーの、計三台のサーバーが必要となります。
当例では、以下のような環境でライブマイグレーションを実行します。
                      +----------------------+
                      |   [  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]
仮想マシンイメージ格納用のストレージサーバーを構築しておきます。ストレージサーバーには NFS, iSCSI など、ネットワーク共有できる仕組みであれば何でも OK です。
当例では、NFS によるストレージサーバーを構築します。
[2]
二台の KVM ホストサーバーで、同じパスのディレクトリに NFS 共有ディレクトリをマウントしておきます。 また、いずれか一方の KVM ホストで仮想マシンを作成して、仮想マシンディスクは NFS 共有ディレクトリに格納します。
当例では [/var/kvm/images] に NFS 共有ディレクトリをマウントして仮想マシンディスクを格納します。
また、DNS や ローカル [/etc/hosts] 等で、両サーバーが正常に名前解決できる必要があります。
[3] いずれか一方の KVM ホストで作成した仮想マシンを起動し、他方の KVM ホストへライブマイグレーションを実行します。接続には SSH を使用するため、事前に root ユーザーで鍵ペアを作成しておく等々の設定が必要です。
マイグレーションが成功すると、以下のように他方の KVM ホストサーバーに仮想マシンがマイグレートされます。
# 事前にマイグレーションしたい仮想マシンの設定を調整

root@kvm01:~#
virsh edit ubuntu2004
 <disk type='file' device='disk'>
      # 追記:キャッシュモードを [none] に変更
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/kvm/images/ubuntu2004.img'/>

root@kvm01:~#
virsh start ubuntu2004

root@kvm01:~#
virsh list

 Id    Name                           State
----------------------------------------------------
 1     ubuntu2004                     running

root@kvm01:~#
virsh migrate --live ubuntu2004 qemu+ssh://10.0.0.22/system

root@kvm01:~#
virsh list

 Id    Name             State
--------------------------------------
# 稼働中の仮想マシンは移動した
### マイグレーション先の KVM ホスト ###

root@kvm02:~#
virsh list

 Id    Name                           State
----------------------------------------------------
 1     ubuntu2004                     running

# 元に戻す場合は同じように 相手先 KVM ホストのホスト名または IP アドレスを指定してマイグレーションを実行

root@kvm02:~#
virsh migrate --live ubuntu2004 qemu+ssh://10.0.0.21/system

root@kvm02:~#
virsh list

 Id    Name             State
--------------------------------------

関連コンテンツ