He estado utilizando principalmente imágenes de disco de tamaño fijo para Oracle virtualbox, pero estoy considerando cambiar a imágenes de disco dinámicas, ya que escuché que las imágenes dinámicas son similares en rendimiento a las imágenes de tamaño fijo, excepto cuando se expanden.
Sin embargo, una operación que hago mucho es rellenar con cero una imagen de disco de tamaño fijo antes de hacer una copia de seguridad con un programa zip (para reducir el tamaño del archivo zip). Mi pregunta es, cuando llene cero un disco dinámico, ¿aumentará el tamaño del disco a su valor máximo declarado? (Para mi caso específico, estoy usando sdelete -z
particiones de Windows).
Una pregunta adicional es, ¿hay alguna forma de llenar particiones con cero sin aumentar el tamaño del disco?
Gracias.
- EDITAR -
Para aclarar, la razón por la que pregunto es que quiero mantener al mínimo el tamaño de las imágenes comprimidas de virtualbox. El relleno a cero de una imagen de tamaño fijo hace el trabajo ya que la porción rellena a cero no contribuye casi nada a la imagen comprimida. Sin embargo, si cambio al disco dinámico, el relleno cero parece anular el propósito de usar imágenes de tamaño dinámico.
La segunda parte de mi pregunta es realmente preguntar si hay una mejor alternativa que el relleno cero que puede eliminar los sectores no utilizados sin expandir el tamaño del disco.
fuente
Respuestas:
Lo acabo de probar (usando
sdelete -z
en una máquina virtual) y llenar el disco con cero no aumentará apreciablemente el tamaño de la imagen del disco dinámico. Virtualbox es lo suficientemente inteligente como para reconocer que cuando escribe ceros en un bloque ya vacío, el disco no necesita volver a escribir el bloque.Pero incluso si lo hiciera, entonces eso no es tan malo, porque llenar el disco con cero también lo hará es permitirle compactarlo nuevamente usando las Herramientas de Virtualbox en su host: ¿Cómo compactar el tamaño del archivo VDI de VirtualBox?
Cuando llené cero mi VM, aumentó el tamaño de la imagen de ~ 14.5GB a ~ 15.5GB pero no asignó completamente todo el espacio en disco, que habría sido aproximadamente 48GB.
De hecho, llenar el disco con cero (vía
sdelete -z
) le permitirá liberar adecuadamente cualquier espacio que se haya escrito pero que desde entonces haya sido liberado por su sistema operativo VM, luego puede ejecutar el comandoVBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact
en su máquina host para compactar adecuadamente la imagen del disco dinámico volver a bajar a su tamaño mínimo.fuente
sdelete -z
no aumenta mucho el tamaño del disco dinámico.