Oracle VM VirtualBox es un software de virtualización que es posible instalar OS conocidos como «sistemas invitados», dentro del «sistema anfitrion».
KVM (Kernel-based Virtual Machine) es la solucion para inplementar virtualizacion completa con GNU/Linux sobre hardware. Esta formada por modulos del nucleo y herramientas.
Para migrar de VirtualBox a KVM se tiene que seguir los siguientes pasos:
1.- Convertir el archivo VDI de VirtualBox a imagen RAW:
$ VBoxManage clonehd --format RAW OSVirtual.vdi OSVirtual.raw
2.- Convertir la imagen RAW al formato de imagen QCOW:
$ qemu-img convert -f raw OSVirtual.raw -O qcow2 OSVirtual.img
3.- Desde virt-manager, crear la maquina virtual y utilizar la imagen QCOW creada
OJO algunas recomendaciones:
Recomendación 1.- Cuando se esta ejecutando el comando del paso 1 a veces no ejecuta por que nos sale el siguiente error:
Cannot register the hard disk ‘/media/HD2/Virtual Machine_1/OSVirtual.vdi’ {0e1c65fb-36a2-4b88-84e3-65d79cf76097} because a hard disk ‘/media/HD2/Virtual Machine_2/OSVirtual.vdi’ with UUID {0e1c65fb-36a2-4b88-84e3-65d79cf76097} already exists
lo unico que debemos hacer previamente es cambiar el UUID del OS virtual con el seguiente comando
$ VBoxManage internalcommands sethduuid OSVirtual.vdi UUID changed to: ce210cfb-c4b7-42f4-b381-0a251553d97b
Recomendación 2.- Después de que tu te creas la maquina virtual con el existente disco duro virtual en formato QCOW2, al momento de ejecutar la maquina virtual con KVM sale el siguiente error
"Not a booteable device"
Al parecer virt-manager no lee el formato de disco duro que nos creamos y que existía y solo lee el formato RAW; desde virt-manager parece almacenar su configuración y que no se lo puede editar /usr/libvirt/qemu/VMNameHere.xml y lo que tienes que hacer son los siguientes pasos que se indican a continuación:
Se debe exportar la configuración de la maquina virtual (libvirt) a xml, establecer el formato de la imagen del disco duro y luego importar la configuración de la maquina virtual a libvirt
Obtener el nombre de la Maquina Virtual:
$ virsh -c qemu:///system list --all
Exportar la configuración de la Maquina Virtual:
$ virsh -c qemu:///system dumpxml nombreMV > nombreMV.xml
actualizar el formato en el archivo XML
de:
<devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/algunLugar/disk.qcow'/> <target dev='hda' bus='ide'/> </disk>
a:
<devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/algunLugar/disk.qcow'/> <target dev='hda' bus='ide'/> </disk>
Borrar en virt-manager la configuración de la vieja maquina virtual
Abrir el virt-manager y borrar la maquina virtual que esta con el problema, pero estar seguro que no se borre el archivo del disco duro.
Importar el archivo XML arreglado:
$ virsh -c qemu:///session define /tmp/VMName.xml
La maquina virtual se creara automaticamente en el virt-manager y ahora tendria que bootear normalmente.
OJO no olvidar crear las interfaces de red en modo puente (bridged)