
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):
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