lunes, 29 de noviembre de 2010

Reutilizando máquinas virtuales con Windows

No creo que lo sepáis, no se lo he contado a mucha gente. Me estoy preparando por mi cuenta una certificación Microsoft.

Como ya he contado alguna vez, si no aquí, en alguno de los blogs sobre seguridad que suelo leer, antes era un maniático de "Linux, Linux, Linux..." y poco o nada de Microsoft. Al menos, en lo que a discusiones se refiere. Peeeerooo... Ahora estoy en el modo de "cada cosa, en su momento y en su lugar". Lo que significa que hay cosas en los que ambos sistemas operativos van bien... Y otras, en los que uno es mejor que otro.

Bueno. A lo que iba. Para prepararme la certificación me compré un libro, propio de Microsoft. Lo llaman training kit. Este training kit trae dos DVDs. Bueno, tres. Uno es el que tiene datos, información. Entre otras cosas, trae el mismo libro que compré impreso, pero en PDF. También trae una aplicación para hacer examenes, desde una manera muy sencilla en la que te indican nada más responder si la pregunta está bien o mal, y por qué... hasta una simulación de un examen real. Los otros dos DVDs son las versiones de Windows Server 2008, 120 días, tanto la de 32 como la de 64. Una versión trrial, vamos.

Así, una primera vez, me instalé una máquina virtual con el DVD. Pero, siendo precavido, la dejé para "futuras necesidades". Luego, me hice una copia de esa máquina que sería la que manipularía según las instrucciones del libro. No viene mucho a cuento, pero me hice una instalación de un Windows 7 Enterprise 90 días. Este sería el cliente que utilizaría en vez de el Vista, que es el que recomienda utilizar (evidentemente, porque se escribió antes de que saliera el 7).

Así, he estado siguiendo el libro y las instrucciones hasta que me dijeron que tenía que utilizar otro servidor más. Por lo tanto, tocaba hacer una nueva copia, cambiarle el nombre, las direcciones IP y poco más.

Para no liar las cosas más de lo que ya las habré liado, vamos a ponerle nombre a las máquinas. El primer server, es Glasgow. El otro servidor, el recién llegado, es Boston. Y el cliente no me acuerdo ahora, y no nos hace falta indicarlo. Me queda decir que son los nombres que me indicaban en el libro.

Puede que algunos sepan dónde metí la pata. Algunos otros, puede que no lo sepan todavía. Resulta que en momento determinado, tenía que añadir en Boston un grupo perteneciente al Glasgow, que es el controlador de dominio. Y no me dejaba. Un error parecido a este es el que me decía:

"The following error occurred while attempting to save properties for group Domain Admins on computer Boston A member could not be added to or removed from the local group because the member does not exist."

¿Cómo que no existe? Además, al lado del nombre del grupo añadido, aparecía una ristra muy grande de números. Mosquea mucho que salga el SID ahí. Hasta que caí en la cuenta. Resulta que a efectos internos, ambas máquinas son el mismo sistema operativo. Son la misma instalación. Luego, se estaban dando de leches. Aquí hay dos opciones para arreglarlo:

1) Utilizar sysprep.
2) Utilizar newsid.

Lo primero de todo. El SID es un identificador único de los usuarios y grupos, entre otros, con los que internamente trabajan los sistemas Windows. Una explicación buena de cómo funcionan está en la Wikipedia inglesa. Como de costumbre, sólo me he leído la parte interesante y la que estaba buscando.

El problema está en que obligar a trabajar dos sistemas distintos con los mismos SIDs es muy peliagudo. Y puede dar problemas como los ya descritos. Así, para evitar estos problemas al reutilizar máquinas virtuales, o hacer distintas instalaciones con una imagen de un mismo equipo, tenemos las herramientas antes mecionadas: sysprep y nersid.

Aunque se puede ver en el mismo artículo qué hace cada una de las dos herramientas, yo cuento lo que se, hasta dónde he llegado, cómo he trabajado con ellas...

Sysprep. Esta herramienta suele (¿solía?) venir en los CDs de Windows XP. No se si estarán en los de Vista y 7. ¿Alguna vez habéis comprado un ordenador que al arrancar ya venía el sistema operativo instalado y sólo os pedía algún paso de lo que sería una instalación completa? Pues en parte, eso se hace con el sysprep. Instalas un sistema. Lo dejas como más te guste. Con los programas instalados, con la configuración deseadas... Después, tienes la opción de crear un fichero que automatice determinados pasos, para que no tengas que meterlos a mano. Incluso, puedes hacer que ya aparezcan las respuestas introducidas y sólo tengas que hacer "siguiente" o que no veas nada y se haga todo sólito. El caso es que al ejecutar la herramienta, eliminas los SIDs del sistema y, cómo mínimo, tendrás que acabar de realizar alguno de los procesos de la instalación. Como ya he dicho, ideal para montar equipos que después se vayan a vender.

Newsid. Esta herramienta estaba en la paquetería del sysinternals. Ahora ya no la encontrarás porque la quitaron. Parece ser que el mismo que la programó, Mark Russinovich, acabó reconociendo que posiblemente no era necesaria. También he oído la otra versión, de que fue la propia Microsoft la que lo dijo. Sea como fuere, ya no está disponible en la paquetería. Y ha sido la que he utilizado (ya que la tenía antes de que la eliminaran). La he arrancado, me ha preguntado si quería un SID aleatorio u otras cosas más... Evidentemente he pedido el aleatorio. También preguntaba si quería cambiar el nombre del equipo (en este caso no) y ya. Al aceptar, ha mostrado un montón de cosas que ha ido cambiando. 5 o 10 minutos en movimiento, un reinicio... Y el problema del aviso de más arriba ya no sale.

¿Alguna vez os ha pasado algo similar? Si es así, ¿Cómo lo habéis solucionado?

No hay comentarios:

Publicar un comentario