
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:
- Teste com suas VMs reais e conte como foi
- Abra issues com bugs e casos de borda: github.com/jniltinho/ova2xva/issues
- Contribua com PRs e deixe uma estrela ⭐: github.com/jniltinho/ova2xva
Quem já passou uma madrugada migrando VM na mão sabe o valor de uma ferramenta dessas. Bora testar?