GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo migrar máquinas virtuales de Virtualbox a máquinas virtuales KVM en Linux

¿Está decidido a cambiar de Oracle VirtualBox a una máquina virtual basada en kernel? ¡Estupendo! Esta guía paso a paso explica cómo migrar máquinas virtuales Virtualbox a máquinas virtuales KVM en Linux.

Es posible que esté ejecutando algunas máquinas invitadas importantes en VirtualBox. En lugar de crear nuevos invitados KVM con la misma configuración, puede convertir fácilmente las máquinas Virtualbox existentes a KVM como se describe aquí.

Migrar máquinas virtuales de Virtualbox a máquinas virtuales KVM en Linux

Primero, apague todas las máquinas virtuales en ejecución en VirtualBox.

Para el propósito de esta guía, usaré CentOS y FreeBSD máquinas virtuales alojadas en VirtualBox.

Como ya sabrá, el formato de imagen de disco predeterminado de una máquina virtual KVM es .qcow2 y Virtualbox VM es .vdi .

Podemos convertir un archivo de imagen de disco vdi a qcow2 de dos maneras. Podemos convertir directamente el vdi imagen a qcow2 formato.

Si no funciona por alguna razón, primero podemos convertir el vdi formato a formato sin formato y luego convertir el formato sin formato a qcow2 .

1. Convierta el formato de imagen vdi al formato de imagen qcow2

Déjame mostrarte el tipo de imagen de disco de mi máquina virtual CentOS creada con VirtualBox.

$ ls CentOS\ 8\ Server/

Salida de muestra:

CentOS 8 Server.vbox CentOS 8 Server.vbox-prev CentOS 8 Server.vdi Logs

Como habrá notado, el tipo de archivo de la imagen de disco de la VM de CentOS es .vdi . Para aquellos que se preguntan, VDI es el formato nativo de VirtualBox. VirtualBox usa este formato por defecto cuando creamos una nueva máquina virtual.

Y aquí está el tipo de archivo de la imagen de disco de FreeBSD:

$ ls FreeBSD\ 12/
FreeBSD-12.0-RELEASE-amd64.vhd freebsd12.qcow2 FreeBSD 12.vbox FreeBSD 12.vbox-prev Logs

Aquí, el tipo de archivo de imagen de disco de freebsd es .vhd . VHD es el formato nativo de Microsoft Virtual PC.

Creé ambas máquinas virtuales en VirtualBox. Pero Virtualbox usó .vdi formato para CentOS y .vhd formato para FreeBSD.

VirtualBox admite muy bien los formatos VDI y VHD. Y ambos tipos de imágenes se pueden convertir fácilmente al formato qcow2.

Ahora volvamos al tema:cómo convertir las imágenes de disco de la máquina Virtualbox al tipo de imagen de disco compatible con KVM usando "qemu-img" ¿dominio?

Bueno, ¡es fácil! El qemu-img El comando se usa para convertir imágenes de disco de máquina virtual a varios formatos diferentes, incluido qcow2 , raw , vdi , vhd y vmdk .

Para convertir un vdi imagen a qcow2 imagen usando qemu-img comando, ejecutar:

$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi -O qcow2 centos8.qcow2

El comando anterior convertirá el vdi dado archivo a qcow2 formato.

Aquí, usamos -O qcow2 para especificar explícitamente el formato de salida. Por supuesto, no tiene que especificar explícitamente el formato de salida y simplemente especifique el formato de entrada y salida como se muestra a continuación:

$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi centos8.qcow2

Pero creará una imagen de mayor tamaño.

Del mismo modo, puede convertir el vhd archivo de imagen a qcow2 imagen usando el siguiente comando:

$ qemu-img convert FreeBSD\ 12/FreeBSD-12.0-RELEASE-amd64.vhd -O qcow2 freebsd12.qcow2

Así es como migramos máquinas Virtualbox Virtual a máquinas virtuales KVM.

Ahora diríjase a "Crear una máquina virtual KVM a partir de la imagen Qcow2 " que se proporciona a continuación para saber cómo crear una nueva máquina virtual KVM usando las imágenes de Qcow2.

