Converter entre tipos de hipervisor

Converter entre tipos de hipervisor

Minha empresa precisa automatizar a criação de novas VMs com nossa solução proprietária, para isso gostaríamos de enviar o produto em um formato padronizado (OVA parece ser o único "padrão" que existe) ou poder converter do mesma máquina para vários tipos de virtualização diferentes.

Até agora isso é feito manualmente, o que significa que se um cliente deseja uma VM HyperV precisamos construí-la em um servidor HyperV que temos internamente, VMWare em VMWare etc... Nosso objetivo é automatizar isso.

Explicando melhor: O plano é ter um servidor KVM, provisionar a VM e após provisioná-la exportá-la para um formato OVA, e possivelmente como cortesia extra aos nossos clientes no hipervisor de sua preferência.

Posso converter os discos perfeitamente com "qemu-img convert", mas não consigo converter a definição da máquina (XML) para outros formatos, conforme necessário por outros hipervisores.

Não consigo encontrar nenhuma ferramenta apropriada para isso, sugestões?

Obs: não temos acesso ao hypervisor onde estes serão instalados então precisamos exportá-lo como OVA/TAR etc...

Responder1

Infelizmente o OVA promete muito mais do que é capaz de cumprir. Na melhor das hipóteses, é um formato padrão para distribuição de imagens de disco, mas faz muito pouco, ou nada, para garantir que uma imagem de disco possa ser inicializada perfeitamente em vários hipervisores. Cada hipervisor emula um conjunto diferente de hardware virtual, portanto, o sistema operacional convidado precisará de drivers diferentes instalados para cada hipervisor. Alguns sistemas operacionais como o Linux são razoavelmente bons e são capazes de inicializar com hardware arbitrário, detectando automaticamente drivers para corresponder ao que encontram, mas mesmo assim é fácil bagunçar e quebrar. por exemplo, se sua /etc/fstablista "/" estiver no /dev/vda1disco (para o driver de disco virtio-blk do QEMU), isso não funcionará quando inicializado no VMWare com um disco SCSI que aparece como /dev/sda1. O Windows é realmente difícil de se adaptar a diferentes hardwares, pois gosta de vincular drivers específicos a cada disco/NIC/etc.

Há também o problema de cada hipervisor ter seu próprio formato de imagem de disco preferido - VMWare prefere vmdk, QEMU gosta de raw ou qcow2 idealmente, VirtualBox tem outro, etc, etc. OVA não faz nada para resolver nenhum desses problemas difíceis.

É por esse tipo de problema que ferramentas como virt-v2v (http://libguestfs.org/virt-v2v.1.html) existem que pegam uma imagem de disco para um hipervisor e reconfiguram o sistema operacional convidado para funcionar em um hipervisor diferente, alterando o formato do disco ao mesmo tempo.

Mesmo que você de alguma forma crie uma imagem de disco que você acha que funciona em todos eles, ainda será necessário submetê-la a um ciclo completo de teste de controle de qualidade para garantir que ela realmente esteja funcionando corretamente.

IMHO, é muito mais fácil criar apenas uma imagem de disco dedicada para cada hipervisor.

informação relacionada