[8] Migracja maszyn na żywo

3 lipca 2020 Wyłączono przez Adam [zicherka] Nogły

Skonfigurujemy teraz migrację maszyn wirtualnych na „żywo”. Potrzebujemy dwóch hostów z zainstalowanym i skonfigurowanym KVM, oraz serwer przechowywania. Potrzebujemy także zainstalowaną i skonfigurowaną usługę DNS lub plik [hosts] do rozwiązywania nazw i adresów IP.

[1] Skonfiguruj serwer przechowywania, na którym będzie się znajdował obraz maszyny wirtualnej. Możesz wykorzystać NFS, iSCSI, GlusterFS. Ja skorzystałem z NFS.

[2] Skonfiguruj hosty [kvm1] i [kvm2] do używania udostępnionego zasobu. Zamontuj na obu hostach zasób w tym samym katalogu. Ja użyłem [/var/kvm/images] jako katalogu gdzie zamontowałem zasoby serwera na klientach.

[3] Jeżeli na hostach [kvm1] i [kvm2] działa SELinux i maszyny są udostępniane po NFS (tak jak tutaj) musimy zmienić reguły jak poniżej.

[root@kvm1 ~]# setsebool -P virt_use_nfs on

[4] Jeżeli na hostach [kvm1] i [kvm2] działa Firewalld, musimy zezwolić na ruch na następujących portach.

[root@kvm1 ~]# firewall-cmd --add-service={libvirt,libvirt-tls} --permanent
success
[root@kvm1 ~]# firewall-cmd --add-port=49152-49215/tcp --permanent
success
[root@kvm1 ~]# firewall-cmd --reload
success

[5] Stwórz i wystartuj maszynę wirtualną, a następnie uruchom migrację.

# wyedytujemy ostawienia maszyny wirtualnej [centos8]
[root@kvm1 ~]# virsh edit centos8

 <disk type='file' device='disk'>
# dodaj: zmień sposób cachowania na [none]
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/kvm/images/centos7.img'/>

[root@kvm1 ~]# virsh start centos8
Domena centos8 została uruchomiona

[root@kvm1 ~]# virsh list
Identyfikator Nazwa Stan
----------------------------------------------------
3 centos8 uruchomiona

[root@kvm1 ~]# virsh migrate --live centos8 qemu+ssh://kvm2.zicher.lab/system
The authenticity of host 'kvm2.zicher.lab (192.168.1.3)' can't be established.
ECDSA key fingerprint is SHA256:5I4Ah6HRJC/Hpvw9mnyqEY+8e56FT9jwR9dVLIqn9cM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
root@kvm2.zicher.lab's password: # wpisz hasło root'a

[root@kvm1 ~]# virsh list
Identyfikator Nazwa Stan
----------------------------------------------------

# migracja się udała
# polecenia na hoście, na który migrowaliśmy wirtualną maszynę
[root@kvm2 ~]# virsh list
Identyfikator Nazwa Stan
----------------------------------------------------
1 centos8 uruchomiona

# teraz ponownie przeniesiemy maszynę wirtualna na host [kvm1]
[root@kvm2 ~]# virsh migrate --live centos8 qemu+ssh://kvm1.zicher.lab/system
The authenticity of host 'kvm1.zicher.lab (192.168.1.2)' can't be established.
ECDSA key fingerprint is SHA256:5I4Ah6HRJC/Hpvw9mnyqEY+8e56FT9jwR9dVLIqn9cM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
root@kvm1.zicher.lab's password: # wpisz hasło root'a

[root@kvm2 ~]# virsh list
Identyfikator Nazwa Stan
----------------------------------------------------