Migración desde una máquina virtual (VM) a un sistema físico

115

Aka: ¿cómo puedo convertir un .vdi o .vmdk a una instalación real en un disco físico?

¿Es posible / factible migrar una instalación de Virtual Machine de Ubuntu a una máquina física? De ser posible, cuán difícil sería lograrlo y qué pasos debería tomar para prepararme para la migración.

Me gustaría hacer algunas pruebas en una VM y, si funciona, migrar ese sistema a hardware físico en lugar de volver a instalar todo. ¿Es esto posible?

    
pregunta dting 29.03.2011 - 11:42

5 respuestas

90

Sí, es posible. Ni siquiera es tan difícil, solo lleva algo de tiempo, un LiveCD de Ubuntu, plástico rígido y un disco USB externo (si no tienes más de un disco interno).

Paso preliminar: convierte el disco en algo útil

Tanto VMWare como VirtualBox (entre otros) usan formatos de disco que no se prestan bien para ser escritos directamente en el disco. Usted puede pero personalmente creo que es más conveniente escribirlo primero en una imagen intermedia. Puede hacer esto desde su sistema actual sin tener que iniciar en un LiveCD.

  • Cargue una terminal e inicie sesión en ella:

    cd /media/wherever-the-image-is/
    
    # for VMWare
    sudo apt-get install qemu-kvm
    qemu-img convert your-vmware-disk.vmdk -O raw disk.img
    
    # For VirtualBox
    VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX
    
  • Mueve /media/wherever-the-image-is/disk.img a alguna parte en la que no estés a punto de escribir. Si planea escribirlo en el disco en el que está actualmente sentado, querrá pegarlo en un disco interno separado o, peor aún, en un disco externo.

  • Las siguientes instrucciones asumen que lo has movido a /media/dave/disk.img ( dave es un disco USB externo)

  • Antes de escribir en serio, asegúrese de tener copias de seguridad . Es un tópico que decir, pero hay un error tipográfico y hay una posibilidad muy real de que destruyas tu sistema. Suponga que las cosas van a salir mal y prepárese. CloneZilla puede ayudarlo a realizar copias de seguridad completas de discos si tiene algún lugar donde almacenar esos datos.

Escribe la imagen en un disco propio

Querrás hacer algo como esto. Esto supone que va a sobrescribir un disco completo. Si desea realizar una instalación junto con Windows, ¡no siga estas instrucciones! Pase a las viñetas.

  • Arranque en un Live CD de Ubuntu y haga clic en Probar Ubuntu.

  • Monta tu lugar donde se está almacenando tu imagen vmdk (por ejemplo, el disco USB externo como /media/dave ). Haga no monte el lugar donde desea escribir.

  • Luego vamos a trabajar:

    sudo dd if=/media/dave/disk.img of=/dev/sdX
    

    Desea reemplazar sdX con la ruta correcta a su disco de destino. La contraseña de sudo está en blanco, simplemente presiona return.

  • Luego puede abrir gparted u otra cosa y debería ver su partición Ubuntu en el disco. Deberías poder expandirlo.

Escribe la imagen en un disco junto con otro sistema operativo

Esta es quizás una forma más segura de hacer las cosas. La idea es muy similar, aparte de hacer una instalación adecuada de Ubuntu y luego simplemente sincronizar los archivos de disk.img .

  • Su LiveCD esta vez tendrá que ser la misma versión de Ubuntu que su instalación virtual. Arranque en Live CD y, de nuevo, haga clic en Instalar.

  • Sigue al instalador, distribuye las cosas como mejor te parezca. Unos 10 minutos más tarde, lo instalará y le pedirá que reinicie. No reiniciar. No importa si accidentalmente lo hace, solo asegúrese de estar de regreso en el LiveCD para las siguientes instrucciones.

  • Monta la partición de tu nueva instalación y tu disco externo donde almacenaste el disk.img de antes (solo haz doble clic en nautilus).

  • Monta tu disk.img ISO en una terminal:

    sudo mkdir /media/oldinstall
    sudo mount -o loop /media/dave/disk.img /media/oldinstall
    

    -Nota: después de crear el archivo .img deseado, a veces, cuando intenta montarlo como un dispositivo de bucle, es posible que obtenga el siguiente error

    "Falta la firma NTFS.  Error al montar '/ dev / loop0': argumento inválido  El dispositivo '/ dev / loop0' no parece tener un NTFS válido. "

    Un archivo .img a veces contiene un registro de inicio maestro y una tabla de particiones antes de la partición real que es posible que desee montar. Por lo tanto, debe averiguar el desplazamiento de la partición requerida. Para esto, uno puede usar la herramienta parted . Por ejemplo, mire la respuesta de sisco311 en este enlace enlace

    Entonces, si ha determinado que su desplazamiento es 'xxx', entonces puede montar su partición usando

    sudo mount -o loop,offset=xxx /media/dave/disk.img /media/oldinstall
    
  • A partir de ahí, puede seleccionar los archivos o simplemente copiar todo sobre la nueva instalación de Ubuntu usando algo como:

    sudo rsync /media/oldinstall/ /media/my-new-install/
    
  • Reinicia y deberías ser recibido con tu antigua instalación de VMWare, pero en bare metal. Si tienes problemas de grub desagradables, puedes solucionarlo volviendo a Live CD, enloqueciendo y arreglando cosas .

