O preenchimento zero aumentará o tamanho da imagem de disco dinâmico do VirtualBox

10

Utilizo principalmente imagens de disco de tamanho fixo para o Oracle VirtualBox, mas estou pensando em mudar para imagens de disco dinâmico, porque ouvi dizer que as imagens dinâmicas têm desempenho semelhante às imagens de tamanho fixo, exceto quando estão em expansão.

Uma operação que eu faço muito é preencher com zero uma imagem de disco de tamanho fixo antes de fazer backup usando um programa zip (para reduzir o tamanho do arquivo zip). Minha pergunta é: quando eu zerar um disco dinâmico, o tamanho do disco aumentará para o valor máximo declarado? (Para o meu caso específico, estou usando sdelete -znas partições do Windows.)

Uma pergunta adicional é: existe uma maneira de zerar partições sem aumentar o tamanho do disco?

Obrigado.

- EDITAR -

Para esclarecer, o motivo pelo qual pergunto é que quero manter o tamanho mínimo das imagens compactadas de caixas virtuais. O preenchimento zero de uma imagem de tamanho fixo faz o trabalho, pois a parte preenchida com zero contribui quase nada para a imagem compactada. No entanto, se eu alternar para o disco dinâmico, o preenchimento zero parece anular o objetivo de usar imagens de tamanho dinâmico.

A segunda parte da minha pergunta é realmente perguntar se existe uma alternativa melhor do que o preenchimento zero que pode remover setores não utilizados sem expandir o tamanho do disco.

tinlyx
fonte
1
sim, um disco de alocação dinâmica totalmente alocado será o tamanho totalmente alocado. Não tenho muita certeza de qual é a confusão aqui, nem posso ocultar um motivo para fazer o que você descreve, mas não, você não pode colocar um monte de dados (embora todos os 0's) em um arquivo e não esperar seu tamanho mudar.
Frank Thomas
@FrankThomas Por favor, veja minha atualização para saber o motivo do preenchimento zero.
tinlyx
1
@tinlyx Acabei de responder e parece que respondi sua edição na minha resposta também, você pode compactar as imagens dinâmicas de disco usando as ferramentas de caixa virtual. Portanto, um zerofill seguido de um compacto criaria uma imagem perfeita para fins de arquivamento.
Mokubai

Respostas:

12

Acabei de testá-lo (usando sdelete -zem uma VM) e o preenchimento zero do disco não aumentará sensivelmente o tamanho da imagem do disco dinâmico. O Virtualbox é inteligente o suficiente para reconhecer que, quando você está escrevendo zeros em um bloco já vazio, o disco não precisa que o bloco seja gravado novamente.

Mas mesmo que tenha acontecido, isso não é tão ruim, porque o preenchimento zero do disco também fará com que você possa compactá-lo novamente usando as Ferramentas Virtualbox em seu host: Como compactar o tamanho do arquivo VDI do VirtualBox?

Quando preenchi a VM com zero, o tamanho da imagem aumentou de ~ 14,5 GB para ~ 15,5 GB, mas não alocou completamente todo o espaço em disco, que seria de aproximadamente 48 GB.

De fato, zero preenchimento do disco (via sdelete -z) permitirá liberar adequadamente qualquer espaço que foi gravado, mas que já foi liberado pelo sistema operacional da VM, e você poderá executar o comando VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compactna máquina host para compactar adequadamente a imagem dinâmica do disco volte ao tamanho mínimo.

Mokubai
fonte
obrigado. De fato, sdelete -znão aumenta muito o tamanho do disco dinâmico.
tinlyx