Para migrar máquinas virtuales con vMotion, la máquina virtual debe cumplir con ciertos requisitos de red, disco, CPU, USB y otros dispositivos.

Al usar vSphere vMotion, tenga presente las siguientes condiciones y limitaciones de las máquinas virtuales:

  • Las familias de direcciones IP de las redes de administración de origen y de destino deben coincidir. No es posible migrar una máquina virtual de un host registrado en vCenter Server con una dirección IPv4 a un host registrado con una dirección IPv6.
  • El uso de adaptadores de red de 1 GbE para la red de vSphere vMotion puede provocar errores de migración, si se migran máquinas virtuales con perfiles de vGPU de gran tamaño. Use adaptadores de red de 10 GbE para la red de vSphere vMotion.
  • Si están habilitados los contadores de rendimiento de CPU virtuales, solo es posible migrar máquinas virtuales a los hosts que tienen contadores de rendimiento de CPU compatibles.
  • Es posible migrar máquinas virtuales que tienen gráficos 3D habilitados. Si el representador 3D se establece en automático, las máquinas virtuales usan el representador de gráficos que está presente en el host de destino. El representador puede ser la CPU del host o una tarjeta gráfica de GPU. Para migrar máquinas virtuales con el representador 3D establecido en hardware, el host de destino debe tener una tarjeta gráfica de GPU.
  • A partir de vSphere 6.7 Update 1 y versiones posteriores, vSphere vMotion admite máquinas virtuales con vGPU.
  • vSphere DRS es compatible con la colocación inicial de máquinas virtuales de vGPU que ejecutan vSphere 6.7 Update 1 o una versión posterior sin compatibilidad con el equilibrio de carga.
  • Es posible migrar máquinas virtuales con dispositivos USB conectados a un dispositivo USB físico en el host. Se deben habilitar los dispositivos para vSphere vMotion.
  • No es posible realizar la migración con vSphere vMotion para migrar máquinas virtuales que usan un dispositivo virtual al que se le hizo una copia de seguridad mediante un dispositivo al que no se puede acceder en el host de destino. Por ejemplo, no es posible migrar una máquina virtual con una unidad de CD a la que se le hizo una copia de seguridad mediante la unidad de CD física del host de origen. Desconecte estos dispositivos antes de migrar la máquina virtual.
  • No es posible realizar la migración con vSphere vMotion para migrar máquinas virtuales que usan un dispositivo virtual al que se le hizo una copia de seguridad mediante un dispositivo del equipo cliente. Desconecte estos dispositivos antes de migrar la máquina virtual.

Usar vSphere vMotion para migrar máquinas virtuales de vGPU

Puede utilizar vMotion para realizar una migración en vivo de máquinas virtuales con tecnología NVIDIA vGPU sin causar pérdida de datos.

Para habilitar vMotion para máquinas virtuales de vGPU, debe establecer la configuración avanzada de vgpu.hotmigrate.enabled en true. Para obtener más información sobre cómo establecer la configuración avanzada de vCenter Server, consulte Configurar opciones avanzadas en la documentación de Configuración de vCenter Server.

En vSphere 6.7 Update 1 y vSphere 6.7 Update 2, cuando se migran máquinas virtuales de vGPU con vMotion y el tiempo de paralización de vMotion supera los 100 segundos, se puede producir un error en el proceso de migración para los perfiles de vGPU con un tamaño de búfer de trama de 24 GB o más. Para evitar que se agote el tiempo de espera de vMotion, actualice a vSphere 6.7 Update 3 o una versión posterior.

Durante el tiempo de paralización, no se puede acceder a la máquina virtual, al escritorio ni a la aplicación. Una vez que se completa la migración, se reanuda el acceso a la máquina virtual, y todas las aplicaciones continúan desde el estado anterior. Para obtener información sobre el tamaño del búfer de trama en los perfiles de vGPU, consulte la documentación de la GPU virtual NVIDIA.

Los tiempos de paralización de máquina virtual esperados (el momento en el que los usuarios no pueden acceder a la máquina virtual durante vMotion) y los tiempos de paralización estimados en el peor de los casos, se enumeran en las siguiente tablas. Los tiempos de paralización esperados se probaron en una red de 10 GB con GPU NVIDIA Tesla V100 PCIe de 32 GB:

