Ich habe hauptsächlich Festplatten-Images mit fester Größe für Oracle Virtualbox verwendet, aber ich denke darüber nach, auf dynamische Disk-Images umzusteigen, da ich gehört habe, dass dynamische Images eine ähnliche Leistung aufweisen wie Images mit fester Größe, außer beim Erweitern.
Eine Operation, die ich häufig mache, besteht darin, ein Disk-Image mit fester Größe vor dem Sichern mit einem Zip-Programm auf Null zu setzen (um die Größe des Zip-Archivs zu verringern). Meine Frage ist, wenn ich eine dynamische Festplatte mit Null fülle, wird die Festplattengröße auf den maximal deklarierten Wert erhöht? (Für meinen speziellen Fall verwende ich sdelete -z
Windows-Partitionen.)
Eine weitere Frage ist, ob es eine Möglichkeit gibt, Partitionen mit Nullen zu füllen, ohne die Festplattengröße zu erhöhen.
Vielen Dank.
- BEARBEITEN -
Zur Verdeutlichung frage ich, dass ich die Größe komprimierter Virtualbox-Images auf ein Minimum beschränken möchte. Das Null-Füllen eines Bildes mit fester Größe erledigt die Aufgabe, da der mit Null gefüllte Teil fast nichts zum komprimierten Bild beiträgt. Wenn ich jedoch zu einer dynamischen Festplatte wechsle, scheint die Nullfüllung den Zweck der Verwendung von Bildern mit dynamischer Größe zu vereiteln.
Der zweite Teil meiner Frage lautet wirklich, ob es eine bessere Alternative als Nullfüllung gibt, mit der nicht verwendete Sektoren entfernt werden können, ohne die Festplattengröße zu vergrößern.
quelle
Antworten:
Ich habe es gerade getestet (unter Verwendung
sdelete -z
in einer VM) und das Null-Füllen der Festplatte erhöht die Größe des dynamischen Festplatten-Images nicht merklich. Virtualbox ist intelligent genug, um zu erkennen, dass beim Schreiben von Nullen in einen bereits leeren Block auf der Festplatte der Block nicht erneut geschrieben werden muss.Aber selbst wenn dies der Fall ist, ist das nicht schlecht, denn wenn Sie die Festplatte nicht füllen, können Sie sie auch mit den Virtualbox-Tools auf Ihrem Host erneut komprimieren: Wie wird die VDI-Dateigröße von VirtualBox komprimiert?
Als ich meine VM auf Null füllte, wurde die Image-Größe von ~ 14,5 GB auf ~ 15,5 GB erhöht, aber nicht vollständig der gesamte Speicherplatz zugewiesen, was ungefähr 48 GB gewesen wäre.
Wenn Sie die Festplatte nicht mit (via
sdelete -z
) füllen , können Sie den geschriebenen Speicherplatz, der inzwischen von Ihrem VM-Betriebssystem freigegeben wurdeVBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact
, ordnungsgemäß freigeben. Anschließend können Sie den Befehl auf Ihrem Host-Computer ausführen, um das dynamische Festplatten-Image ordnungsgemäß zu komprimieren zurück auf seine minimale Größe.quelle
sdelete -z
erhöht die dynamische Festplattengröße nicht viel.