Cabecera PRINCIPAL

Claves: técnico, redes, networks, microsoft, open source, gnu, programador, software, hardware, desarrolladores

Juan Enrique Gómez Péérez

domingo, 20 de septiembre de 2009

Espacio en disco, vhd, sabado noche, y alcohol


Siempre he pensado como escribir blogs con post a diario, y si puede ser con algo de sentido del humor pues mejor que mejor. La verdad es que no es una de mis virtudes, así que vamos a ver si al menos nos ponemos el reto de actualizar este dichoso blog una vez a la semana, algo que debería ser sencillo para un tío como yo que es animal de costumbres.

Siguiendo la linea de contar mis experiencias en la faceta de técnico, anoche me ocurrió algo que quizas os haya ocurrido y hayáis visto de manera sencilla como solucionar, pero a mi me imponía bastante, ya que se trataba de un problema con un sistema en producción (apagado en ese momento por el problema) el cual había que tratar con sumo cuidado, mi amigo Exchange 2007.

El problema básicamente consistía que nuestro Operations Manager me lanzó una alarma durante la tarde, diciendo que el volumen C: estaba por debajo del umbral de espacio permitido, así que nada, sesión de TS y efectivamente, 4 Gb libres en C: (es un volumen de 250Gb) y cayendo empicado. Que las máquinas se suspendieran era cuestión de minutos, así que opté por la solución de apagarlas de inmediato (ahora entenderéis por que).

El problema del espacio en C: era algo recurrente, ya había ocurrido previamente en otras ocasiones, y tenía en mente haber puesto solución, pero esta semana revisando el sistema de copias vi que curiosamente el fichero VHD de una de estas máquinas, tenía fecha fija en junio de 2009. Esto me hizo pensar, que los ficheros VHD estaban creciendo de manera desorbitada en otro lugar ya que sabía que los ficheros de las dos máquinas virtuales deberían medir 100Gb y 20Gb, y evidentemente algo estaba ocupando los 250Gb y crecía deprisa.

La primera opción fue ir a ver las instantaneas de las máquinas virtuales, pero ninguna tenía ninguna activa, dandole vueltas no podía ser nada más que eso que creciera tan deprisa, así que echamos un ojo al directorio de instantaneas por defecto "C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots", y voila, dos ficheros de 118Gb y otro de 48Gb, bien pues nada un breve vistazo a technet, y verificamos que el problema está en que solo se realiza la mezcla (merge) cuando la máquina está apagada, así que tuvimos una buena idea, es solo tema de esperar y listo.... tic tac tic tac....

tras un rato largo, llega al 29% del mezclado, y desaparece el mensaje..... ay! dios. una horrible sospecha, no será que va a necesitar espacio para hacer el merge de los ficheros vhd y avhd (los avhd son los ficheros de los snapshots). Efectivamente 0 bytes libres. Bueno tras un rato de googlear resulta que encuentro como de manera sencilla podemos mezclar un VHD con un AVHD, pero el problema es que tengo 2 y no se cual es el primero de los dos :-( (en un futuro post hablaremos como mezclar dos vhd). Así que la única opción que me va quedando es buscar más sitio.

El método es de lo más tonto, y sencillo. Exportar la máquina a un disco con espacio suficiente, borrar la máquina y los vhd, y volverla a importar en el disco con espacio. Así de simple... Como se hace, pues vamos al lio.

En la máquina que tenemos el problema elegimos la opción de exportar:


A continuación nos solicitará donde queremos exportar la máquina virtual, este export necesita por supuesto que vaya a un disco donde tengamos espacio suficiente. Elegimos la unidad, y el sistema se encargará de en el export mover todos los archivos necesarios, de configuración, vhds, snapshots (instantaneas), etc. con la diferencia que los archivos xml de configuración serán cambiados a ".exp".


Cuidado no marquéis la opción de exportar solo la configuración de la máquina virtual (Export only the virtual machine configuration) ya que entonces no exportará ni los vhd ni los avhd.

Ahora solo toca esperar, al final en el path que hemos dicho tendremos todos los datos de nuestra máquina exportados y disponibles, y la máquina original donde estaba. Es momento para borrarla y liberar el espacio. Una vez borrada desde la opción importar de Hyper-V vamos a volver a recuperar nuestra máquina. Ojo, antes de importarla pongamos los ficheros de toda la máquina donde queramos que se quede, por ejemplo yo use para exportar el path "v:\vms\export" y no me gusta que la máquina en producción se quede así, algo mejor como "V:\VMs", así que mueve los ficheros, y vamos al importar.


A continuación nos solicitará el path donde están los archivos, ojo por que lo que nos está pidiendo es el directorio donde están los archivos de la máquina virtual, por ejemplo, si no movimos la máquina de directorio, y la exportamos a "V:\VMs\export" lo que tendremos que elegir es el directorio "V:\VMs\export\MAQUINA".

En las opciones de importar hay varios temas importantes que detallo:

- Mantener el GUID, si no hemos borrado la máquina original y es el mismo host en el que importamos, es importante que genere un nuevo GUID por que sino tendremos problemas. No importa que las máquinas se llamen igual se diferencian por el GUID no por el nombre. (Off-Topic: esto funciona y se ve perfectamente en el complemento de Hyper-V sin embargo en el System Center VMM si las máquinas se llaman igual no es capaz de mostrarlas, tendrás que ir al complemento de Hyper-V y renombrar una de ellas que en el si verás las dos).



- El directorio que importemos tenía unos ficheros .exp con los datos de la exportación, al importar estos son convertidos a ficheros de configuración .xml y ya no se podrá volver a importar esa máquina del directorio.

- Probablemente (bueno seguro) perderás la configuración de la/s tarjetas de red, así que si quieres que todo vaya bien, antes de arrancar la máquina entra en la configuración y vuelve a configurarlas en la máquina virtual (si es el mismo host, arrancará según las configures perfectamente)

- Y si eres como yo y tu objetivo final es que los discos se mezclen (merge) entonces deberás dejar la máquina apagada :-)

A disfrutar.