Datos personales

jueves, 27 de noviembre de 2008

VirtualBox. Clonar máquinas virtuales

Si queremos hacer una copia de una máquina virtual ya creada y con el/los sistema/s operativo/s ya instalado/s, hay que utilizar el comando que proporciona VirtualBox para clonar discos duros. En realidad, lo que se clona es el disco duro y no la máquina completa. El nuevo disco duro se podrá agregar a una nueva máquina al ser creada o a una máquina ya existente.

Cuando se crea una máquina virtual, VirtualBox asigna un identificador al disco duro agregado a la máquina. Si este disco duro se copia, el nuevo disco duro mantiene el mismo identificador que el original, por lo que, al intentar agregarlo a otra máquina desde VirtualBox, se genera un error porque el identificador de disco ya existe. Este es el motivo por el que hay que clonar, y no copiar, el disco duro con la utilidad que proporciona VirtualBox.

Al clonar un disco duro, VirtualBox asigna al disco clonado un nuevo identificador y una nueva dirección MAC.

Cuando se instala VirtualBox se crea un directorio oculto, llamado .VirtualBox, en el directorio home del usuario, que contiene las carpetas Machines, donde se crea una carpeta para cada máquina existente con sus ficheros logs y sus características, y VDI, que contiene los discos duros creados desde VirtualBox. A no ser que se indique lo contrario, este directorio oculto es el que emplea VirtualBox para realizar todas sus operaciones.

Para clonar un disco duro se utiliza la orden VBoxManage clonevdi, que recibe como argumentos el nombre del disco duro a clonar y el nombre del nuevo disco duro. Si ejecutamos la orden VBoxManage desde un terminal, se mostrarán todas sus opciones. En la ayuda de VirtualBox podemos consultar las acciones que se pueden realizar con VBoxManage.

A modo de ejemplo, vamos a clonar un disco duro, llamado Proyecto.vdi, en un nuevo disco duro, llamado Proyecto1.vdi.

La siguiente orden visualiza el disco duro original y su ubicación:

coralio@elnuevo:~$ ls .VirtualBox/VDI
Proyecto.vdi

Para clonar este disco duro se utiliza la siguiente orden:

coralio@elnuevo:~$ VBoxManage clonevdi Proyecto.vdi Proyecto1.vdi
VirtualBox Command Line Management Interface Version 1.6.0
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%.....70%...80%...90%...100%

La siguiente orden muestra el nuevo disco duro y su ubicación:

coralio@elnuevo:~$ ls .VirtualBox/VDI
Proyecto1.vdi Proyecto.vdi

En este ejemplo vemos que todas las acciones se han realizado en el directorio que VirtualBox utiliza de forma predeterminada. Si queremos utilizar otro directorio, hay que indicar la ruta completa en el nombre del disco duro original y en el nombre del disco duro clonado.

A partir de este momento, el disco duro clonado se puede agregar a una nueva máquina sin generarse ningún error y podremos utilizar todas nuestras máquinas virtuales simulando una red, junto con el equipo anfitrión. Ver el artículo, en este mismo blog, para configurar la red de VirtualBox en Linux.

5 comentarios:

Madrikeka dijo...

Bua!! llevo buscando esto unos días...y gracias a un colega que me ha pasado tu link tengo la solución!!

muchas gracias!!!!

Guille dijo...

he tratado de hacer lo mismo en windows xp, pero me sale error: entro a la siguiente ruta: c:\archivos de programa\sun\xVM VirtualBox\clonevdi maquina1.dvi maquina2.dvi
y sale el error: cannot register the hard disk y tras cosas mas,
puedes enviarme una ayuda para windowsxpsp3 ?
gracias

Victor L. dijo...

Hola, a ver si me podeis echar una mano. No consigo que me reconozca el el comando vboxmanage para poder clonar un disco. Supongo que lo hago bien desde ejecutar de la máquina anfitrión,
Un saludo y gracias.

Anónimo dijo...

Para clonar máquinas virtuales en cuando el anfirión es windows 7 es igual pero con C:\Program Files\Sun\VirtualBox\vboxmanage.exe clonevdi origen.vdi destino.vdi

Marcelo dijo...

Tu posteo me ha ayudado a completar la copia de un VM. Gracias!
Aclaro que lo hice con la opción clonehd que leyendo el manual es el nuevo comando de VBoxManager.
Saludos.