Modo de compatibilidad del procesador dinámico
Se aplica a: Azure Local, versión 22H2
El modo de compatibilidad dinámica del procesador se actualiza para aprovechar las nuevas funcionalidades del procesador en un entorno agrupado. La compatibilidad del procesador funciona determinando las características del procesador admitidas para cada nodo individual del clúster y calculando el denominador común en todos los procesadores. Las máquinas virtuales (VM) están configuradas para usar el número máximo de características disponibles en todos los servidores del clúster. Esto mejora el rendimiento en comparación con la versión anterior de compatibilidad del procesador que se estableció de manera predeterminada en un conjunto mínimo y fijo de funcionalidades del procesador.
Cuándo usar el modo de compatibilidad del procesador
El modo de compatibilidad del procesador permite mover una máquina virtual activa (migración en vivo) o mover una máquina virtual que se guarda entre nodos con diferentes conjuntos de funcionalidades de proceso. Sin embargo, incluso cuando la compatibilidad del procesador está habilitada, no se pueden mover VM entre hosts con distintos fabricantes de procesador. Por ejemplo, no puede mover VM en ejecución ni VM de estado guardado de un host con procesadores Intel en un host con procesadores AMD. Si debe mover una máquina virtual de esta manera, apague primero la máquina virtual y, a continuación, reiníciela en el nuevo host.
Importante
Solo las VM de Hyper-V con la versión de configuración más reciente (10.0) se benefician de la configuración dinámica. Las máquinas virtuales con versiones anteriores no se benefician de la configuración dinámica y no seguirán usando funcionalidades de procesador fijas de la versión anterior.
Se recomienda habilitar el modo de compatibilidad del procesador para las VM que se ejecutan en Azure Stack HCI. Esto proporciona el nivel más alto de funcionalidades y, cuando es el momento de migrar a nuevo hardware, mover las máquinas virtuales no requiere tiempo de inactividad.
Nota:
No es necesario usar el modo de compatibilidad del procesador si tiene previsto detener y reiniciar las VM. Cada vez que se reinicia una máquina virtual, el sistema operativo invitado enumera las compatibilidades del procesador que están disponibles en el nuevo equipo host.
Por qué es necesario el modo de compatibilidad del procesador
Los fabricantes de procesadores suelen introducir optimizaciones y funcionalidades en los procesadores. Estas funcionalidades suelen mejorar el rendimiento o la seguridad al usar hardware especializado para una tarea determinada. Por ejemplo, muchas aplicaciones multimedia usan funcionalidades de procesador para acelerar los cálculos vectoriales. Estas características rara vez son necesarias para que las aplicaciones se ejecuten; aumentan el rendimiento.
El conjunto de funcionalidades que está disponible en un procesador varía en función de su versión, modelo y antigüedad. Los sistemas operativos y el software de aplicación suelen enumerar la funcionalidad del procesador del sistema cuando se inician por primera vez. El software no espera que las funcionalidades de procesador disponibles cambien durante su duración, lo que nunca ocurre cuando se ejecuta en un equipo físico, ya que las funcionalidades del procesador son estáticas a menos que el procesador se actualice.
Sin embargo, las características de movilidad de VM permiten migrar una VM en ejecución a un nuevo host de virtualización. Si el software de la máquina virtual detecta y comienza a usar una funcionalidad de procesador determinada y, a continuación, la máquina virtual se mueve a un nuevo host de virtualización sin esa funcionalidad, es probable que se produzca un error en el software. Esto podría provocar un bloqueo en la aplicación o la VM.
Para evitar errores, Hyper-V realiza comprobaciones de "prueba previa" cada vez que se inicia una operación de migración en vivo o de guardado o restauración de una máquina virtual. Estas comprobaciones comparan el conjunto de características del procesador que están a disposición de la VM en el host de origen con el conjunto de características que están disponibles en el host de destino. Si estos conjuntos de características no coinciden, se cancela la operación de migración o restauración.
Novedades del modo de compatibilidad del procesador
En el pasado, todos los nuevos conjuntos de instrucciones de procesador estaban ocultos, lo que significa que el sistema operativo invitado y el software de aplicación no podían usar mejoras del conjunto de instrucciones de procesador para ayudar a las aplicaciones y las máquinas virtuales a mantener el rendimiento.
Para superar esta limitación, el modo de compatibilidad del procesador ahora proporciona funcionalidades dinámicas mejoradas en procesadores capaces de traducción de direcciones de segundo nivel (SLAT). Esta nueva funcionalidad calcula el denominador común de las características de CPU admitidas por los nodos del clúster, y actualiza el modo de compatibilidad del procesador existente en una VM para usar este conjunto de características calculado dinámicamente en lugar del antiguo conjunto de características codificadas de forma rígida.
El nuevo modo de compatibilidad del procesador garantiza que el conjunto de características de procesador disponibles para las máquinas virtuales entre hosts de virtualización coincidan mediante la presentación de una funcionalidad común establecida en todos los servidores del clúster. Cada VM recibe el número máximo de conjuntos de instrucciones del procesador que están presentes en todos los servidores del clúster. Este proceso se produce automáticamente, siempre está habilitado y se replica en todo el clúster, por lo que no hay ningún comando para habilitar o deshabilitar el proceso.
Modo de compatibilidad de procesador
Hay conceptos importantes que se deben comprender al usar el modo de compatibilidad del procesador en Hyper-V:
La ejecución de máquinas virtuales solo se puede migrar entre hosts de virtualización que usan procesadores del mismo fabricante.
Tiene que apagar la VM para poder habilitar o deshabilitar el modo de compatibilidad del procesador.
El modo de compatibilidad del procesador no es necesario para los movimientos de máquina virtual que implican una detención y un reinicio de la máquina virtual.
Cada vez que se reinicia una máquina virtual, el sistema operativo invitado enumera las características del procesador que están disponibles en el nuevo equipo host.
Nota:
En Windows Server, Microsoft recomienda activar el modo de compatibilidad del procesador solo antes de los escenarios de migración de máquinas virtuales y, a continuación, desactivarlo cuando se complete la migración.
Migración de VM en ejecución entre clústeres
Suponiendo que todos los servidores de cada clúster ejecutan el mismo hardware, es posible migrar en vivo máquinas virtuales en ejecución entre clústeres. Hay tres escenarios comunes.
Migración en vivo de una VM desde un clúster con nuevos procesadores a un clúster con los mismos procesadores. Las funcionalidades de máquina virtual se transfieren al clúster de destino. Este escenario no requiere que el modo de compatibilidad del procesador esté habilitado; sin embargo, si se deja habilitado, no se producirán problemas.
Migración en vivo de una VM desde un clúster con procesadores anteriores a un clúster con procesadores más nuevos. Las funcionalidades de máquina virtual se transfieren al clúster de destino. En este escenario, si se reinicia la máquina virtual, recibe la funcionalidad calculada más reciente del clúster de destino.
Migración en vivo de una VM desde un clúster con procesadores más nuevos a un clúster con procesadores más antiguos. Tendrá que establecer el procesador de máquina virtual para usar
MinimumFeatureSet
para el parámetroCompatibilityForMigrationMode
en PowerShell, o bien seleccionar Compatible across other hosts with the same CPU manufacturer (Compatible en otros hosts con el mismo fabricante de CPU) en Windows Admin Center en Máquinas virtuales > Configuración > Procesadores. Esta configuración asigna la máquina virtual a las funcionalidades de procesador mínimas que se ofrecen en el servidor. Una vez que la compatibilidad se mueve a Compatible en el clúster (recomendado) y se reinicia la máquina virtual, recibe la funcionalidad calculada más reciente del clúster de destino.
Ramificaciones del uso del modo de compatibilidad del procesador
Es difícil cuantificar los efectos generales del rendimiento del modo de compatibilidad del procesador. La pérdida de rendimiento depende principalmente de la carga de trabajo que se ejecuta en la máquina virtual. Algunas cargas de trabajo pueden no verse afectadas, mientras que otras muestran una diferencia notable. El software que se basa en gran medida en optimizaciones de hardware (como cifrado, compresión o cálculos intensivos de punto flotante) se ve afectado más.
Las aplicaciones que cifran o descifran una gran cantidad de datos se benefician de esta característica de procesador, por lo que desactivarla habilitando el modo de compatibilidad del procesador afecta al rendimiento de estas operaciones específicas.
Si le preocupa el impacto en el rendimiento del modo de compatibilidad del procesador, es mejor comparar el rendimiento de la carga de trabajo de máquina virtual con el modo de compatibilidad del procesador habilitado y con él deshabilitado.
Configuración de una VM para usar el modo de compatibilidad del procesador
En esta sección se explica cómo configurar una máquina virtual para usar el modo de compatibilidad del procesador. Es posible ejecutar VM con y sin modo de compatibilidad en el mismo clúster.
Importante
Tiene que apagar la VM para poder habilitar o deshabilitar el modo de compatibilidad del procesador.
Habilitación del modo de compatibilidad del procesador mediante Windows Admin Center
Para habilitar el modo de compatibilidad del procesador mediante Windows Admin Center:
Conéctese al clúster y, luego, en el panel Herramientas, seleccione Máquinas virtuales.
En Inventario, seleccione la VM en la que quiere habilitar el modo de compatibilidad del procesador, expanda el menú Inicio/Apagado y, luego, seleccione Apagar.
Seleccione Configuración, luego Procesadores y active la casilla Compatibilidad de procesador.
Si desea establecer las características de CPU de la máquina virtual en el nivel máximo admitido por todos los servidores de un clúster, seleccione Compatible across the cluster (Recommended) (Compatible en el clúster [se recomienda]). Esto maximiza el rendimiento de la máquina virtual a la vez que conserva la capacidad de mover la máquina virtual en ejecución a otros servidores del clúster. Se recomienda habilitar esto para todas las máquinas virtuales que se ejecutan en clústeres de Azure Stack HCI 21H2. Si está deshabilitada, la máquina virtual debe reiniciarse para pasar a un host con un nivel diferente de instrucciones de CPU admitidas, comunes con distintas generaciones de CPU.
Como alternativa, si desea establecer las características de CPU de la máquina virtual en el mínimo para asegurarse de que puede mover la máquina virtual en ejecución a otros hosts de Hyper-V fuera del clúster, siempre que tengan el mismo fabricante de CPU, seleccione Compatible across other hosts with the same CPU manufacturer (Compatible en otros hosts con el mismo fabricante de CPU).
Nota:
Al igual que el modo de compatibilidad de procesador dinámico, Compatible across the cluster (Compatible en el clúster ) es exclusivo de Azure Stack HCI 21H2 y no es compatible con ningún otro sistema operativo.
Seleccione Save processor settings (Guardar configuración del procesador) y reinicie la máquina virtual.
En esta sección se explica cómo configurar una máquina virtual para usar el modo de compatibilidad del procesador mediante el administrador de Hyper-V o PowerShell. Es posible ejecutar VM con y sin modo de compatibilidad en el mismo clúster.
Importante
Tiene que apagar la VM para poder habilitar o deshabilitar el modo de compatibilidad del procesador.
Habilitación del modo de compatibilidad del procesador mediante PowerShell
Para habilitar el modo de compatibilidad del procesador para una máquina virtual mediante el Administrador de Hyper-V:
Apague la máquina virtual.
Seleccione Inicio, seleccione Herramientas administrativas y, a continuación, seleccione Administrador de Hyper-V.
Seleccione el servidor que ejecuta Hyper-V y la máquina virtual deseada.
Si la máquina virtual se está ejecutando, debe apagar la máquina virtual para habilitar la configuración del modo de compatibilidad del procesador.
En el panel Acción, seleccione Configuración y, a continuación, seleccione Procesador.
Expanda Procesador y seleccione Compatibilidad.
Seleccione Migrar a un equipo físico con un procesador diferente y, a continuación, seleccione Aceptar.
Reinicie la VM.
Deshabilitar el modo de compatibilidad del procesador con el Administrador de Hyper-V
Para deshabilitar el modo de compatibilidad del procesador para una máquina virtual mediante el Administrador de Hyper-V:
Apague la máquina virtual.
Seleccione Inicio, seleccione Herramientas administrativas y, a continuación, seleccione Administrador de Hyper-V.
Seleccione el servidor que ejecuta Hyper-V y la máquina virtual deseada.
Si la máquina virtual se está ejecutando, debe apagar la máquina virtual para deshabilitar la configuración del modo de compatibilidad del procesador.
En el panel Acción, seleccione Configuración y, a continuación, seleccione Procesador.
Expanda Procesador y seleccione Compatibilidad.
Desactive la casilla Migrar a un equipo físico con otro procesador y, a continuación, seleccione Aceptar.
Reinicie la VM.
Habilitación del modo de compatibilidad del procesador mediante PowerShell
Para habilitar el modo de compatibilidad del procesador, ejecute el siguiente cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true
Se recomienda establecer las características de CPU de la máquina virtual en el nivel máximo que admitan todos los servidores del clúster. Esto maximiza el rendimiento de la máquina virtual a la vez que conserva la capacidad de mover la máquina virtual en ejecución a otros servidores del clúster.
Para permitir que la VM use las características comunes del nodo de clúster, ejecute el cmdlet siguiente:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet
Como alternativa, puede establecer las características de CPU de la máquina virtual en el mínimo, lo que garantiza que puede mover la máquina virtual en ejecución a otros hosts de Hyper-V fuera del clúster si tienen el mismo fabricante de CPU.
Para permitir que la VM use las características mínimas predeterminadas para migrar entre clústeres, ejecute el cmdlet siguiente:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet
Deshabilitación del modo de compatibilidad del procesador mediante PowerShell
Para deshabilitar el modo de compatibilidad del procesador para una máquina virtual mediante PowerShell, apague la máquina virtual y ejecute el cmdlet Set-VMProcessor
y establezca CompatibilityForMigrationEnabled
en $false:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $false
A continuación, reinicie la máquina virtual.