martes, 25 de marzo de 2014

Comprimir Maquina Virtual con VirtualBox

Host: OS X Mavericks
Guest: Ubuntu 12.04
Particion: ext4
Provider: VirtualBox

En el Guest, se debe instalar zerofree.
(zerofree es compatible con particiones ext2, ext3, ext4)

# sudo apt-get install zerofree

Luego reiniciar el equipo en modo recovery-mode, y luego seleccionar: root - Drop to root shell prompt.
Ejecutar el comando df, donde se listaran los medios disponibles en el equipo.
Vamos a asumir que el dispositivo que vamos a comprimir es /dev/sda1.

Montamos el dispositivo:
# mount -n -o remount,ro -t ext4 /dev/sda1 /

Ejecutamos zerofree:
# zerofree -v /dev/sda1

Luego apagar la maquina virtual:
# shutdown -h now

Luego comprimir la maquina virtual con los comandos de VirtualBox en la terminal de Mavericks:
# VBoxManage modifyhd --compact ubuntu12.vdi 

Nota: reemplazar "ubuntu12.vdi", por el archivo vdi correspondiente a tu maquina virtual.

Fuentes:
zerofree: http://manpages.ubuntu.com/manpages/saucy/man8/zerofree.8.html
http://www.maketecheasier.com/shrink-your-virtualbox-vm/
http://dantwining.co.uk/2011/07/18/how-to-shrink-a-dynamically-expanding-guest-virtualbox-image/

Otras alternativas:
http://unix.stackexchange.com/questions/11100/how-to-make-ext4-filesystem-sparse
http://superuser.com/questions/529149/how-to-compact-virtualboxs-vdi-file-size