Cómo importar una VM Linux (RHEL, CentOS, SUSE, Debian, Ubuntu)
Importación de VMs Linux desde otros hipervisores a VergeOS y configuración de controladores virtio mediante la reconstrucción de initramfs para un arranque correcto en RHEL, CentOS, SUSE, Debian y Ubuntu.
Resumen
Esta guía explica cómo importar máquinas virtuales Linux desde otros hipervisores a VergeOS. Aborda posibles problemas como que las VMs no arranquen o carezcan de conectividad de red después de la migración, y proporciona instrucciones específicas por distribución para regenerar el initramfs.
Requisitos previos
Acceso a VergeOS y a la interfaz de usuario de VergeOS.
Familiaridad con el entorno del hipervisor y la configuración de la VM.
Los archivos de la VM importada deben estar presentes en el entorno de VergeOS.
Pasos
1. Actualizar la configuración de hardware de la VM
Cambia todos los discos duros a
virtio-scsi:En la interfaz de VergeOS, navega a la configuración de la VM.
Para cada disco duro, cambia la interfaz a
virtio-scsipara un rendimiento y una compatibilidad óptimos.
Cambia todas las NIC a
virtio:Asegúrate de que todas las tarjetas de interfaz de red (NIC) estén configuradas como
virtiopara un soporte de red mejorado.
Ajustar el orden de arranque:
Asegúrate de que el disco del SO aparezca como ID 0 en el orden de arranque.
2. Arrancar en modo de rescate
Inicia la VM:
Enciende la VM y, durante el arranque, mantén pulsada la tecla Mayús izquierda para acceder al menú de arranque de GRUB.
Seleccionar modo de rescate:
En el menú de GRUB, selecciona el modo de rescate para arrancar en un entorno mínimo de recuperación.
Alternativa para SUSE/openSUSE
Si no puedes arrancar en modo de rescate desde GRUB (algo común en SLES15 y openSUSE Leap 15), monta una ISO de instalación en la VM e inicia desde ella. La ISO proporcionará una opción de "Sistema de rescate".
3. Montar el sistema de archivos raíz y usar chroot
Versión de RHEL 9+
De forma predeterminada, las VMs de la familia RHEL 9 (por ejemplo, RHEL, AlmaLinux 9, Rocky Linux 9, CentOS Stream 9) usan un archivo de configuración de LVM para permitir explícitamente solo los dispositivos basados en el ID de hardware. Si una VM se importó sin conservar los ID/números de serie del hardware de la unidad, ejecuta pvscan --cache y vgchange -ay para obligar a LVM a volver a examinar todos los dispositivos de bloque. Consulta el artículo de KB: Las VM de la familia RHEL 9 no arrancan después de clonar o restaurar una instantánea para obtener información adicional.
Una vez arrancado en modo de rescate, inicia sesión como root y monta el sistema de archivos raíz.
Buscar la partición raíz:
Si no sabes qué partición contiene el sistema de archivos raíz, enumera todas las particiones disponibles:
En sistemas que usan LVM, enumera todos los volúmenes lógicos:
Montar la partición raíz:
Monta la partición raíz o el volumen lógico en
/mnt:Reemplace
<device_name>con tu partición raíz (p. ej.,sda2,mapper/vg0-root).Verificar el montaje:
Comprueba que has montado el sistema de archivos correcto enumerando su contenido:
Deberías ver directorios como
/root,/boot,/home,/etc, y/var.Vincular los sistemas de archivos virtuales:
Usa el siguiente bucle for para enlazar los sistemas de archivos virtuales necesarios:
Como alternativa, móntalos individualmente:
Para sistemas EFI/UEFI, monta también la partición EFI:
Reemplaza /dev/sdX1 por tu partición EFI real (compruébalo con lsblk o fdisk -l).
Entrar en chroot en el sistema de archivos montado:
Montar los sistemas de archivos restantes:
Después de entrar en chroot, monta cualquier partición adicional definida en fstab:
4. Reconstruir el initramfs
Después de entrar en chroot en el sistema, regenera el initramfs con los controladores virtio necesarios.
RHEL / CentOS / Fedora / SUSE (usando dracut)
Ejecuta el siguiente comando para regenerar el initramfs:
Esto añade controladores para virtio_blk (dispositivo de bloque), virtio_net (dispositivo de red), y virtio_pci (bus PCI) al initramfs.
Debian / Ubuntu (usando update-initramfs)
Si dracut no está disponible (algo común en Debian 10 y Ubuntu), usa update-initramfs en su lugar:
Añade los módulos virtio a la configuración de initramfs:
Regenera el initramfs:
5. Reiniciar y verificar
Sal del entorno chroot:
Reinicie la VM:
Verificar el arranque y la conectividad de red:
Confirma que la VM arranca correctamente y que la conectividad de red funciona a través de la
virtioNIC.
Resolución de problemas
Problemas comunes
La VM no arranca:
Solución: Vuelve a comprobar el orden de arranque en la configuración de la VM. El disco del SO debe estar configurado como ID 0.
Sin conectividad de red:
Solución: Asegúrate de que las NIC estén configuradas como
virtioy de que el initramfs se haya reconstruido con los controladores de red adecuados.
Recursos adicionales
Comentarios
Última actualización
¿Te fue útil?