|
| 1 | +--- |
| 2 | +title: Cómo Convertir Máquinas Virtuales de VMware o VirtualBox a QEMU/KVM |
| 3 | +description: Aprende a migrar tus máquinas virtuales de VMware o VirtualBox al formato QCOW2, compatible con QEMU/KVM. |
| 4 | +author: Vor |
| 5 | +date: 2024-12-10 |
| 6 | +categories: [Guías, Virtualización] |
| 7 | +tags: [Virtualización, Linux, KVM, QEMU, Libvirt, Virt-Manager, VMware, VirtualBox] |
| 8 | +image: |
| 9 | +path: /assets/img/posts/guides/linux/Linux-KVM-logo-transparent.webp |
| 10 | +alt: Logo de KVM |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +# Cómo Migrar Máquinas Virtuales de VMware o VirtualBox a QEMU/KVM |
| 15 | + |
| 16 | +En esta guía aprenderás a migrar máquinas virtuales de plataformas como VMware, VirtualBox o Hyper-V al formato QCOW2, totalmente compatible con QEMU/KVM y herramientas como Virt-Manager. |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## **Requisitos para Comenzar** |
| 21 | + |
| 22 | +1. **Máquina Virtual a Migrar** |
| 23 | + Identifica la ubicación del disco virtual que deseas convertir. Generalmente, estos tienen formato .vdi (VirtualBox) o .vmdk (VMware). |
| 24 | + |
| 25 | +2. **Herramienta qemu-img** |
| 26 | + Utiliza esta herramienta para convertir discos virtuales entre diferentes formatos. |
| 27 | + |
| 28 | +3. **Virt-Manager** |
| 29 | + Una interfaz gráfica que facilita la gestión de máquinas virtuales mediante libvirt. |
| 30 | + |
| 31 | +4. **Un Poco de Tiempo** |
| 32 | + Aunque el proceso es sencillo, puede tardar algunos minutos, dependiendo del tamaño del disco virtual. |
| 33 | + |
| 34 | +Si aún no tienes configurado tu entorno de virtualización, consulta mi guía sobre [Máquinas Virtuales con KVM](https://blog.voros.xyz/posts/vm-kvm-libvirt-qemu). |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## **Pasos para Migrar tu Máquina Virtual** |
| 39 | + |
| 40 | +### **Paso 1: Ubica el Disco Virtual** |
| 41 | +Identifica el archivo de disco virtual asociado a tu máquina virtual: |
| 42 | + |
| 43 | +- **VirtualBox**: Busca un archivo con extensión `.vdi`. |
| 44 | +- **VMware**: Busca un archivo con extensión `.vmdk`. |
| 45 | + |
| 46 | +Por ejemplo, en VMware los discos virtuales suelen estar ubicados en: |
| 47 | + |
| 48 | +```bash |
| 49 | +/home/myuser/vmware |
| 50 | +``` |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +### **Paso 2: Convierte el Disco Virtual al Formato QCOW2** |
| 55 | +Utiliza la herramienta `qemu-img` para convertir el disco al formato QCOW2. |
| 56 | + |
| 57 | +```bash |
| 58 | +qemu-img convert -f [formato_origen] -O qcow2 /ruta/al/disco_origen /ruta/al/disco_destino.qcow2 |
| 59 | +``` |
| 60 | + |
| 61 | +- **[formato_origen]**: Usa `vdi` para discos de VirtualBox o `vmdk` para discos de VMware. |
| 62 | +- **/ruta/del/disco_origen**: Especifica la ubicación del archivo de disco original. |
| 63 | +- **/ruta/del/disco_destino.qcow2**: Define la ruta y nombre del nuevo archivo convertido. |
| 64 | + |
| 65 | +**Ejemplo:** |
| 66 | +Si tienes un archivo llamado `My_VM.vdi` en tu directorio personal, el comando sería: |
| 67 | + |
| 68 | +```bash |
| 69 | +qemu-img convert -f vdi -O qcow2 ~/My_VM.vdi ~/My_VM.qcow2 |
| 70 | +``` |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +### **Paso 3: Configura la Máquina Virtual en Virt-Manager** |
| 75 | +Con el disco convertido a QCOW2, sigue estos pasos para configurar tu nueva máquina virtual. |
| 76 | + |
| 77 | +1. Abre Virt-Manager y selecciona la opción **"Nueva máquina virtual"**. |
| 78 | +2. Elige **"Importar imagen de disco existente"** como método de instalación. |
| 79 | +3. Navega y selecciona el archivo `.qcow2` recién creado. |
| 80 | +4. Configura el sistema operativo (Windows, Linux, etc.) y asigna los recursos necesarios como CPU, memoria RAM y almacenamiento. |
| 81 | +5. Completa la configuración y enciende la máquina virtual para verificar que todo funcione correctamente. |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## **Consideraciones para Máquinas Virtuales con Windows y Linux** |
| 86 | + |
| 87 | +### **Migrando Máquinas Virtuales con Windows** |
| 88 | + |
| 89 | +- **Instalación de Drivers VirtIO:** |
| 90 | + Para garantizar un rendimiento óptimo en KVM/QEMU, es fundamental instalar los drivers VirtIO en tu máquina virtual con Windows. Descárgalos desde el sitio oficial de Fedora: [virtio-win-guest-tools.exe](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads). |
| 91 | + |
| 92 | +- **Configuración de Dispositivos VirtIO:** |
| 93 | + Durante la creación de la máquina virtual, selecciona controladores de red y almacenamiento con interfaz "virtio". Si Windows no reconoce estos dispositivos, asegúrate de instalar los drivers VirtIO antes de iniciar la migración o desde una ISO de drivers en la máquina virtual. |
| 94 | + |
| 95 | +--- |
| 96 | + |
| 97 | +### **Migrando Máquinas Virtuales con Linux** |
| 98 | + |
| 99 | +- **Soporte Nativo para VirtIO:** |
| 100 | + La mayoría de las distribuciones modernas de Linux incluyen soporte integrado para VirtIO, lo que simplifica la migración y mejora el rendimiento en KVM/QEMU. |
| 101 | + |
| 102 | +- **Verificación de Módulos del Kernel:** |
| 103 | + Asegúrate de que los módulos necesarios, como `virtio_blk` (almacenamiento) y `virtio_net` (red), estén habilitados en tu sistema. Antes de la migración puedes verificar su estado con el siguiente comando: |
| 104 | + |
| 105 | +```bash |
| 106 | +lsmod | grep virtio |
| 107 | +``` |
| 108 | + |
| 109 | +Debe tener una salida similar a esta: |
| 110 | + |
| 111 | +```bash |
| 112 | +virtio_balloon 24576 0 |
| 113 | +virtio_console 40960 0 |
| 114 | +virtio_gpu 77824 0 |
| 115 | +virtio_dma_buf 16384 1 virtio_gpu |
| 116 | +drm_shmem_helper 20480 1 virtio_gpu |
| 117 | +drm_kms_helper 212992 3 virtio_gpu |
| 118 | +drm 614400 4 drm_kms_helper,drm_shmem_helper,virtio_gpu |
| 119 | +virtio_rng 16384 0 |
| 120 | +virtio_net 73728 0 |
| 121 | +net_failover 24576 1 virtio_net |
| 122 | +virtio_blk 28672 3 |
| 123 | +virtio_pci 24576 0 |
| 124 | +virtio_pci_legacy_dev 16384 1 virtio_pci |
| 125 | +virtio_pci_modern_dev 20480 1 virtio_pci |
| 126 | +virtio 20480 7 virtio_rng,virtio_console,virtio_balloon,virtio_gpu,virtio_pci,virtio_blk,virtio_net |
| 127 | +virtio_ring 45056 7 virtio_rng,virtio_console,virtio_balloon,virtio_gpu,virtio_pci,virtio_blk,virtio_net |
| 128 | +``` |
| 129 | +--- |
| 130 | + |
| 131 | +## **Preguntas Frecuentes (FAQ)** |
| 132 | + |
| 133 | +**¿Qué debo hacer si mi máquina virtual muestra un kernel panic al iniciar?** |
| 134 | +El primer paso es identificar el error exacto que se está mostrando. |
| 135 | + |
| 136 | +**Ejemplo:** |
| 137 | +`Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)` |
| 138 | + |
| 139 | +Este error ocurre cuando el kernel no puede encontrar el sistema de archivos raíz. En este caso, el problema es que el módulo `virtio_blk` no está habilitado. |
| 140 | + |
| 141 | +- **¿Qué significa `unknown-block(8,2)`?** |
| 142 | + - **`8`**: Indica un dispositivo de tipo SCSI o similar, como un disco SATA. |
| 143 | + - **`2`**: Representa la segunda partición del dispositivo, que podría ser `/dev/sda2`. |
| 144 | + |
| 145 | +Cuando configuras una máquina en Virt-Manager, por defecto se utiliza el tipo de bus VirtIO. Si el kernel no tiene soporte para `virtio_blk`, no podrá detectar el dispositivo como `/dev/vda2`, resultando en el error. |
| 146 | + |
| 147 | +1. Cambia temporalmente el controlador del disco en Virt-Manager a **SATA** para que el sistema pueda arrancar. |
| 148 | +2. Inicia la máquina y dentro del sistema, instala los módulos de **VirtIO**. |
| 149 | +3. En Virt-Manager, cambia nuevamente el controlador del disco a **VirtIO**. Esto puede hacerse modificando el XML o eliminando y volviendo a agregar el disco configurándolo como VirtIO. |
| 150 | +4. Inicia la máquina con el nuevo controlador VirtIO. |
| 151 | + |
| 152 | +Este proceso también aplica para máquinas virtuales con Windows, revisa la sección [Migrando Máquinas Virtuales con Windows](#Migrando-Máquinas-Virtuales-con-Windows). |
| 153 | + |
| 154 | +**Nota:** Si por algún motivo no puedes utilizar VirtIO, selecciona el controlador de bus más adecuado para tu sistema operativo y necesidades. SATA es una opción común y ampliamente soportada. |
| 155 | + |
| 156 | +--- |
| 157 | + |
| 158 | +**¿Qué sucede con mis configuraciones actuales de red y hardware?** |
| 159 | +Cuando migras a Virt-Manager, los dispositivos de hardware virtualizados, como controladores de red o gráficos, pueden cambiar. Ajusta las configuraciones en caso de ser necesario. Esto incluye seleccionar tipos de adaptadores de red compatibles o ajustar los recursos asignados (CPU, RAM). Los controladores VirtIO son los mas recomendables. |
| 160 | + |
| 161 | +--- |
| 162 | + |
| 163 | +**¿Puedo revertir el proceso si algo sale mal?** |
| 164 | +Si, pero asegúrate de crear copias de seguridad de tus discos virtuales antes de comenzar el proceso de migración. Esto te permitirá volver al entorno original en caso de que algo no funcione como esperas. |
| 165 | + |
| 166 | +--- |
0 commit comments