Tabla 1. Tiempos esperados de paralización para vMotion de las máquinas virtuales de vGPU
Búfer de trama de vGPU usado (GB) Tiempo de paralización de máquina virtual (s)
1 2
2 4
4 6
8 12
16 22
32 39
Tabla 2. Tiempos de paralización estimados en el peor caso (seg.)
Memoria de vGPU 4 GB de memoria de la máquina virtual 8 GB de memoria de la máquina virtual 16 GB de memoria de la máquina virtual 32 GB de memoria de la máquina virtual
1 GB 5 6 8 12
2 GB 7 9 11 15
4 GB 13 14 16 21
8 GB 24 25 28 32
16 GB 47 48 50 54
32 GB 91 92 95 99
Nota: Cuando tenga en cuenta los tiempos de paralización esperados y estimados del peor caso, tenga en cuenta los siguientes puntos:
  • El perfil de vGPU configurado representa un límite superior para el búfer de trama de vGPU utilizado. En muchos casos prácticos, la cantidad de memoria de búfer de trama de vGPU utilizada por la máquina virtual en un momento dado está por debajo de la memoria de vGPU asignada en el perfil.
  • Tanto los tiempos de paralización esperados como los estimados de peores casos solo son válidos cuando se migra una sola máquina virtual. Si va a migrar varias máquinas virtuales simultáneamente, es decir, para un proceso de corrección manual de vSphere, los tiempos de paralización tendrán efectos negativos.
  • Las estimaciones anteriores asumen suficiente capacidad de CPU, memoria, PCIe y red para alcanzar un rendimiento de migración de 10 Gbps.

DRS es compatible con la colocación inicial de las máquinas virtuales de vGPU que ejecutan vSphere 6.7 Update 1 y versiones posteriores sin compatibilidad con el equilibrio de carga.

VMware vSphere vMotion solo se admite con y entre modelos compatibles de dispositivos de GPU NVIDIA y las versiones de controladores de host de NVIDIA GRID según las define y admite NVIDIA. Para obtener información sobre la compatibilidad, consulte la guía de usuario de la GPU virtual NVIDIA.

Para comprobar la compatibilidad entre los controladores de host de NVIDIA vGPU, vSphere y Horizon, consulte la matriz de compatibilidad de VMware.

Cómo establecer un límite de tiempo de paralización para las máquinas virtuales de vGPU

Aprenda a establecer un límite de tiempo de paralización por máquina virtual cuando migre máquinas virtuales con tecnología NVIDIA vGPU con vSphere vMotion. Si se establece un límite de tiempo de paralización, es posible que vCenter Server evite encender la máquina virtual o migrarla a un host y una red cuyo tiempo de paralización máximo estimado supere ese límite.

El tiempo de paralización de la máquina virtual es el tiempo durante el cual los usuarios no pueden acceder a la máquina virtual durante vMotion. A partir de vSphere 8.0 Update 2, puede establecer un límite de tiempo de paralización de vMotion para las máquinas virtuales de vGPU.

El límite que establezca debe ser mayor que el tiempo de paralización máximo estimado para la configuración actual del dispositivo. En el caso de que haya varios dispositivos PCI, el límite de tiempo de paralización que establezca debe ser superior a la suma de las contribuciones de todos los dispositivos PCI. Si se establece un límite de tiempo de paralización inferior al tiempo de paralización máximo estimado, es posible que no se pueda encender la máquina virtual.

Nota: Las estimaciones máximas de tiempo de paralización solo están disponibles para los tipos de vGPU de las series C y Q.

El tiempo de paralización máximo se calcula en función del ancho de banda del host en el que se ejecuta actualmente la máquina virtual. Los cálculos pueden cambiar en el momento de la migración si el host de destino tiene menos ancho de banda. Por ejemplo, si una máquina virtual se ejecuta en un host con una NIC de vMotion de 25 Gbps, pero el host de destino tiene una NIC de vMotion de 10 Gbps. En el momento de la migración, el cálculo del tiempo de paralización máximo se basa en la NIC de vMotion de 10 Gbps.

