Red Hat Training

A Red Hat training course is available for RHEL 8

9.4. Compartir imágenes de disco de máquinas virtuales con otros hosts

Para realizar una migración en vivo de una máquina virtual (VM) entre hosts KVM compatibles, se requiere un almacenamiento compartido de VM. Esta sección proporciona instrucciones para compartir una imagen de VM almacenada localmente con el host de origen y el host de destino utilizando el protocolo NFS.

Requisitos previos

  • La VM destinada a la migración se apaga.
  • Optional: Se dispone de un sistema de host para alojar el almacenamiento que no es el host de origen ni el de destino, pero tanto el host de origen como el de destino pueden alcanzarlo a través de la red. Esta es la solución óptima para el almacenamiento compartido y es recomendada por Red Hat.
  • Asegúrese de que no se utiliza el bloqueo de archivos NFS, ya que no está soportado en KVM.
  • El NFS está instalado y habilitado en los hosts de origen y destino. Si no lo está:

    1. Instale los paquetes NFS:

      # yum install nfs-utils
    2. Asegúrese de que los puertos para NFS en iptables (como el 2049) están abiertos en el cortafuegos.

      # 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. Inicie el servicio NFS.

      # systemctl start nfs-server

Procedimiento

  1. Conéctate al host que proporcionará el almacenamiento compartido. En este ejemplo, es el host cargo-bay:

    # ssh root@cargo-bay
    root@cargo-bay's password:
    Last login: Mon Sep 24 12:05:36 2019
    root~#
  2. Cree un directorio que contenga la imagen de disco y que se comparta con los hosts de migración.

    # mkdir /var/lib/libvirt/shared-images
  3. Copie la imagen de disco de la VM desde el host de origen al directorio recién creado. Por ejemplo, lo siguiente copia la imagen de disco de la VM wanderer1 al directorio /var/lib/libvirt/shared-images/ en el host `cargo-bay`:

    # scp /var/lib/libvirt/images/wanderer1.qcow2 root@cargo-bay:/var/lib/libvirt/shared-images/wanderer1.qcow2
  4. En el host que desee utilizar para compartir el almacenamiento, añada el directorio compartido al archivo /etc/exports. El siguiente ejemplo comparte el directorio /var/lib/libvirt/shared-images con los hosts source-example y dest-example:

    /var/lib/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
  5. Tanto en el host de origen como en el de destino, monte el directorio compartido en el directorio /var/lib/libvirt/images:

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

Verificación

  • Para verificar que el proceso ha sido exitoso, inicie la VM en el host de origen y observe si arranca correctamente.

Recursos adicionales