respondido por el Oli 29.03.2011 - 12:44
8

Tal vez no sea exactamente lo que está pidiendo, pero puede lograr lo que quiere hacer.

Como todas sus configuraciones están almacenadas en su directorio de inicio, puede hacer una copia de seguridad de esta en otra partición en un disco real. Después de instalar Ubuntu nuevo en un disco real, simplemente ejecute el programa de copia de seguridad una vez más para restaurar su directorio de inicio con todas las configuraciones intactas.

Puedes usar un programa de copia de seguridad realmente ordenado llamado Déjà Dup .

Información del centro de software de ubuntu:

Déjà Dup es una herramienta de copia de seguridad simple. Oculta la complejidad de realizar copias de seguridad de manera correcta (cifrada, fuera de sitio y regular) y utiliza la duplicidad como back-end.

Características:

  • Soporte para ubicaciones de copias de seguridad locales, remotas o en la nube, como Amazon S3 o Rackspace Cloud Files

  • Encripta y comprime de forma segura su datos

  • Realiza una copia de seguridad de forma incremental, permitiéndole restaurar desde cualquier copia de seguridad particular

  • Programa copias de seguridad periódicas

  • Se integra bien en su GNOME escritorio

¡terminará en menos de dos horas!

¡buena suerte!

    
respondido por el danizmax 29.03.2011 - 12:32
4

Pruebe UDPCast

La idea es transmitir todo su vmdk de su máquina virtual a la máquina física, donde está escrito en el disco duro físico.

El procedimiento se describe a continuación.

Como tiene un archivo vmdk, puede tener una estación de trabajo VMWare a su disposición, incluso completar la máquina virtual a la que está conectado vmdk. Ejecute su máquina virtual con esta vmdk particular adjunta, pero en lugar de utilizar de forma ordinaria PartedMagic liveCD para arrancar desde.

Cuando se inicia liveCD, navega al menú principal y encuentra el UDPCast Disk Cloning . Sus diálogos son autoexplicativos (vea la captura de pantalla)

Después de seleccionar esta máquina virtual para que sea el sender , debe seleccionar qué unidad desea transmitir (usando la notación Unix, como / dev / sda).

Después de que hayas comenzado sender , también debes iniciar receiver . Como tiene un disco duro físico, asumo que también tiene una PC completa con este disco duro conectado. Lo mismo aquí: necesita iniciar CD en directo con UDPCast Disk Cloning seleccionando receiver esta vez, así como el disco duro físico apropiado.

Vale la pena señalar que debe hacer todos los arreglos necesarios para tener conectividad de red entre su máquina virtual y el hardware físico. Debería tomar las precauciones necesarias si su vmdk contiene datos privados, ya que su contenido fluiría efectivamente a través de su red. Otra cosa es que su disco duro objetivo no debería tener menos capacidad de almacenamiento que la capacidad de su vmdk. Es obvio, pero también vale la pena señalar que su imagen se presenta individualmente en su hdd objetivo y que necesita realizar operaciones adecuadas con gparted o similar para hacer uso de una mayor capacidad de su nuevo disco duro.

    
respondido por el PF4Public 13.02.2016 - 00:24
3

Si tiene VirtualBox instalado, puede convertir el archivo VDI (imagen de la unidad VirtualBox) en formato IMG mediante el uso de VBoxManage command, luego copie en el disco físico, p. ej.

VBoxManage clonehd --format RAW file.vdi file.img

Luego puede usar el comando dd para copiar el archivo en la partición física:

dd if=./file.img of=/dev/<partition_here>

Nota: utilice sudo si es necesario. Tenga cuidado al especificar el dispositivo correcto en / dev.

    
respondido por el kenorb 03.06.2017 - 17:22
0

Si tiene el nuevo disco físico conectado a la máquina, el disco virtual de la VM está encendido, puede convertir VDI a físico sin una conversión intermedia, lo que probablemente le ahorrará un montón de tiempo & amp; Espacio del disco. Esto supone que su disco físico es igual o más grande que el tamaño máximo del disco virtual. En mi caso, el objetivo era convertir un VDI en ZFS zvol, pero el enfoque debería ser el mismo con cualquier dispositivo de bloque.

Primero crea un archivo VMDK apuntando a tu dispositivo de bloque:

VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX

Luego (¡con el cierre de VM!) puede clonar el VDI al VMDK:

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

Eso llevará un tiempo ... Cuando termine, puede eliminar el archivo VMDK ya que solo se usó como un puntero para que VirtualBox encuentre el dispositivo físico.

En mi caso, el nuevo zvol era exactamente del mismo tamaño que el disco virtual. Dado que su disco físico probablemente sea diferente, necesitaría emplear algún tipo de mecanismo de cambio de tamaño de partición para llenar el disco completo. Gparted o algo tal vez. Debería poder señalar eso en el dispositivo físico / dev / sdX mientras está todavía conectado a la máquina de VM para que no tenga que recurrir a los CD de arranque del host físico.

Una vez que haya cambiado el tamaño, coloque la unidad en su máquina física, cruce los dedos y enciéndala.

En el caso de que quisiera seguir utilizando la unidad física con VirtualBox, mantenga el VMDK a su alrededor, y use VBoxManage storageattach para conectarlo a la máquina virtual.

    
respondido por el pendor 15.05.2018 - 15:23

Lea otras preguntas en las etiquetas