Como clonar una máquina ejecutable a máquina virtual


Los sistemas virtualizados estan de moda y por un precio razonable se puede terner un Virtual Private Server decentito. Yo sin ir mas lejos, tengo mi buscador de archivos pdf en un VPS con Debian 6.0 .

Es muy recomendable hacer copias de seguridad de los servidores de rendimiento ante posibles desastres y para tener el sistema base instalado y configurado listo para copiarlo en un disco duro y no tener que volver a instalar y configurar todo el sistema.

Una forma de hacer estas copias de seguridad es clonar el disco completo:

# dd if=[origen] of=[destino]

como el fichero resultante es una copia exacta, bit a bit, del disco duro ...
¿se podria usar como disco duro virtual y ejecutarlo en VirtualBox?
De este modo tendríamos una copia funcional del servidor ademas de una cópia de seguridad.

Pues la respuesta es ... SI:


1) Hacer una imagen del disco duro
Importante: Hay que acceder a la máquina con una distribución live y no montar el disco a clonar.

# dd if=/dev/sda of=/ruta del fichero/newMicra.img

La imagen la grabé en un disco duro USB. Esta imagen tiene el tamaño completo del disco duro aunque el sistema base ocupe menos.
Para reducir el tamaño podemos comprimir el archivo imagen con tar o bzip2.

Para probar si podia arrancar la imagen .img en un sistema virtualizado conecté el disco duro usb en un portatil con Xubuntu 11.04 y VirtualBox 4.1.2 instalado.

3) Convertir la imagen del disco duro en un disco virtual .vdi
VirtualBox no reconcoce el fichero generado por dd, hay que tranformar la imagen en un fichero .vdi

#  VBoxManage convertfromraw -format VDI newMicra.img new.Micra.vdi


4) Dar permisos de lectura y escritura al disco virtual
Para poder activar el discoduro virtual en VirtualBox debe tener permisos de lectura y escritura.


 # chmod a+rw newMicra.vdi

5) Crear la máquina virtual en VirtualBox:

y asignar el disco duro al fichero creado en el dispositivo usb.



6) Ejecutar la máquina virtual y ...



... ya tenemos un clon de nuestro servidor, portable, en un USB, ejecutable en cualquier máquina con VirtualBox y donde poder experimentar sin peligro como si fuera el sistema original.

Otra aplicación de esto sería hacer cópias de seguridad funcionales, potables y ejecutables en cualquier máquina con VirtualBox instalado.