Reducir el tamaño de discos virtuales en VMWare

Una de las cosas que tenía pendiente antes de que mi disco anterior pasara a mejor vida, era reducir el tamaño del disco virtual que usaba para Debian Sid sobre VMWare, puesto inicialmente asigné 16GB al tamaño del disco, de los cuales -- como pueden ver en la imagen -- tan sólo usaba alrededor de 2GB pero el archivo generado era de 9GB.

VMWare Virtual Disks

El proceso es relativamente sencillo y consiste en agregar un nuevo disco virtual y clonar los contenidos del anterior. Los siguientes pasos son necesarios sólo si no tienen instalado algo que les permita modificar de manera fácil las propiedades de la máquina virtual (en otras palabras, si no instalaron VMWare Workstation):

  • Crear copia de seguridad del archivo de configuración de la máquina virtual.
  • Crear y añadir un nuevo disco virtual: para obtener un nuevo disco pueden descargar discos vacíos o crearlo usando QEMU con la siguiente orden:

    code:
    qemu-img create -f vmdk disco-nuevo.vmdk 5G
    .

    A continuación, se debe editar el fichero de configuración de la máquina virtual y agregar los siguiente:

    code:
    ## Si usan discos SCSI
    scsi0:1.present = "TRUE"
    scsi0:1.fileName = "disco-nuevo.vmdk"

    scsi0:1.redo = ""

    ## Si usan discos IDE
    ide0:1.present = "TRUE"
    ide0:1.fileName = "disco-nuevo.vmdk"
     
  • Clonar el disco anterior en el nuevo disco: para esta tarea pueden usar cualquier software que permita clonar discos y soporte el sistema de archivos del sistema operativo instalado sobre VMWare. En mi caso hice uso de la versión DOS de Norton Ghost, el cual -- como seguramente ya saben -- pueden conseguirlo gracias al buscador y/o cliente P2P/BitTorrent que prefieran. 🙄

    VMWare Norton Ghost

  • Quitar el disco anterior e iniciar la máquina virtual: para esto volvemos a editar el archivo de configuración y quitamos las líneas agregadas en el primer paso y luego reemplazamos todas las referencias del disco anterior por el nuevo. Los que no quieren complicarse la vida pueden crear una nueva máquina virtual.

    Uno de los problemas que tuve y por motivos técnicos que desconozco, fue que GRUB no terminaba de cargar, pero esto fue resuelto fácilmente con Super Grub Disk.

Luego de unos minutos finalmente logré mi objetivo: 🙂

code:
alex@hell:~$ df -h
S.ficheros          Tamaño Usado  Disp Uso% Montado en
/dev/sda1             4.2G  2.7G  1.4G  67% /
tmpfs                  62M     0   62M   0% /lib/init/rw
udev                   10M   52K   10M   1% /dev
tmpfs                  62M     0   62M   0% /dev/shm
alex@hell:~$

Lo bueno de esta forma para reducir el tamaño de discos virtuales es que no hay que sacar una copia de seguridad de los discos, tan sólo del archivo de configuración -- aunque tampoco es estrictamente útil ya que podemos crear nuevas máquinas virtuales importando los discos anteriores.