Identificadores UUID y Mirage

Que tal gente, el día de hoy voy a escribir un articulo rápido de como identifica Mirage a los endpoints o “CVDs”. Trabajando en mi laboratorio que esta basado en vCloud Director 5.5 me encontré con un problema bastante peculiar y que me tomo casi una hora de “resolver”.

¿Como identifica Mirage a las VMs que gestiona?

Toda VM tiene un archivo de configuración que tiene una extensión .vmx, en este archivo se almacenan la configuración de hardware virtual, se determinan archivos de los cuales depende esta VM (swap, bios, etc) y también se describen ciertos identificadores que hacen a esta VM única ante distintas soluciones como pueden ser vCenter y otras soluciones de terceros. En mi caso en especifico, en mi laboratorio utilizo vCenter Server y vCloud Director para gestionar mis ambientes contenidos en vApps también conocidos como “vPODs” y estaba creando desde cero un ambiente de Horizon 6 donde incluyo Horizon View, Mirage, Workspace, etc. Claramente una ventaja de tener vCloud Director en el laboratorio es que ya tengo capturadas muchas VMs base que me ayudan a crear ambientes bastante rápido:

Screen Shot 2014-08-08 at 4.42.41 PM

Por lo que para este ambiente de Horizon agregué varias VMs Windows 7 para que fueran gestionadas por Mirage y así poder probar funcionalidades aprovechando las capacidades de vCD de crear linked clones para poder reducir el consumo por parte del almacenamiento y tener una entrega rápida de las VMs.

Al instalar el cliente de Horizon Mirage dentro de estos escritorios y apuntar a mi servidor de mirage pude notar que solo se enlistaban 2 escritorios en pending devices:

Screen Shot 2014-08-08 at 3.03.05 PM

Esto me parecía bastante raro debido a que ya tenia 3 VMs con el cliente de Mirage, por lo que comencé a tratar de entender cual era el problema, primero pensé que era un problema con sysprep por lo que volví a crear las VMs y habilite la opción de “Enable guest customization” acompañada de “Change SID” lo cual tampoco dio resultado, después ejecute Sysprep manualmente desde los escritorios recién creados y tampoco tuve resultados. después de investigar como identificaba Mirage a sus CVDs (VMs) descubrí que lo hace a través de un identificador UUID (uuid.bios) que se encuentra en el archivo de configuración .vmx:

Screen Shot 2014-08-08 at 3.03.56 PM

En la imagen podemos ver el contenido de los archivos de configuración de dos maquinas virtuales Windows 7 (“Capas” y “PC”)que fueron entregadas a través de vCD desde mi catalogo, si prestan atención pueden notar que ambos identificadores UUID.BIOS son exactamente iguales, por lo que al momento de registrar las VMs ante mirage solo 1 se mostraba (e incluso había ocasiones que si realizaba un refresh solo cambiaba el nombre del CVD). La solución a este problema la pude encontrar en el siguiente KB:

BIOS UUIDs in vCloud Director are not unique when virtual machines are deployed from catalog templates (2002506)

Donde básicamente se muestra como modificar la base de datos de vCD para que entregue UUIDs únicos cada vez que se agrega una VM a partir del catálogo, por lo que abrí una sesión ssh hacia mi appliance virtual de vCD y ejecute los comandos:

Screen Shot 2014-08-08 at 3.51.22 PM

 

Después de haberlos ejecutado simplemente se reinician los servicios de vCD y al crear nuevas VMs estas ya no tendrán UUIDs iguales (es importante saber que las VMs que fueron creadas antes de este cambio no se arreglarán). Por lo que después de instalar el cliente de Mirage estas deben de ser reconocidas a la perfección:

Screen Shot 2014-08-08 at 5.28.04 PM

Leave a Reply