Advertencia: A menos que se indique lo contrario, VMware no apoya ni recomienda la modificación de las restricciones de vMotion para las características de la CPU utilizadas por aplicaciones, como SSE3, debido al riesgo de que exista un error en el sistema operativo invitado o en la aplicación después de la migración. Como se señaló, el soporte experimental está disponible para algunas máscaras en ESX 3.5 y versiones posteriores. Para obtener más información sobre soporte experimental, consulte http://www.vmware.com/support/policies/experimental.html.
VMware recomienda la utilización de la Mejora de compatibilidad para vMotion (EVC, Enhanced vMotion Compatibility) para eliminar la mayoría de los problemas de compatibilidad de la CPU para vMotion. Para obtener más información sobre EVC, consulte Enhanced vMotion Compatibility (EVC) processor support (1003212).Si posee las recientes CPU Intel Core 2 de 45nm y fue remitido a este artículo por un mensaje en VirtualCenter o vCenter Server, consulte vMotion errors between different Intel 45nm Core 2 revisions (1008315).
En ESX/ESXi 3.5 Update 2 y versiones posteriores, VMware recomienda la utilización de la Mejora de compatibilidad para vMotion (EVC) para eliminar la mayoría de los problemas de compatibilidad de la CPU para vMotion. Para obtener más información sobre EVC, consulte Enhanced vMotion Compatibility (EVC) processor support (1003212).
Contexto
A efectos de vMotion, las CPU compatibles implican que las CPU de origen y de destino deben poseer el mismo fabricante (AMD o Intel) y ser miembros de la misma familia de procesadores básicos (por ejemplo, Pentium 4 o Core) y poseer un conjunto de características comunes implementadas.
Para determinar si las CPU de origen y de destino cumplen con los requisitos de vMotion, VirtualCenter y vCenter Server compara la CPU de destino con una definición de máscara de bits predeterminada para suprimir las características sin importancia de la comparación. Las máscaras de bits utilizadas por VirtualCenter y vCenter Server se actualizan, a medida que los proveedores de procesadores introducen nuevas características. Por ejemplo, en ESX Server 2.x, la característica NX (AMD) o XD (Intel) no se utiliza para calcular la compatibilidad para vMotion, pero sí se utiliza en ESX 3.x.
Para deshabilitar el control de compatibilidad de la CPU para vMotion para una característica específica, puede modificar la máscara de bits predeterminada. En algunos documentos de VMware, el proceso de modificación de máscaras de bits se dice, en ocasiones, que "relaja" una restricción particular.
Un debate completo de los componentes subyacentes y de cómo los sistemas host VirtualCenter Server y VirtualCenter Server los manejan, trasciende el alcance de este artículo. Para obtener más información, consulte Máscaras de compatibilidad de la CPU (CPU Compatibility Masks) en Basic System Administration. Otro recurso útil es el artículo técnico sobre VMware vMotion and CPU Compatibility.
Para obtener información específica sobre las CPU Intel y AMD y la compatibilidad para vMotion, consulte:
Por razones de simplicidad, las modificaciones a la máscara de bits predeterminada para establecer la compatibilidad de la CPU para vMotion se mencionan simplemente como máscaras y se identifican, por lo general, por la característica de la CPU. Por ejemplo, la máscara SSE3 en este artículo y en artículos KB relacionados, 1991 y 1992.
Mask | ESX 2.x | ESX 3.x | ESX 4.x |
CMPXCHG16B (AMD) | No compatible | No compatible con versiones anteriores a ESX 3.5. Compatible de modo experimental en ESX 3.5 y versiones posteriores. | Compatible de modo experimental |
FFXSR (AMD) | No compatible | No compatible | No compatible |
NX (AMD) | Compatible | Compatible | Compatible |
RDTSCP (AMD) | No compatible | No compatible con versiones anteriores a ESX 3.5. Compatible de modo experimental en ESX 3.5 y versiones posteriores. | Compatible de modo experimental |
SSE3 (AMD) | No compatible | No compatible con versiones anteriores a ESX 3.5. Compatible de modo experimental en ESX 3.5 y versiones posteriores. | Compatible de modo experimental |
SSE3 (Intel) | No compatible | No compatible | No compatible |
SSE4.1 (Intel) | No compatible | No compatible con versiones anteriores a ESX 3.5. Compatible de modo experimental en ESX 3.5 y versiones posteriores. | Compatible de modo experimental |
SSE4.2 (Intel) | No compatible | No compatible con versiones anteriores a ESX 3.5. Compatible de modo experimental en ESX 3.5 y versiones posteriores. | Compatible de modo experimental |
XD (Intel) | Compatible | Compatible | Compatible |
AES (Intel) | No compatible | No compatible con versiones anteriores a ESX 3.5. Compatible de modo experimental en ESX 3.5 y versiones posteriores. | Compatible de modo experimental |
Alcance de las modificaciones
Existen dos formas de modificar las máscaras de bits predeterminadas de la CPU, según la versión ESX/ESXi y las necesidades individuales.
Herramientas de identificación de la CPU
Para obtener más información sobre una CPU del sistema host, utilice la Herramienta de identificación de la CPU. VMware proporciona esto como un archivo de imagen ISO que se puede descomprimir y utilizar para crear un CD-ROM de arranque que proporcione información sobre un host de la CPU, aún antes de que se instale un sistema operativo o ESX. La última versión de esta herramienta se puede encontrar en la página de descargas de VMware en http://vmware.com/download/shared_utilities.html.
Enmascaramiento por máquina virtual con ESX/ESXi 3.x y versiones posteriores
En Virtual Center 2.x y vCenter Server 4.x, se puede modificar la máscara de bits predeterminada para máquinas virtuales individuales mediante el uso de VI Client o vSphere Client. Apague la máquina virtual antes de modificar la máscara de bits.
Para modificar la máscara de bits predeterminada para una máquina virtual:
Desde aquí se puede modificar de forma apropiada la máscara para la máquina virtual seleccionada, según lo que se deba enmascarar. Las siguientes secciones incluyen pasos sobre cómo modificar las máscaras para varios registros comunes de la CPU.
Cómo modificar la máscara NX/XD predeterminada
Los problemas con las características NX/XD son comunes en las CPU. Asegúrese de que la característica esté habilitada (o no deshabilitada) en el BIOS de todos los hosts para impedir estos mensajes de error de compatibilidad.
Nota: No todos los servidores poseen la opción de habilitar o deshabilitar NX o XD en el BIOS.
Si se encuentra un problema de compatibilidad con el bit NX/XD en la característica de la CPU, se generará un error similar al siguiente:
The CPU of the host is incompatible with the cpu feature requirements of virtual machine; problem detected at CPUID level 0x80000001 register 'edx'.
Apague la máquina virtual antes de modificar la máscara NX/XD.
Para modificar la máscara y habilitar o deshabilitar el bit NX/XD de la CPU:
Cómo modificar la máscara predeterminada para las CPU Intel
Se pueden modificar las máscaras para varias otras características con el objetivo de proporcionar más compatibilidad para vMotion. Las condiciones de compatibilidad para estas máscaras de características se enumeran en vMotion CPU Compatibility Requirements for Intel Processors (1991). Por lo general, VMware no apoya ni recomienda la modificación de las restricciones de vMotion para las características de la CPU utilizadas por aplicaciones, como SSE3, debido al riesgo de que exista un error en el sistema operativo invitado o en la aplicación después de la migración.
Apague la máquina virtual antes de modificar la máscara de bits.
Para modificar otras máscaras de la CPU:
Característica | Nivel | Fila | Mask |
SSE3 | 1 | ecx | ---- ---- ---- ---- ---- ---- ---0 -0-0 |
SSSE3 | 1 | ecx | ---- ---- ---- -0-- ---- --0- ---0 -0-- |
1 | edx | ---- ---- ---- --0- ---- ---- ---- ---- | |
SSE4.1 | 1 | ecx | ---- ---- ---- 0--- ---- ---- ---- ---- |
SSE4.2 | 1 | ecx | ---- ---- 0--0 ---- ---- ---- ---- ---- |
80000001 | edx | ---- 0--- ---- ---- ---- ---- ---- ---- | |
AES | a | ecx | ---- --0- ---- ---- ---- ---- ---- --0- |
Cuando se completen todas las modificaciones, haga clic en OK y salga del cuadro de diálogo Máscara de identificación de la CPU.
Cómo modificar las máscaras para las CPU AMD
Las características que son específicas para los procesadores AMD se enumeran y se pueden modificar en la pestaña AMD Override. Las condiciones de compatibilidad para estas máscaras de características se enumeran en vMotion CPU Compatibility Requirements for AMD Processors (1992). Por lo general, VMware no apoya ni recomienda la modificación de las restricciones de vMotion para las características de la CPU utilizadas por aplicaciones, como SSE3, debido al riesgo de que exista un error en el sistema operativo invitado o en la aplicación después de la migración.
Apague la máquina virtual antes de modificar la máscara de bits.
Para modificar otras máscaras de la CPU para procesadores AMD:
Característica | Nivel | Fila | Mask |
SSE3 | 1 | ecx | ---- ---- ---- ---- ---- ---- ---- ---0 |
RDTSCP | 80000001 | edx | ---- 0--- ---- ---- ---- ---- ---- ---- |
80000001 | ecx | ---- ---- ---- ---- ---- ---- ---- 0--- | |
CMPXCH16B | 1 | ecx | ---- ---- ---- ---- --0- ---- ---- ---- |
FFXSR | 80000001 | edx | ---- --0- ---- ---- ---- ---- ---- ---- |
Cuando se completen todas las modificaciones, haga clic en OK y salga del cuadro de diálogo Máscara de identificación de la CPU.
Cómo combinar las modificaciones de las máscaras
---- ---- ---- ---- ---- ---- ---0 -0-0
y:
---- ---- ---- -0-- ---- --0- ---0 -0--
para producir:
---- ---- ---- -0-- ---- --0- ---0 -0-0
para la máscara de registro ecx.
Enmascaramiento global con ESX Server 2.x y versiones posteriores
Para los hosts ESX/ESXi administrados por VirtualCenter o vCenter Server, se puede modificar la máscara de bits de forma global mediante la edición manual del archivo de configuración de VirtualCenter o vCenter Server (vpxd.cfg ). El archivo de configuración, vpxd.cfg, contiene etiquetas XML que definen varios elementos y configuraciones para el sistema de VirtualCenter Server o vCenter Server. Las máscaras de bits se pueden modificar añadiendo las etiquetas XML apropiadas para definir la máscara en el contexto de una opción de configuración del sistema operativo invitado al archivo de configuración.
Las modificaciones en la máscara de bits global no tienen efecto para las máquinas virtuales individuales hasta que las mismas se hayan apagado y encendido otra vez.
Nota: El archivo vpxd.cfg está ubicado de forma predeterminada en C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter
Aunque un debate completo sobre la construcción de estos elementos trasciende el alcance de este artículo, la sección About the Tags proporciona un breve resumen. Consulte la siguiente sección para obtener los pasos específicos relacionados con Editing the Configuration File (Edición de archivos de configuración) y etiquetas XML para Common Mask Patterns (Patrones de máscaras comunes) como SSE3, SSSE3, y SSE3 y SSSE3 combinadas.
Advertencia: VMware no apoya ni recomienda la modificación de las restricciones de vMotion para las características de la CPU utilizadas por aplicaciones, como SSE3, debido al riesgo de que exista un error en el sistema operativo invitado o en la aplicación después de la migración.
Acerca de las etiquetas
Las etiquetas identifican el registro para el cual se aplica la máscara y cuáles son las versiones y los host para los cuales se aplica la máscara. Las etiquetas son descendientes directas de la etiqueta <vpxd> , en el archivo vpxd.cfg . Las etiquetas se enumeran en el orden en el que se deben anidar:
· <guestOSDescriptor> — Etiqueta de descendiente directa (secundaria) del elemento <vpxd>. El archivo vpxd.cfg puede contener un solo elemento guestOSDescriptor.
· <host-product-and-version> — Entre las etiquetas de apertura y cierre <guestOSDescriptor>, se puede anidar varias etiquetas host-product-and-version que especifican la versión y el host para las cuales se aplican las máscaras que usted define. Las etiquetas <host-product-and-version> se pueden especificar en forma general, como en <esx-2-x-x> para un host ESX Server 2.x, <esx-3-x-x> para un host ESX/ESXi 3.x o se pueden especificar con precisión, como en <esx-3-5-0>. Por ejemplo, la etiqueta <esx-2-5-x> identifica varios niveles de versiones actualizadas de ESX Server para los cuales se aplica la máscara anidada posteriormente.
· <virtual-machine-configuration-hardware-version> — Permite que la configuración esté restringida por la versión de hardware de la máquina virtual. Por ejemplo, <all-versions>, <vmx-03>, o <vmx-04>. En el ejemplo que se encuentra a continuación se especifica <all-versions>, lo que significa que la máscara se aplica a todas las versiones de hardware de la máquina virtual.
· <virtual-machine guest version> — Permite que se especifique una versión invitado. Por ejemplo, <all-guests>, <winXPPro64Guest>, <winVistaGuest>, etc. En el ejemplo que se muestra debajo, se especificó <all-guests>y por lo tanto la máscara se aplica para todas las versiones invitado.
· <cpuFeatureMask> — Esta etiqueta antecede a la máscara verdadera. La máscara entonces se define para <default-vendor>, <amd>, o <intel>, según sus necesidades. Los elementos etiqueta que se utilizan para definir la máscara, identifican la máscara de la CPU. Los detalles del elemento incluyen: proveedor, nivel CPU ID y registro de la CPU. Las opciones válidas para éstos son:
proveedor CPU | <default-vendor>, <amd>, <intel> |
nivel CPU ID | <level-0>, <level-1>, <level-80000000>, <level-80000001> |
registro de la CPU | <eax>, <ebx>, <ecx>, <edx> |
Las etiquetas se deben insertar en el orden en el que se muestran en la tabla. Una etiqueta CPU-vendor es seguida por una etiqueta CPU-ID-level y luego seguida por una etiqueta CPU-register. Inmediatamente después de la etiqueta CPU-register se encuentra la secuencia de 32 guiones y x-s que representa la máscara de registro de 32 bits verdadera, apropiada para la característica que se está modificando. La máscara es entonces seguida por etiquetas CPU-register-, CPU-ID-level- y CPU-vendor-closing.
Nota: La máscara definida mediante el uso de la etiqueta <default-vendor>es utilizada por el sistema sólo cuando no se ha precisado ninguna máscara específica de proveedor para el mismo nivel CPU ID.
· Cuando ha terminado de definir las máscaras, cierre con </guestOSDescriptor>.
A continuación se presenta un ejemplo del orden de etiquetas, que se muestra en el contexto del archivo vpxd.cfg. Las etiquetas de apertura y cierre <config> y <vpxd> ya se encuentran en el archivo vpxd.cfg. La etiqueta de apertura <guestOSDescriptor>se puede ubicar directamente después de la etiqueta de apertura <vpxd>. Inserte las etiquetas apropiadas que se adecúen a sus necesidades, seguidas por la etiqueta de cierre </guestOSDescriptor>.
<config>
<vpxd>
<guestOSDescriptor>
<esx-2-x-x>
<all-versions>
<all-guests>
<cpuFeatureMask>
[La definición de los elementos y de la máscara se colocan aquí. Los patrones de máscaras comunes se pueden copiar y pegar de los patrones de ejemplo que se encuentran a continuación].
</cpuFeatureMask>
</all-guests>
</all-versions>
</esx-2-x-x>
</guestOSDescriptor>
...
</vpxd>
</config>
En este ejemplo, toda máscara insertada en la sección de marcador de contenido [Elements and mask...]se aplica a todos los hosts ESX Server 2.x que son administrados por el VirtualCenter Server y a todos los sistemas operativos invitados.
Cómo editar el archivo de configuración de VirtualCenter
Para editar el archivo de configuración de VirtualCenter:
Patrones de máscaras comunes
SSE3
<cpuFeatureMask>
<default-vendor>
<level-1>
<ecx>----:----:----:----:----:----:---x:-x-x</ecx>
</level-1>
</default-vendor>
<amd>
<level-1>
<ecx>----:----:----:----:----:----:----:---x</ecx>
</level-1>
</amd>
</cpuFeatureMask>
SSSE3
<cpuFeatureMask>
<default-vendor>
<level-1>
<ecx>----:----:----:-x--:----:--x-:---x:-x--</ecx>
<edx>----:----:----:--x-:----:----:----:----</edx>
</level-1>
</default-vendor>
</cpuFeatureMask>
SSE3 y SSSE3 combinadas
Cómo revertir la máscara de bits de compatibilidad predeterminada de la CPU
Para revertir las restricciones de compatibilidad predeterminadas para vMotion mediante la reversión de todas las modificaciones realizadas en la máscara predeterminada. Ésto se puede lograr si se siguen los pasos apropiados para el tipo de enmascaramiento que se aplicó: