Buscar este blog

Mostrando entradas con la etiqueta vdi. Mostrar todas las entradas
Mostrando entradas con la etiqueta vdi. Mostrar todas las entradas

miércoles, 25 de febrero de 2009

Liberar espacio en VDIs de VirtualBox

Ya hemos visto como instalar VirtualBox y como crear máquinas virtuales, estas máquinas virtuales las instalábamos en discos virtuales (con extensión .vdi) que creamos con un tamaño máximo (VBoxManage createvdi -filename Disco1.vdi -size 30000 -register).

Podemos observar que el tamaño del fichero que contiene el disco virtual va creciendo conforma vamos instalando cosas en la máquina virtual. Pero ¿qué pasa cuando borro cosas de mi máquina virtual? lamentablemente el fichero .vdi continua ocupando el mismo espacio. Esto puede ser perjudicial para nuestro sistema, ya que teníamos previsto que pudiera llegar a 30GB pero no es molesto trabajar con ficheros tan grandes. Sobre todo si tenemos que hacer copias de seguridad de las máquinas virtuales.

Aquí tengo una solución para máquinas virtuales Microsoft Windows. En mi caso es un Windows 2003 Server, en el que puedo ver desde el sistema virtualizado que solo tiene ocupado 5GB, pero desde el sistema hospedador llega a 8.3GB.
/hdc# ls -lh
total 8,3G
-rw------- 1 root root 8,4G 2009-02-25 10:44 win2003server.vdi

Para solucionar este problema de espacio necesitamos descargar nullfile-1.2.exe, según he encontrado en está web, para Linux hay que descargar zerospace.c y compilarlo. Pero personalmente aún no lo he probado.

Para utilizar nullfile-1.2.exe, recomiendan desfragmentar un par de veces el disco virtualizado desde la máquina virtual y después ejecutarlo desde la máquina virtual. Cuando lo ejecutas se lanza un proceso que tarda algunos minutos, supongo que dependerá del tamaño del disco.

Una vez que ha terminado la ejecución apagas la máquina virtual y desde la máquina hospedadora ejecutas VBoxManage modifyvdi < disco virtual (.vdi) > compact, y este es el resultado.
/hdc# VBoxManage modifyvdi /hdc/win2003server.vdi compact
VirtualBox Command Line Management Interface Version 1.6.6
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

Shrinking '/hdc/win2003server.vdi': 0%...........10%..........20%..... ....70%..........80%..........90%..........100%
/hdc# ls -lh
total 4,4G
-rw------- 1 root root 1,6K 2009-02-25 11:18 2009-02-25-10-12-21.036-VBoxManage-3493.log
-rw------- 1 root root 4,4G 2009-02-25 11:18 win2003server.vdi

Como podéis ver el tamaño de mi fichero .vdi ha sido reducido considerablemente. He pasado de tener un fichero de 8.3GB a uno de 4.4GB. Ahora mis backup son mucho menos pesado, así que tardo menos tiempo en hacerlos.

jueves, 27 de noviembre de 2008

vdi is already registered

Es posible que algún día necesitemos restaurar una copia de una máquina virtual que teníamos instala. O simplemente pretendemos copiar una máquina virtual para tener dos y no tener que esperar el tiempo de instalación.

Para hacer esto tenemos que registrar el fichero.vdi en el servidor de VirtualBox. Para hacer esto haremos:
VBoxManage registerimage disk fichero.vdi -type normal
Si este fichero.vdi ya ha estado funcionando en este servidor de VirtualBox no mostrará el siguiente error.
VirtualBox Command Line Management Interface Version 1.6.6
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling virtualBox->RegisterHardDisk(hardDisk) at line 6478!
[!] Primary RC = NS_ERROR_INVALID_ARG (0x80070057) - Invalid argument value
[!] Full error info present: true , basic error info present: true
[!] Result Code = NS_ERROR_INVALID_ARG (0x80070057) - Invalid argument value
[!] Text = A hard disk with UUID {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} or with the same properties ('fichero.vdi') is already registered
[!] Component = VirtualBox, Interface: IVirtualBox, {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}
[!] Callee = IVirtualBox, {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}
Para solucionar esto podemos clonar el fichero.vdi, de forma que le asignará un nuevo identificador y podremos registrar el fichero.vdi resultante.
VBoxManage clonevdi DiscoAClonar.vdi DiscoResultante.vdi
VirtualBox Command Line Management Interface Version 1.6.6
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Una vez terminado el proceso de clonación podremos registrar el nuevo fichero.vdi.
VBoxManage registerimage disk DiscoResultante.vdi -type normal

DynDns OVH Sincronización de IP pública dinámica

  Si tienes un servidor en casa o detrás de una conexión con IP dinámica, sabes que tarde o temprano tu dirección IP pública cambia y tu dom...