
He copiado (usando el comando dd) un disco completo de la máquina virtual Debian7 que se ejecuta en el servidor Xen. Pude convertir la imagen sin formato al formato kvm (qemu-img). Luego creé una nueva VM y adjunté una imagen de disco (usando KVM). Después de un intento fallido de inicio (solo pantalla negra), decidí descargar ISO (Debian7) e iniciar en modo de rescate. Usando el modo de rescate, reinstalé el kernel (3.2.0-4-amd64) y actualicé initramfs. También agregué algunas líneas a /etc/modules:
alias eth0 pcnet32
alias scsi_hostadapter mptbase
alias scsi_hostadapter2 mptspi
alias scsi_hostadapter3 ata_piix
alias scsi_hostadapter4 virtio_blk
Sin embargo, cuando intento arrancar todo lo que obtengo es:
Loading Linux 3.2.0-4-amd64
Loading initial ramdisk
Tengo acceso root a la máquina virtual en ejecución pero no tengo acceso alguno al hipervisor xen
¿Hay algo que pueda hacer para iniciar esta VM en mi KVM/virtualbox/ESXi?
La pregunta está marcada con la etiqueta VMware porque finalmente voy a poner esto en VMware. Estoy usando kvm para comprender las reglas de importación desde Xen (para vs virtualización).
EDITAR 01.04.2020
Hola Eblock, gracias por tu consejo. Seguí su artículo y verifiqué la lista de módulos virtio disponibles en la VM de origen, que es la siguiente:
# find /lib/modules/ -name *virt*
/lib/modules/3.2.0-4-amd64/kernel/net/9p/9pnet_virtio.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/net/virtio_net.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/scsi/virtio_scsi.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/block/virtio_blk.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_pci.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_ring.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_balloon.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/char/virtio_console.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/char/hw_random/virtio-rng.ko
/lib/modules/3.2.0-4-amd64/kernel/sound/pci/oxygen/snd-virtuoso.ko
Luego agregué esos módulos virtio tanto a /etc/modules como a /etc/initramfs-tools/modules y actualicé initramfs con el comando initramfs-update (en modo de rescate). Ahora mi máquina virtual Debian invitada KVM (actualmente ejecutada en modo de rescate desde CD) muestra los módulos cargados (imagen a continuación, desafortunadamente no es posible copiar y pegar texto desde la pantalla KVM):
Sin embargo, todavía no tuve suerte al iniciar VM :( Todo lo que obtengo es:
Decompressing Linux... Parsing ELF Done
Booting the kernel...
¿Algo más que debería probar? ¿Compilar el kernel con módulos virtio integrados?
Respuesta1
Todo está bien, la VM arranca iniciando todos los servicios (bastantes) correctamente. Resulta que eblock tenía razón: agregar módulos al kernel e initrd fue suficiente. Una parte que faltaba era ttyS0 en lugar de tty0 configurado en grub ("la forma xen", ya que xen se conecta a través de puertos 'S'), lo que fue la causa de la falta de una lista habitual de pasos de arranque. También hubo un problema con la reaparición demasiado rápida de Mingetty (lo que resultó en interminables 'retrasos de 5 minutos'), así que cambié a tty en /etc/inittab:
1:2345:respawn:/sbin/getty tty1
2:2345:respawn:/sbin/getty tty2
....
Todo está bien, gracias eblock.