Como exportar um instantâneo específico do VirtualBox como uma imagem de disco bruta

3

Eu criei um appliance Linux para meus amigos. É uma pequena instalação do Ubuntu com o Trac, lighthttp e ufw configurados.

Eu fiz isso usando o VirtualBox.

Agora, desejo exportar a última versão de snapshot com tudo protegido e configurado como uma imagem de disco bruta para uso com o KVM.

Agora eu estou querendo saber se eu perdi várias horas de trabalho porque eu não consigo descobrir como exportar.

Eu vasculhei as interwebs, mas a quantidade de material é enorme e eu não encontrei uma descrição de nada parecido com o que eu quero fazer.

É possível?

    
por Bryan Hunt 21.03.2011 / 18:08

2 respostas

5

Eu acho que descobri.

Etapa 1)

Vá para o diretório de instantâneos. Você pode descobrir qual dos nomes de arquivos codificados do uuid se refere ao seu instantâneo consultando o Gerenciador de Mídia Virtual (ctrl-D no ubuntu).

cd ~/.VirtualBox/Machines/ubuntu-minimal
VBoxManage clonehd 7020aee6-f3aa-49d1-805a-30a127132c90 /home/vm-exports/ubuntu-minimal.vdi -format raw

Etapa 2) Ok, agora exportamos todo o estado do disco. Então, tudo o que precisamos fazer é convertê-lo em um formato que o KVM entenda.

du -h /home/vm-exports/ubuntu-minimal.vdi
8.0G    /home/vm-exports/ubuntu-minimal.vdi

Parece ser o tamanho do disco.

Etapa 3)

Livre-se desse grande MOFO de 8 GB. Vamos converter para o formato qcow.

cd /home/vm-exports/
qemu-img convert -f raw ubuntu-minimal.vdi -O qcow2 ubuntu-minimal.qcow

Etapa 4)

Vamos testá-lo com o KVM

kvm -m 512 -hda ubuntu-minimal.qcow

Yay. Funciona, dias felizes!

    
por 21.03.2011 / 18:38
1

normalmente, você gostaria de dar uma olhada no virt-v2v, mas o afaik não suporta o virtualbox. Então, por que não apenas imaginar a VM em um disco v de tamanho semelhante conectado a uma VM baseada em kvm? dd over netcat é a escolha mais básica, mas o clonezilla também parece ser uma boa solução

    
por 21.03.2011 / 18:17