Red Hat Training

A Red Hat training course is available for RHEL 8

9.4. Compartilhar imagens de disco de máquinas virtuais com outros anfitriões

Para realizar uma migração ao vivo de uma máquina virtual (VM) entre hosts KVM suportados, é necessário o armazenamento compartilhado de VM. Esta seção fornece instruções para compartilhar uma imagem VM armazenada localmente com o host de origem e o host de destino usando o protocolo NFS.

Pré-requisitos

  • O VM destinado à migração é desativado.
  • Optional: Está disponível um sistema host para hospedar o armazenamento que não é o host de origem ou destino, mas tanto o host de origem quanto o host de destino podem alcançá-lo através da rede. Esta é a solução ideal para o armazenamento compartilhado e é recomendada pela Red Hat.
  • Certifique-se de que o travamento de arquivos NFS não seja usado, pois não é suportado no KVM.
  • O NFS é instalado e habilitado nos hosts de origem e destino. Se não estiver:

    1. Instalar os pacotes NFS:

      # yum install nfs-utils
    2. Certifique-se de que as portas para NFS em iptables (como 2049) estejam abertas no firewall.

      # firewall-cmd --permanent --add-service=nfs
      # firewall-cmd --permanent --add-service=mountd
      # firewall-cmd --permanent --add-service=rpc-bind
      # firewall-cmd --permanent --add-port=2049/tcp
      # firewall-cmd --permanent --add-port=2049/udp
      # firewall-cmd --reload
    3. Iniciar o serviço de NFS.

      # systemctl start nfs-server

Procedimento

  1. Conecte-se ao anfitrião que fornecerá o armazenamento compartilhado. Neste exemplo, é o anfitrião cargo-bay:

    # ssh root@cargo-bay
    root@cargo-bay's password:
    Last login: Mon Sep 24 12:05:36 2019
    root~#
  2. Crie um diretório que manterá a imagem do disco e será compartilhado com os anfitriões da migração.

    # mkdir /var/lib/libvirt/shared-images
  3. Copie a imagem do disco da VM do host de origem para o diretório recém-criado. Por exemplo, as seguintes cópias da imagem do disco da VM wanderer1 para o diretório /var/lib/libvirt/shared-images/ no host do "cargo-bay":

    # scp /var/lib/libvirt/images/wanderer1.qcow2 root@cargo-bay:/var/lib/libvirt/shared-images/wanderer1.qcow2
  4. No host que você deseja usar para compartilhar o armazenamento, adicione o diretório de compartilhamento ao arquivo /etc/exports. O seguinte exemplo compartilha o diretório /var/lib/libvirt/shared-images com os hosts source-example e dest-example:

    /var/lib/libvirt/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
  5. Tanto no host de origem quanto no host de destino, monte o diretório compartilhado no diretório /var/lib/libvirt/images:

    # mount cargo-bay:/var/lib/libvirt/shared-images /var/lib/libvirt/images

Verificação

  • Para verificar se o processo foi bem sucedido, inicie o VM no host de origem e observe se ele inicia corretamente.

Recursos adicionais

  • Para informações detalhadas sobre a configuração do NFS, abertura de tabelas IP e configuração do firewall, consulte Exportando ações do NFS.