CentOS 8
Sponsored Link

KVM : ストレージマイグレーション2019/10/08

 
仮想マシンのストレージマイグレーション機能の利用です。
ある KVM ホスト上で稼動している仮想マシンを、稼動させたまま別の KVM ホストに移動できます。 システムメンテナンス等で片方の KVM ホストを停止したい場合に、その上で稼動している仮想マシンを別の KVM ホストに移動させ、仮想マシンを常に稼働させたまま 片側のシステムのメンテナンスをするといったことが可能になります。
通常のライブマイグレーションと異なる点は、ライブマイグレーションでは 二台の KVM ホストサーバーで利用する仮想マシンイメージはストレージサーバー上で共有されているため、仮想マシンの実体そのものは移動しませんが、 ストレージマイグレーションでは、仮想マシンイメージを格納するストレージサーバーは必要とせず、二台の KVM ホストサーバー間で仮想マシンイメージそのものをマイグレートさせます。
                          Storage Migration
                        <------------------->
                        
+----------------------+                     +----------------------+
|  [   KVM Host #1  ]  |10.0.0.21   10.0.0.22|  [  KVM Host #2   ]  |
|                      +---------------------+                      |
|   kvm01.srv.world    |                     |    kvm02.srv.world   |
+----------------------+                     +----------------------+

[1]
二台の KVM ホストサーバーを準備し、いずれか一方の KVM ホストサーバーで仮想マシンを作成しておきます。
また、DNS や ローカル hosts 等で、両サーバーが正常に名前解決できる必要があります。
[2] KVM ホストで Firewalld を有効にしている場合、必要なポートの許可が必要です。
[root ~]#
firewall-cmd --add-service={libvirt,libvirt-tls} --permanent

[root ~]#
firewall-cmd --add-port=49152-49215/tcp --permanent

[root ~]#
firewall-cmd --reload

[3] 仮想マシンを作成した KVM ホスト側で仮想マシンイメージのファイルのサイズを調べ、もう一方の KVM ホスト側で、同じサイズの空ディスクイメージを作成しておきます。
# 仮想マシンイメージのサイズを表示

root@kvm01:~#
ll /var/kvm/images

total 7950652
-rw-------. 1 root root 32217432064 Oct  7 20:54 centos8.img

### 相手先 KVM ホスト ###

# 作成済み仮想マシンイメージと同サイズの空ディスクイメージ作成

root@kvm02:~#
qemu-img create -f qcow2 /var/kvm/images/centos8.img 32217432064

root@kvm02:~#
ll /var/kvm/images

total 196
-rw-r--r--. 1 root root 197096 Oct  8 19:33 centos8.img
[4] 以上の準備が整ったら、仮想マシンを起動して、ライブストレージマイグレーションを実行します。
root@kvm01:~#
virsh list

 Id    Name                           State
----------------------------------------------------
 1     centos8                        running

root@kvm01:~#
virsh migrate --live --copy-storage-all centos8 qemu+ssh://kvm02.srv.world/system

root@kvm02.srv.world's password:
root@kvm01:~#
virsh list

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

root@kvm02:~#
virsh list

 Id    Name                           State
----------------------------------------------------
 1     centos8                        running
関連コンテンツ