Virtualbox, mesclando instantâneos e disco base

9

Eu tenho uma máquina virtual com cerca de 30 instantâneos em filiais. O caminho de desenvolvimento atual é de 22 instantâneos mais o disco base. A quantidade de arquivos está aparentemente tendo um impacto agora no IO e no laptop dev que estou usando (não sei se são problemas de desempenho do disco host com o tamanho total de 140GB em muitos fragmentos, ou apenas o fato de que é atingindo setores distribuídos em vários arquivos).

Eu gostaria de mesclar a ramificação atual de snapshots junto com o disco base, mas não tenho certeza se o comando a seguir produziria o resultado correto. Não consigo inicializar este disco após a conclusão do procedimento (5-6 horas).

vboxmanage clonehd "C:\VPC-Storage\.VirtualBox\Machines\CRM\Snapshots\{245b27ac-e658-470a-b978-8e62137c33b1}.vhd" "E:\crm-20100624.vhd" --format VHD --type normal

Alguém poderia confirmar se essa é a abordagem correta ou não?

    
por Henrik 24.06.2010 / 09:53

4 respostas

7

O que você quer fazer é a partir da caixa de diálogo de instantâneos, selecione seu instantâneo pai que você deseja mesclar todos os instantâneos depois para um único VDI.

A partir da sua descrição, parece que esta é a raiz da árvore.

Clique com o botão direito e selecione "Excluir instantâneo".

Isso fará o que você quiser --- ele mesclará todas as alterações de todos os instantâneos filhos em um único VDI.

Adicionalmente - clonando a imagem de disco que está no último snapshot - também irá mesclar o disco diferencial com seu pai (e seu pai, assim por diante, até chegar a um tipo de disco rígido 'normal').

Eu suspeito que "excluir um instantâneo" execute o comando clonehd.

Verifique as configurações da sua VM (especificamente IO APIC ativado / desativado) e verifique se elas correspondem.

    
por 16.08.2010 / 22:05
3

Se você quiser manter apenas um único instantâneo, torne-o seu estado atual & em seguida, exporte a VM & reimporte-o. Os appliances exportados não mantêm o histórico de snapshots.

Ou você pode usar este script vboxmerge.py para lidar com a fusão para você. Dado o número de snapshots que você tem, eu esperaria que o ciclo de exportação / importação fosse mais rápido.

    
por 05.02.2011 / 00:17
2

Aqui está uma técnica (testada no VirtualBox 4.3.4) que usa o 'Clone' comando para mesclar e compactar todos os instantâneos para uma nova VM contendo um único arquivo VDI:

  1. Renomeie a VM para poder reutilizar o nome atual da VM clonada (você pode alterar o nome da VM na guia "Básico" das configurações "Geral".

  2. Clique com o botão direito do mouse na VM e execute o comando 'Clone ...':

    • Defina o nome para o nome original da VM.
    • Aceite os padrões restantes, ou seja, tipo Clone: 'Clone completo'; Instantâneos: 'Estado atual da máquina'.
  3. Exclua a VM antiga (clique com o botão direito do mouse na VM e execute o comando 'Remover ...' comando).

por 05.12.2013 / 01:14
0

Se o seu host é um Windows ou você pode acessar arquivos VHD de uma janela, há um truque para MERGE todas as alterações em pai, avô, etc.

Ele está usando a ferramenta DiskPart e os dois comandos:

select vdisk file="whatever your file is, with full path"

merge vdisk depth=#

Em que # é o número de níveis de hierarquia que você deseja mover, 1 para pai / mãe dirent, 2 para pai / mãe, etc.

Ele faz isso no local, muito menos demorado do que clonagem, etc.

Lembre-se, depois de mesclar todos os VHDs intermediários pode ser excluído (ele não os exclui para você) e não se esqueça de anexar ao VirtualBox o pai em que você mesclou.

Exemplo:

Disk3.vhd é filho do Disk2.vhd, Disk2.vhd é filho do Disk1.vhd

Se você quiser no Disk1.vhd todas as alterações do Disk3.vhd, use apenas depth=2 e selecione Disk3.vhd. Se você quiser no Disk1.vhd todas as alterações do Disk2.vhd apenas use depth=1 select Disk3.vhd.

Lembre-se também que não há necessidade de instantâneos do VirtualBox, você pode usar o comando DiskPart create vdisk para criar um disco diferencial a partir de um existente (que também pode ser um disco diferencial, etc), também pode criar uma grande árvore. / p>

Para todo o resto: O pôster está usando VHD (não VDI), portanto, pode usar ferramentas nativas como DiskPart e Disk Managment para acessar esses discos fora do Guest (no Host, se o Host for Windows).

Para você, o pôster: Lembre-se de sempre ter um BackUp completo antes do Merge, o clone do VirtualBox não funciona, cria um novo arquivo (copy on write), mas o DiskPart merge funciona (modifique o arquivo, não crie um novo).

Espero que possa dar outra abordagem diferente, já que VHD / VHDX está em uso (não é válido para VMDK, VDI, etc, apenas para o Windows Host).

Nota: O Windows 7 e o Up, XP e Vista podem montar o VHD com uma ferramenta M $ externa, mas o DiskPart não tem suporte para VHD no XP & Vista ... tudo isso também funciona nas edições do Windows HOME (7 e acima), sem necessidade de uma edição do SERVER.

    
por 02.08.2017 / 11:35