En caso de que el método anterior no funcione (lo cual es muy poco probable), puede usar el siguiente método para convertir vdi imágenes a qcow2 imágenes.

2. Convierta vdi a formato de imagen sin procesar y luego a formato de imagen qcow2

Primero, busque la lista de imágenes de disco de virtualbox disponibles y su ubicación usando el comando:

$ vboxmanage list hdds

O,

$ VBoxManage list hdds

Salida de muestra:

UUID:           ecfb6d5c-aa10-4ffc-b40c-b871f0404da8
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/sk/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi
Storage format: VDI
Capacity:       20480 MBytes
Encryption:     disabled

UUID:           34a5709f-188c-4040-98f9-6093628c3d88
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/sk/VirtualBox VMs/Ubuntu 20.04 Server/Ubuntu 20.04 Server.vdi
Storage format: VDI
Capacity:       20480 MBytes
Encryption:     disabled

Como puede ver, tengo dos máquinas virtuales virtualbox.

Ahora voy a convertir la imagen de disco de las máquinas CentOS 8 a un formato de disco sin formato usando vboxmanage comando:

$ vboxmanage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

O,

$ VBoxManage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

Salida de muestra:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'RAW'. UUID: afff3db8-b460-4f68-9c02-0f5d0d766c8e

La imagen RAW es demasiado grande usar. En mi caso, la imagen RAW es diez veces más grande que la imagen Qcow2.

$ du -h CentOS_8_Server.img 
21G CentOS_8_Server.img

Así que vamos a convertir el formato de imagen RAW en formato de disco KVM, es decir, qcow2 comprimido usando el comando qemu-img:

$ qemu-img convert -f raw CentOS_8_Server.img -O qcow2 CentOS_8_Server.qcow2

¡Hecho! Hemos convertido el formato de imagen de disco de Virtualbox VDI en formato de imagen KVM qcow2.

Compruebe el tamaño de la imagen Qcow2:

$ du -h CentOS_8_Server.qcow2 
2.1G CentOS_8_Server.qcow2

¿Ver? Qcow2 es mucho más pequeño que la imagen RAW.

3. Cree una máquina virtual KVM a partir de la imagen Qcow2

Ahora puede crear una nueva instancia de KVM importando el archivo de imagen del disco virtual desde la línea de comandos o usando cualquier aplicación gráfica de administración de KVM como Virt-manager o cabina consola web.

Consulte la siguiente guía para obtener más detalles:

  • Cómo crear una máquina virtual KVM usando la imagen Qcow2

Resolución de problemas

A veces, es posible que haya eliminado el disco virtual sin liberarlo correctamente del administrador de medios de Virtualbox.

Cuando intente crear una nueva imagen RAM desde el mismo archivo VDI, obtendrá un error similar a:"hard disk with UUID already exists" .

Para solucionar este problema, debe liberar el disco virtual de Virtualbox e intentar convertir la imagen nuevamente. Consulte la siguiente guía para saber cómo hacerlo:

  • Reparar el problema "el disco duro con UUID ya existe" en VirtualBox

Conclusión

En esta guía, hemos visto cómo migrar máquinas virtuales Virtualbox a máquinas virtuales KVM en Linux. También analizamos cómo crear una nueva instancia de KVM importando el archivo de imagen Qcow2.


Linux
  1. Cómo particionar y formatear una unidad en Linux

  2. Cómo formatear particiones de disco en Linux

  3. ¿Cómo crear una imagen de Kali Linux en formato QCOW2 para OpenStack?

  4. Cómo migrar de CentOS 8 a Rocky Linux 8

  5. Linux KVM en un Virtualbox

Cómo instalar VirtualBox en diferentes distribuciones de Linux

Cómo convertir xlsx a formato CSV en Linux

Cómo migrar máquinas virtuales de Virtualbox a máquinas virtuales KVM en Linux

Cómo formatear particiones de disco en Linux

Cómo usar máquinas virtuales Virtualbox en KVM en un sistema Linux

Cómo instalar Linux Mint en VirtualBox