Como reutilizar "instantâneos" do disco VirtualBox

Como reutilizar "instantâneos" do disco VirtualBox

Eu tenho um "conjunto" de 5 VMs que gostaria de criar, todos os sistemas operacionais convidados do Ubuntu Server 12.04, mas com pilhas de software radicalmente diferentes no topo do sistema operacional (um servidor é um "servidor de compilação" com Subversion, Hudson, etc. instalado nele; outro servidor é um servidor de aplicativos com JBoss, etc.).

A instalação e configuração do Ubuntu Server leva várias horas. Se possível, gostaria de fazer isso apenas uma vez (para obter uma versão "base" do sistema operacional instalada em uma VM) e depois copiar essa "base" para as outras 4. Dessa forma, economizo 2 - 3 horas por máquina e só precisa se concentrar na instalação e configuração dos aplicativos de cada servidor.

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

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

Infelizmente já criei todas as 5 VMs e estou instalando o Ubuntu Server na primeira, então minha configuração é assim:

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

Estou instalando o Ubuntu Server no servidor de compilação ( build-srv). Eu souna esperançaque, quando terminar, todas as informações de configuração estarão contidas apenas no arquivo build-srv.vdi. Em teoria, eudevepoder simplesmente copiar e colar build-srv.vdiem cada um dos outros servidores e trocar seus respectivos VDIs, certo?

Tenho certeza de que também teria que entrar nas configurações da VM e alterar o VDI de alguma forma, mas nem 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 em que estou atualmente? Caso contrário, quais são minhas opções (além de repetir a mesma instalação de 2 horas para cada VM!)? Desde já, obrigado!

Responder1

Cada arquivo VDI contém um identificador na forma de um UUID.
O Virtualbox registra esses UUIDs em um banco de dados e se recusa a usar um VDI que você acabou de copiar (mas isso está correto em outro computador porque ele não grava nada sobre esse UUID).

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

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

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

Responder2

O que você pode estar procurando é omultianexaçãomodo de disco - que pode ser aplicado após a criação e configuração da imagem de disco inicial. Você pode então usá-lo como núcleo para várias VMs e cada uma terá sua própria imagem diferencial com base no original - sem necessidade de cópia ou clonagem. Por favor, veja os documentos em:http://www.virtualbox.org/manual/ch05.html#hdimagewrites

informação relacionada