Frage Größe der OVA-Datei in virtualbox verkleinern


Ich habe eine Ubuntu 64bit VM, die ich aus einer ~ 1GB OVA-Datei abgeleitet habe. Ich habe sie unter VMware vSphere verwendet, um weitere Software darauf zu installieren, und benutze das System gegen einige Datensätze, die jetzt 2-3GB Speicherplatz benötigten Da ich diese großen Dateien gelöscht habe, habe ich erwartet, dass die neu erzeugte OVA-Datei davon ca. 1.1GB Speicherplatz benötigt, dafür aber ca. 3GB benötigt. Wenn ich mir die Details der .vmdk-Datei in virtualbox anschaue, sehe ich Folgendes:

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

Die Größe der Eier, wenn ich dieses Gerät exportiere, ist ~ 3GB.

Irgendwelche Ideen, wie ich es verkleinern kann?


4
2017-11-08 15:56


Ursprung




Antworten:


Ein Leerzeichen in .vmdk wird zugewiesen, wenn OS einen ersten Schreibvorgang in einen bestimmten Sektor ausführt. Einmal geschrieben, ist es für immer vergeben.

Sie müssen also Ihrer virtuellen Maschine eine zweite virtuelle Festplatte mit dynamischer Größe hinzufügen, dann die VM von LiveCD starten, Partitionen mit fdisk erstellen und alle Dateien kopieren (cp -R). Schalten Sie dann die VM aus, tauschen Sie die virtuellen Festplatten aus, booten Sie erneut und überprüfen Sie, ob alles funktioniert, trennen Sie dann die ursprüngliche virtuelle Festplatte von der VM und löschen Sie sie als Datei auf der Festplatte des Hostsystems.

Das direkte Kopieren mit dd in VM funktioniert nicht, da jeder Sektor in eine .vmdk-Zieldatei geschrieben wird, sodass er auf seine volle Größe erweitert wird, anstatt zu verkleinern.


4
2017-12-03 10:16





Siehe den Artikel So verkleinern Sie ein dynamisch expandierendes Gast-Virtualbox-Image.

Es beschreibt, wie Sie die Festplatte verkleinern können über:

  1. Zero den freien Speicherplatz mit zerofree für Ubuntu
  2. Schrumpfen Sie die VM mit
    VBoxManage modifyhd my.vdi –compact

8
2017-12-03 15:34



Ich versuchte es nach Anweisungen aus dem Artikel und stieg von 3,5 GB auf 3,0 GB. Ich konnte den letzten Befehl nicht replizieren, da ich eine * .ova-Datei aus dem Export erhalte: VBoxManage modifyhd my.ova -compact beschwert sich Could not get the storage format of the medium - 719016
Es gibt keinen Export in diese Methode und keine .ova-Datei: Sie führen nur Zerofree in der VM, schließe es ab und verdichte es. - harrymc
Ich habs. Ich habe nur *.vmdk Dateien, also habe ich zuerst mit vdi konvertiert VBoxManage clonehd --format VDI my-disk1.vmdk my-disk1.vdi Dann wurde der Befehl compact angewendet, aber die vdi-Größe änderte sich überhaupt nicht. - 719016
Einige Dateien müssen am Ende der Datei übrig bleiben. Entfernen Sie die maximal möglichen Dateien und folgen Sie dann dieses Tutorial. Ebenfalls Dieser Artikel ebenso gut wie Dieser Thread kann helfen. - harrymc
Tipp: "Ende der Datei" => "Ende der Festplatte". - harrymc