martes, 29 de julio de 2008

Cómo comprimir ficheros de discos en Virtual PC (.VHDs)

Para el tema de MOSS una de las herramientas que mas apoyo nos brinda es Microsoft Virtual PC, entre otros porque nos permite entre tantas facilidades, el crear pruebas conceptos tanto para proyectos como para poner a prueba caracteristicas del producto y los efectos de los service packs, hot fixes y otros arreglos antes de tocar los ambientes de produccion. Particularmente con sharepoint, las maquinas virtuales tienden a crecer de forma tal que se puede volver inmanejable el tema del espacio, por lo que me he animado a compartir con uds este tip interesante que me tope en otro blog:

Uno de los problemas más conocidos de Virtual PC es que los ficheros de discos virtuales (.VHDs) pueden crecer desmesuradamente hasta el límite que hayamos definido al momento de crearlos (Por ejemplo para las VPC que he creado para los laboratorios de MOSS). Parte de esto es porque los ficheros .VHD se expanden dinámicamente cuando aplicaciones de software son instaladas en el .VHD. a pesar de que aun después de la instalación los archivos originales de instalación son eliminados y en teoría no ocuparían más el espacio en el .VHD, pero lo que sucede en realidad es que el .VHD no se compacta dinámicamente en tamaño. Una vez que un .VHD se expande – no se compacta automáticamente.

POR EJEMPLO: Si la instalación de un producto como Microsoft Office Sharepoint Server utiliza 500MB para expandir sus archivos de instalación y consume 340MB en el directorio \Archivos de Programa, el .VHD se expandirá en esa misma proporción. Cuando los 500MB de los ficheros de instalación son subsecuentemente eliminados al culminar la instalación, el fichero .VHD no disminuirá en esa cantidad de espacio.

Normalmente, no nos preocupamos por el espacio que pudiéramos consumir con los .VHD de Virtual PC y general estaríamos hablando de unos 3-4GB de espacio desperdiciado y quizás hasta más con los entornos virtualizados de MOSS debido al crecimiento de las bases de datos que pudieran ser redimensionadas con tareas de mantenimiento, LOGS que posteriormente son borrados. Así que la pregunta es , "Cómo comprimir el tamaño de un fichero .VHD cuando sabemos que ha crecido innecesariamente?" Así es como podemos recuperarlo:

1. Limpiar la máquina de archivos temporales
Con la utilidad CCLEANER.EXE de http://ccleaner.com/ borra todos los archivos temporales de la instalación de Windows, cache del Internet Explorer, Papelera de Reciclaje, y un gran cantidad de directorio "basura"/"temp" en la VPC. Tener en cuenta que instala innecesariamente la barra de yahoo que si no caemos en cuenta la podemos desinstalar sin problema.

2. Desactivar Hibernación
Si está encendida la hibernación, existirá un colosal fichero llamado hiberfil.sys en la raíz de la .VHD. Yendo a Power options en Control Panel y desactivando la hibernación nos quitamos de encima este fichero.
3. Capturar el Virtual Disk Precompactor .ISO
En el menú dentro de la Virtual PC que se está utilizando, habilitar la imagen ISO Virtual Disk Precompactor .ISO que está ubicada en:c:\archivos de programa\microsoft virtual pc\virtual machine additions\virtual disk precompactor.iso

4. Ejecutar el Precompactactador
Dentro de la Virtual PC ir a Mi PC y doble clic en el CD del disco virtual montado. Comenzará a ejecutarse la aplicación de pre-compactación la cual esencialmente limpia todo el espacio no utilizado, dejándolo disponible para su eliminación a través del Virtual Disk Wizard, el cual utilizaremos en el próximo paso. Este proceso puede tomar unos 15 minutos.

5. Apagar la Virtual PC

6. Ejecutar el Asistente de Discos de VPC2007
Desde la consola de Virtual PC , clic en Asistente de Disco Virtual y luego seleccionar "Editar un disco virtual existente". Preguntará para identificar el fichero .VHD para reducir en tamaño - seleccionarlo.

7. Compactar el fichero .VHD
Seleccione la opción "Compactar" teniendo marcada la opción "Reemplazar el archivo original". Esto tomará unos minutos. Considerar que el equipo host de las maquinas virtuales necesitará un espacio libre considerable de acuerdo al menos el tamaño del fichero .vhd.

Cuando este proceso finaliza, obtendremos un fichero .VHD file mucho más pequeño.

1 comentario:

vic dijo...

muchas gracias tio,
esque yo tengo el windows nt 4 y me parecia raro que ocupase 1 giga...

he hecho el proceso y ya no ocupa casi