ova2xva: migre VMs do VMware/VirtualBox para XCP-ng com um comando

Tux de pé entre o cubo do VirtualBox e o foguete do XCP-ng

Migrar uma VM do VirtualBox ou VMware para XCP-ng / XenServer sempre foi um ritual chato: exportar OVA, converter disco na mão, brigar com o xe, torcer. O ova2xva transforma isso em um comando só — CLI em Go, que converte OVA (ou disco solto) para XVA e importa direto no host via API, sem nem precisar do binário xe. O projeto está aberto e procurando usuários para testar!

O que ela faz

Comando Função
convert OVA ou disco solto (.vmdk, .qcow2, .vhdx…) → .xva (zstd por padrão)
to-ova O caminho inverso: .xva / disco → .ova portátil (OVF 1.0 + VMDK stream-optimized + manifest SHA-256)
validate Checa estrutura e SHA1 do .xva
import Sobe para o XCP-ng/XenServer via HTTP PUT /import (XAPI) — sem xe

O decode de VMDK, QCOW2 e VHDX é nativo em Go; o qemu-img só entra como fallback (e no encode do to-ova).

Na prática

# OVA do VirtualBox/VMware → XVA
ova2xva convert -o app.xva --name "App Server" app.ova

# Um disco solto, sem OVA? Também vai:
ova2xva convert -o app.xva --name "App Server" --memory 4096 --vcpus 2 disk.vmdk

# Validar antes de subir (opcional)
ova2xva validate app.xva

# Importar direto no XCP-ng e já iniciar a VM
export OVA2XVA_HOST=xcp.example.com OVA2XVA_USER=root OVA2XVA_PASSWORD='...'
ova2xva import --start app.xva

E quando precisar do caminho contrário — tirar uma VM do Xen e levar para qualquer lugar:

ova2xva to-ova -o app.ova app.xva

Instalando

sudo apt install golang-go qemu-utils
git clone https://github.com/jniltinho/ova2xva
cd ova2xva && make build    # → dist/ova2xva

Por que testar

  • Um binário, fluxo completo: converter + validar + importar, sem scripts frankenstein
  • Sem xe: o import fala XAPI puro — funciona de qualquer máquina Linux com rede até o host
  • Dois sentidos: entra no Xen (convert) e sai do Xen (to-ova) — ótimo para migrações e backups portáteis
  • Go nativo: decode das principais imagens de disco sem depender de toolchain externa

Chamada aos testers 🧪

Se você administra XCP-ng ou XenServer — ou está migrando de VMware/VirtualBox — esse projeto quer o seu feedback:

Quem já passou uma madrugada migrando VM na mão sabe o valor de uma ferramenta dessas. Bora testar?