CentOS 7
Sponsored Link

KVM : Live Migration
2014/08/12
 
This is the example to use Live Migration feature for Virtual Machines.
This requires 2 KVM host server and a storage server like follows.
Configure DNS or hosts to resolve names or IP addresses normally, first.
                      +----------------------+
                      |   [  NFS Servver  ]  |
                      |     nfs.srv.world    |
                      |                      |
                      +-----------+----------+
                                  |10.0.0.30
                                  |
+----------------------+          |          +----------------------+
|  [   KVM Host #1  ]  |10.0.0.21 | 10.0.0.22|  [  KVM Host #2   ]  |
|                      +----------+----------+                      |
|    kvm01.srv.world   |                     |    kvm02.srv.world   |
+----------------------+                     +----------------------+

[1]
Configure Storage server which has virtual machine images. For Storage server, it's OK to use NFS, iSCSI, GlusterFS and so on.
This example uses NFS Storage server.
[2]
Configure 2 KVM host server and mount a directory provided from Storage server on the same mount point on both KVM server.
This example mounts on [/var/kvm/images].
[3] On KVM Hosts, if SELinux is enabled and also uses NFS shared directory, change rules like follows.
[root@kvm01 ~]#
setsebool -P virt_use_nfs on
[4] On KVM Hosts, if Firewalld is running, allow ports.
[root@kvm01 ~]#
firewall-cmd --add-service={libvirt,libvirt-tls} --permanent

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

[root@kvm01 ~]#
firewall-cmd --reload

[5] Create and Start a Virtual Machine on a KVM Host and run Live Migration.
# edit setting of a VM

root@kvm01:~#
virsh edit centos7
 <disk type='file' device='disk'>
      # add: change cache mode to [none]
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/kvm/images/centos7.img'/>

root@kvm01:~#
virsh start centos7

root@kvm01:~#
virsh list

 Id    Name                           State
----------------------------------------------------
 1     centos7                        running

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

root@10.0.0.22's password:    
# root password
[root@kvm01 ~]#
virsh list

 Id    Name             State
--------------------------------------
# just migrated
### on another KVM Host ###

[root@kvm02 ~]#
virsh list

 Id    Name              State
---------------------------------------
 1     centos7           running

# back to the KVM Host again like follows

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

root@10.0.0.21's password:
[root@kvm02 ~]#
virsh list

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

Matched Content
 
Tweet