La Máscara EAX en VMware vSphere
Hola que tal?
Soy José Mª Gris y como cada semana vengo a comentaros alguna cosa sobre el ecosistema de Virtualización con VMware.
Días atrás, nuestro amigo jnavapal nos preguntaba lo siguiente:
“Te explico mi actual situación he configurado mis servidores para poder realizar vmotion y drs pero me he encontrado con al sorpresa que no me deja uno de ello por problemas con la mascara “eax” me gustaría, si pudieras, q me explicaras un poco como solucionar ese problema y que implicaciones tiene”
Como comenté en su día, no está soportado por VMware, pero lo he visto funcionar y evidentemente lo desaconsejo para producción. Quede claro que lo que aquí comento es a efectos formativos y no significa para nada ninguna recomendación.
Dicho esto, esto ocurre cuando tenemos procesadores distintos con niveles distintos. Es importante que tengamos a mano la herramienta de run virtual VMware CPU Host Info. Nos la descargamos y la ejecutamos desde un entorno windows que tenga acceso a nuestro vCenter (Vicente para los amigos) y a nuestros hosts.
Lo ejecutamos con la opción debug (importante) para que nos muestre los binary directamente.
La primera pantalla nos mostrará nuestros ESX, cuantas CPU tienen, si soportan FT, VT, etc., información interesante. Para el caso
que nos ocupa, mal vamos, las CPUs parecen iguales.
Pero lo que nos interesa de verdad viene en la ventana de atrás …
Aquí vemos los registros EAX, EBX, etc de nuestas CPUs. Pues sí son iguales, podremos hacer vmotion sin problemas.
Pero esto no es lo que nos preguntan. Si no falla Vmotion por este concepto, nos aparecerá un mensaje que nos dirá algo como “Hay un problema con el registro EAX”. Bien, entonces tendremos que hacerlos iguales.
Imaginemos una máscara y la “distinta”
0000 1110 0000 0000 0000 0000 0000 1000
0000 0000 0000 0000 0000 0000 0000 1011
Nos vamos a una VM, “Edit Setting”, “Options”, “CPUID Mask” y ahí en “Advanced”, nos aparecen nuestros registros de las CPUs y si hacemos click sobre uno veremos las máscaras (ya llegamos…. ). Las máscaras que nos interesan son las X (Unused), 1 (enable feature), 0 (Hide feature) y la H (Allow Guest software to see actual feature value.) Con ello si tenemos
XXXX HHHH XXXX XXXX XXXX XXXX XXXX HHHH
Querrá decir que el segundo y el cuarto cuarteto son los que “permiten”, con ello lo que deberíamos modificar es lo siguiente
—- 000- —- —- —- —- —- 0-00
y quedaría como final mask:
XXXX 000H XXXX XXXX XXXX XXXX XXXX 0H00
Y esto hacerlo a las VM que queremos hacer vMotion. Reitero, no lo uséis en producción.
Aprovecho para indicar las opciones “Hide the NX flag from Guest” (Con lo que podemos ganar compatibilidad en vMotion pero podemos perder algúna feature de seguridad de nuestra CPU. “Expose the NX flag to guest” Mantendrá todas las features de seguridad activas.
Implicaciones. Cuidado con usar la máscara porque podemos estar deshabilitando alguna feature importante y podemos tener problemas. hay que mirar las documentaciones de los procesadores y perdonad si soy pesado, nunca en producción. Con vSphere puedes hacer Baselines de procesadores para vMotion o junta maquinas entre iguales para hacer vMotion entre iguales.
Hasta la semana que viene. Cuidaros.
Por favor, si te ha gustado este post dame tu puntuacion: [ratings]