Questão encolher tamanho do arquivo óvulo no virtualbox


Eu tenho uma VM Ubuntu de 64 bits derivada de um arquivo de óvulos de ~ 1 GB, usei-a no VMware vSphere para instalar mais alguns softwares nela e usar o sistema em alguns conjuntos de dados que precisavam de 2 a 3 GB de espaço, mas agora que eu deletei esses arquivos grandes, eu esperava que o arquivo de óvulos recém-gerado também levasse cerca de 1.1GB de espaço, mas, em vez disso, está levando cerca de 3GB. Se eu olhar os detalhes do arquivo .vmdk no VirtualBox, vejo o seguinte:

Hart Disk: SATA Port 0
Type (Format): Normal (VMDK)
Virtual Size: 8.00 GB
Actual Size:  7.90 GB
Details: Dynamically allocated storage
Location: /somewhere/myVM-disk1.vmdk
Attached To: myVM.virtualbox

O tamanho do óvulo quando eu exporto esta máquina é ~ 3GB.

Alguma idéia de como posso diminuir?


4


origem




Respostas:


Um espaço no .vmdk é alocado quando o SO faz uma primeira gravação em um setor específico. Uma vez escrito, é alocado para sempre.

Portanto, você precisa adicionar o segundo HDD virtual de tamanho dinâmico à sua máquina virtual, depois inicializar a VM pelo LiveCD, criar partições com fdisk e copiar todos os arquivos (cp -R). Em seguida, desligue a VM, troque os HDDs virtuais, inicie novamente e verifique se tudo funciona. Em seguida, desconecte o HDD virtual original da VM e exclua-o como um arquivo no disco do sistema host.

A cópia direta com o dd na VM não funcionará, porque ele gravará cada setor no arquivo .vmdk de destino, de modo que ele se expandirá para seu tamanho total em vez de diminuir.


4





Veja o artigo Como reduzir uma imagem de caixa virtual convidada dinamicamente expansível.

Descreve como encolher o disco via:

  1. Zere o espaço livre usando zerofree para o Ubuntu
  2. Encolher a VM usando
    VBoxManage modifyhd my.vdi –compact

8



Eu tentei seguir as instruções do artigo e baixei de 3,5 GB para 3,0 GB. Não consegui replicar o último comando, pois estou recebendo um arquivo * .ova da exportação: VBoxManage modifyhd my.ova -compact reclama Could not get the storage format of the medium - 719016
Não há exportação neste método e nenhum arquivo .ova: você acabou de executar o zerofree dentro da VM, desligue e depois compacte. - harrymc
Consegui. Eu só tenho *.vmdk arquivos, então eu primeiro convertido para vdi com VBoxManage clonehd --format VDI my-disk1.vmdk my-disk1.vdi Em seguida, aplicou o comando compact, mas o tamanho do vdi não mudou nada. - 719016
Algum arquivo deve ser deixado no final do arquivo. Remova o máximo possível de arquivos e siga este tutorial. Além disso Este artigo assim como esta discussão pode ajudar. - harrymc
Erro de digitação: "fim do arquivo" => "fim do disco". - harrymc