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:
Instalar os pacotes NFS:
# yum install nfs-utils
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
Iniciar o serviço de NFS.
# systemctl start nfs-server
Procedimento
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~#
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
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
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 hostssource-example
edest-example
:/var/lib/libvirt/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
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.