sábado, 29 de septiembre de 2012

Compactando VDI en Linux

Introducción

Entorno:

  • Host: Windows 7
  • Guest: Ubunut 12.04 Server
  • Virtualizador: Virtual Machine

Como sabemos al eliminar un archivo de cualquier Sistema Operativo (SO) este no se elimina realmente del disco duro (DD), lo que se hace es se eliminan las direcciones de donde este se almacena  de esta manera esta "oculto" para el SO pero el espacio que utilizaba sigue estando "ocupado" por el archivo.

Esto no tiene repercusión en un DD físico utilizado por un SO pero sí para un DD virtual (VDI) ya que este espacio NO se reutiliza hasta que se comienza a llenar el VDI y obviamente nuestro archivo VDI que se almacena en el DD crece hasta el límite dependiendo del tamaño que le hallamos asignado en nuestra máquina virtual.

Supongamos este escenario:

  1. SO Linux instalado con todo lo que necesitamos: tamaño del VDI 2.5G, tamaño real usado*: 2.5G
  2. Copiamos videos a nuestra máquina virtual o cualquier archivo grande, tamaño del VDI 5.7G, Tamaño real usado*: 5.7G
  3. Eliminamos estos archivos de la máquina virtual, tamaño del VDI 5.7G, Tamaño real usado*: 2.5G

* Para conocer el tamaño real utilizado en Linux podemos teclear en una consola el siguiente comando.


df -h

Como nos podemos percatar en el punto 3 nuestro archivo ya utilizó el espacio anterior y NO vuelve a hacerse pequeño nuestro archivo VDI.

Existen comandos de VirtualBox que "compactan" este archivo pero si los utilizamos en este punto nos daremos cuenta que al finalizar el comando el archivo sigue teniendo exactamente el mismo tamaño :(

Manos a la Obra.

1. Instalando lo necesario

sudo apt-get install secure-delete

2. Secure Delete tiene 4 herramientas que les pueden ser muy útiles

srm (secure remove), que permite borrar archivos y directorios en forma permanente
smem (secure memory wiper), que permite limpiar tu memoria RAM
sfill (secure free space wiper), que limpia en forma permanente todo el espacio libre de tus discos
sswap (secure swap wiper), que limpia en forma permanente toda la información almacenada en la partición swap.

3. De momento solo utilizaremos una de ellas: sfill

sudo sfill -f /

Este proceso demora bastante así que les recomiendo realizarlo en la noche xD

Una vez finalizado observarán que el archivo VDI creció al límite, es decir si hicieron el VDI de tamaño 100G en VitualBox ahora el archivo utiliza 100G.

Esto es normal puesto que sfill llenó de ceros TODO el espacio libre del VDI

4. Compactando el VDI

Ahora si estamos listos para compactar nuestro archivo y como el VDI tiene perfectamente identificado el espacio libre esta compactación resultará como esperamos.

Windows.

Como ahora utilizo Windows como Host (y es magnifico por cierto) encuentro todo con un click, existe un programa llamado Clone VDI, lo pueden descargar de http://allmyapps.com/apps/clonevdi-virtualbox.

Lo ejecutamos y dejamos estas opciones:



Linux

VBoxManage modifyhd /RUTA/NOMBRE_DEL_ARCHIVO --compact

Listo ahora tenemos de nuevo nuestro archivo de 2.G.

Saludos !



No hay comentarios:

Publicar un comentario