Requisitos previos

  • Compruebe que la versión de la instancia de vCenter Server sea 8.0 Update 2.
  • Compruebe que la versión de los hosts ESXi de origen y destino sea 8.0 Update 2.
  • Compruebe que las máquinas virtuales de Sphere Cluster Services (vCLS) estén en buen estado. Para obtener información sobre vCLS, consulte vSphere Cluster Services.
  • Compruebe que la red de vMotion esté configurada a través del flujo de trabajo de inicio rápido. Para obtener información sobre cómo configurar las opciones de red para el tráfico de vMotion, consulte Cómo configurar el clúster de vSphere mediante el flujo de trabajo de inicio rápido.
  • Compruebe que vMotion esté habilitado para las máquinas virtuales de vGPU. La directiva avanzada vgpu.hotmigrate.enabled se debe establecer en true. Para obtener más información sobre cómo establecer la configuración avanzada de vCenter Server, consulte Configurar opciones avanzadas en la documentación de Configuración de vCenter Server.

Procedimiento

  1. En vSphere Client, desplácese hasta una máquina virtual de vGPU.
  2. Haga clic con el botón derecho en la máquina virtual y seleccione Editar configuración.
    Se mostrará el cuadro de diálogo Editar configuración.
  3. Haga clic en la pestaña Opciones de máquina virtual y expanda Opciones avanzadas
    El cuadro de diálogo Editar configuración con la configuración avanzada de la máquina virtual expandida.
  4. En el campo de entrada Límite de tiempo de paralización de vMotion, introduzca el límite de tiempo de paralización en segundos.
    La configuración avanzada expandida con el campo de entrada Tiempo de paralización de vMotion resaltado.
    Si establece un límite de tiempo de paralización inferior al tiempo de paralización máximo estimado para la configuración del dispositivo PCI, aparece un mensaje de advertencia. También se muestra un mensaje de advertencia en la pestaña Hardware virtual.
  5. Haga clic en Aceptar.

Ubicación del archivo de intercambio de máquinas virtuales y compatibilidad de vSphere vMotion

La ubicación del archivo de intercambio de máquinas virtuales afecta la compatibilidad con vMotion de diferentes maneras dependiendo de la versión deESXi en ejecución en el host de la máquina virtual.

Puede configurar los hosts ESXi 6.7 o posteriores para que almacenen archivos de intercambio de máquinas virtuales con el archivo de configuración de la máquina virtual, o en un almacén de datos local de archivos de intercambio especificado para ese host.

La ubicación del archivo de intercambio de máquinas virtuales afecta la compatibilidad con vMotion de la siguiente manera:

  • Para migraciones entre hosts que ejecutan ESXi 6.7 y posteriores, se permiten migraciones con vMotion y las migraciones de máquinas virtuales apagadas y suspendidas.
  • Durante una migración con vMotion, si la ubicación del archivo de intercambio especificada en el host de destino es diferente de la especificada en el host de origen, el archivo de intercambio se copia en la nueva ubicación. Esta actividad puede originar migraciones más lentas con vMotion. Si el host de destino no puede obtener acceso a la ubicación especificada del archivo de intercambio, lo almacena con el archivo de configuración de la máquina virtual.

Consulte la documentación Administración de recursos de vSphere para obtener información sobre cómo configurar las directivas del archivo de intercambio.

Notificaciones de vSphere vMotion para aplicaciones sensibles a la latencia

A partir de vSphere 8.0, puede notificar a una aplicación que se ejecuta dentro del sistema operativo invitado de una máquina virtual cuándo se inicia y finaliza un evento de vSphere vMotion. Este mecanismo de notificación permite que las aplicaciones sensibles a la latencia preparen e incluso retrasen una operación de vSphere vMotion.

En los casos de aplicaciones sensibles a la latencia, como las aplicaciones VoIP y las aplicaciones comerciales de alta frecuencia, generalmente se desactivan vSphere vMotion y vSphere DRS. vSphere 8.0 presenta un mecanismo de notificación que le permite notificar a una aplicación que está a punto de ocurrir una instancia de vSphere vMotion para que la aplicación realice los pasos necesarios para prepararse. vSphere vMotion se detiene después de generar el evento de inicio y espera a que la aplicación confirme la notificación de inicio antes de continuar.

