[8] Migracja maszyn na żywo
3 lipca 2020Skonfigurujemy 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 ----------------------------------------------------