Copiar VM do hipervisor Xen

Copiar VM do hipervisor Xen

Copiei (usando o comando dd) um disco inteiro da VM Debian7 rodando no servidor Xen. Consegui converter a imagem bruta para o formato kvm (qemu-img). Então criei uma nova VM e uma imagem de disco anexada (usando KVM). Após falha na tentativa de inicialização (apenas tela preta), decidi baixar o iso (Debian7) e inicializar no modo de recuperação. Usando o modo de recuperação, reinstalei o kernel (3.2.0-4-amd64) e atualizei o initramfs. Também adicionei algumas linhas ao /etc/modules:

    alias eth0 pcnet32 
    alias scsi_hostadapter mptbase 
    alias scsi_hostadapter2 mptspi 
    alias scsi_hostadapter3 ata_piix 
    alias scsi_hostadapter4 virtio_blk

No entanto, quando tento inicializar, tudo que recebo é:

   Loading Linux 3.2.0-4-amd64 
   Loading initial ramdisk

Eu tenho acesso root para executar a VM, mas não tenho acesso ao hipervisor xen

Há algo que eu possa fazer para inicializar esta VM no meu KVM/virtualbox/ESXi?

A pergunta está marcada com a tag VMware porque finalmente vou colocar isso no VMware. Estou usando o kvm para entender as regras de importação do Xen (para vs virtualização).

EDITAR 01.04.2020

Olá Eblock, obrigado pelo seu conselho. Acompanhei seu artigo e verifiquei a lista de módulos virtio disponíveis na VM de origem, que é a seguinte:

    # 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

Então adicionei esses módulos virtio a /etc/modules e a /etc/initramfs-tools/modules e atualizei o initramfs com o comando initramfs-update (no modo de recuperação). Agora minha VM Debian convidada KVM (atualmente executada em modo de recuperação a partir do CD) mostra módulos carregados (foto abaixo, infelizmente não é possível copiar e colar texto da tela KVM):

módulos carregados

No entanto, ainda não tive sorte ao inicializar a VM :( Tudo o que consigo é:

    Decompressing Linux... Parsing ELF    Done
    Booting the kernel...

Mais alguma coisa que eu deveria tentar? Compilando o kernel com módulos virtio integrados?

Responder1

Está tudo bem, a VM inicializa iniciando todos os serviços (alguns) corretamente. Acontece que o eblock estava certo: adicionar módulos ao kernel e ao initrd foi suficiente. Uma parte que faltava era o ttyS0 em vez do tty0 configurado no grub ("o jeito xen", já que o xen se conecta através das portas 'S'), que foi a causa da falta da listagem usual das etapas de inicialização. Houve também um problema com o reaparecimento muito rápido do mingetty (resultando em intermináveis ​​'atrasos de 5 minutos'), então mudei para tty em /etc/inittab:

    1:2345:respawn:/sbin/getty tty1
    2:2345:respawn:/sbin/getty tty2
    ....

Está tudo bem, obrigado eblock

informação relacionada