Como reutilizar “snapshots” do disco do VirtualBox

1

Eu tenho um "conjunto" de 5 VMs que gostaria de fazer, todos os sistemas operacionais Ubuntu Server 12.04, mas com pilhas de software radicalmente diferentes na parte superior do SO (um servidor é um "servidor de compilação" com Subversion, Hudson, etc instalado nele; outro servidor é um servidor de aplicativos com JBoss, etc.).

Instalar e configurar o Ubuntu Server leva várias horas. Se for possível, eu gostaria de ter que fazer isso apenas uma vez (para obter uma versão "base" do sistema operacional instalado em uma VM) e depois copiar essa "base" para a outra 4. Dessa forma eu salvo 2 - 3 horas por máquina e só precisa se concentrar em instalar e configurar os aplicativos para cada servidor.

Quando eu crio uma VM, vejo três arquivos criados:

  • my-vm.vbox - Presumo que esta seja a VM
  • my-vm.vbox-prev - não tem ideia do que é isso
  • my-vm.vdi - Eu assumo que este é o disco real onde o sistema operacional convidado (minha "base") está instalado

Infelizmente eu já criei todas as 5 VMs, e estou no processo de instalar o Ubuntu Server no primeiro, então minha configuração é assim:

  • build-srv.vbox , build-srv.vbox-prev , build-srv.vdi (o VDI é inicializado mas não tem nada)
  • app-srv.vbox , app-srv.vbox-prev , app-srv.vdi (mesmo, inicializado, mas sem nada)
  • etc ... (para todos os 5)

Estou no processo de instalação do Ubuntu Server no servidor de compilação ( build-srv ). Eu estou esperando que, uma vez que eu terminei, todas as informações de configuração estarão contidas em build-srv.vdi . Em teoria, eu deveria ser capaz apenas de copiar-e-colar build-srv.vdi para cada um dos outros servidores, e trocar seus respectivos VDIs, certo?

Tenho certeza de que também precisaria entrar nas configurações da VM e alterar a VDI de alguma forma também, mas não tenho certeza se estou no caminho certo.

O que eu preciso é possível? Em caso afirmativo, o que preciso fazer para configurar cada VM com a mesma cópia da instância do sistema operacional no qual estou atualmente no meio? Se não, quais são minhas opções (além de repetir a mesma instalação de 2 horas para cada VM!)? Obrigado antecipadamente!

    
por pnongrata 21.08.2012 / 18:02

2 respostas

1

Cada arquivo VDI contém um identificador no formulário de um UUID.
O Virtualbox registra esses UUIDs em um banco de dados e se recusa a usar um VDI que acabou de ser copiado (mas está tudo bem em outro computador porque não registra nada sobre esse UUID).

Eu conheço dois métodos:
- copie o VDI (com um gerenciador de arquivos ou linha de comando), use vboxmanage internalcommands sethduuid "path/yourdisk.vdi" e você terá um novo UUID para este VDI
- ou use o mediamanager do Virtualbox (no menu). Selecione o disco que você deseja copiar ... e clique no botão "copiar". Ele fará o mesmo com facilidade

  • my-vm.vbox - este é um arquivo XML que descreve a VM. Você pode abri-lo com um editor de texto ou um navegador da Web
  • my-vm.vbox-prev - este é um backup do my-vm.vbox
  • my-vm.vdi - este é o disco virtual

edit: o recurso copy parece estar presente apenas no Windows. Minha caixa Linux não tem, minha caixa do Windows tem

    
por 21.08.2012 / 18:14
0

O que você pode estar procurando é o modo de disco multiattach - que pode ser aplicado depois que a imagem de disco inicial é criada e configurada. Você pode usá-lo como o núcleo de várias VMs e cada uma terá sua própria imagem de diferenciação baseada no original - sem necessidade de copiar ou clonar. Consulte os documentos em: link

    
por 24.07.2014 / 20:44