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á:
Instale los paquetes NFS:
# yum install nfs-utils
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
Inicie el servicio NFS.
# systemctl start nfs-server
Procedimiento
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~#
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
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
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 hostssource-example
ydest-example
:/var/lib/libvirt/shared-images source-example(rw,no_root_squash) dest-example(rw,no_root_squash)
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
- Para obtener información detallada sobre la configuración de NFS, la apertura de tablas IP y la configuración del cortafuegos, consulte Exportación de recursos compartidos NFS.