Nota:

Si se habilita el mecanismo de notificación para las operaciones de vSphere vMotion, se puede provocar un aumento del tiempo general de vSphere vMotion.

Cómo configurar una máquina virtual para notificaciones de vSphere vMotion

De forma predeterminada, el mecanismo de notificación está desactivado. Para habilitar el mecanismo de notificación en una máquina virtual, esta debe tener la versión de hardware 20 o superior y usted debe configurar las siguientes opciones de configuración avanzada de la máquina virtual.

Puede utilizar la API de servicios de vSphere Web para habilitar el envío de notificaciones a las aplicaciones que se ejecutan dentro de la máquina virtual y para especificar el período máximo en segundos que una aplicación tiene para prepararse para la operación de vMotion.

  • Para habilitar el envío de notificaciones a las aplicaciones que se ejecutan dentro de la máquina virtual, establezca la propiedad de máquina virtual vmx.vmOpNotificationToApp.enabled en true

  • Para especificar el período de tiempo máximo en segundos que tiene una aplicación para prepararse para la operación de vMotion, utilice la propiedad de máquina virtual vmx.vmOpNotificationToApp.timeout. Cuando una operación de vSphere vMotion genera un evento de inicio, la operación de vMotion se detiene y espera a que llegue una confirmación de que la aplicación continúe. vSphere vMotion espera a que transcurra el tiempo de espera que especifique.

    Esta propiedad es opcional y no está establecida de forma predeterminada. Puede utilizarla para configurar un tiempo de espera más restrictivo para una máquina virtual específica. Si se deja sin configurar, se utiliza la configuración de notificaciones del host.

Para obtener más información, consulte las propiedades del objeto de datos de la máquina virtual en la documentación de vSphere Web Services API. Para obtener información sobre cómo utilizar vSphere Web Services SDK, consulte la Guía de programación de vSphere Web Services SDK.

Cómo configurar un host para notificaciones de vSphere vMotion

El ajuste de configuración avanzada de host VmOpNotificationToApp.Timeout se puede utilizar para especificar un tiempo de espera de notificación que se aplique a todas las máquinas virtuales de un host. Utilice las API de ConfigManager para establecer un valor en esta propiedad de configuración. El tiempo de espera de notificación predeterminado es 0. En este caso, se generan notificaciones de aplicaciones, pero las operaciones de vSphere vMotion no se retrasan.

Si establece un tiempo de espera de notificación en un host y una máquina virtual que se ejecutan en el host al mismo tiempo, se utiliza el valor más pequeño.

Para obtener información sobre cómo utilizar vSphere Web Services SDK, consulte la Guía de programación de vSphere Web Services SDK.

Cómo registrar una aplicación para notificaciones de vSphere vMotion

Para permitir que una aplicación reciba notificaciones de eventos de vSphere vMotion, debe tener VMware Tools instalado en la máquina virtual que aloja la aplicación. Para obtener más información sobre la instalación y configuración de VMware Tools, consulte la documentación de VMware Tools.

Con vSphere 8.0, solo puede registrar una aplicación por máquina virtual. Una aplicación que desee recibir notificaciones de vSphere vMotion puede utilizar las siguientes llamadas RPC de invitado y comprobar periódicamente si hay nuevos eventos de vMotion, por ejemplo, cada 1 o 2 segundos, mediante la llamada RPC de invitado vm-operation-notification.check-for-event.

Para obtener información sobre cómo utilizar las llamadas RPC de invitado, consulte la Guía de programación de VMware Guest SDK.

Comando

Descripción

vm-operation-notification.register

Registra una aplicación para comenzar a recibir notificaciones de eventos de vSphere vMotion.

vm-operation-notification.unregister

Cancela el registro de una aplicación para recibir notificaciones de eventos de vSphere vMotion.

vm-operation-notification.list

Recupera información sobre la aplicación registrada que se ejecuta en una máquina virtual del host.

vm-operation-notification.check-for-event

Recupera información sobre el evento de vSphere vMotion registrado en el momento de la llamada.

vm-operation-notification.ack-event

Confirma un evento de inicio de vSphere vMotion.