Verkleinern Sie die Größe der OVA-Datei in Virtualbox

Verkleinern Sie die Größe der OVA-Datei in Virtualbox

Ich habe eine 64-Bit-VM unter Ubuntu, die ich aus einer ca. 1 GB großen OVA-Datei abgeleitet habe. Ich habe sie unter VMware vSphere verwendet, um weitere Software darauf zu installieren und das System für einige Datensätze zu verwenden, die ca. 2–3 GB Speicherplatz beanspruchten. Nachdem ich diese großen Dateien gelöscht habe, hatte ich erwartet, dass die daraus neu generierte OVA-Datei ebenfalls ca. 1,1 GB Speicherplatz beanspruchen würde. Stattdessen sind es ca. 3 GB. Wenn ich mir die Details der .vmdk-Datei in Virtualbox ansehe, 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 OVAs beträgt beim Exportieren von dieser Maschine ca. 3 GB.

Irgendwelche Ideen, wie ich es verkleinern kann?

Antwort1

Ein Speicherplatz in .vmdk wird zugewiesen, wenn das Betriebssystem zum ersten Mal in einen bestimmten Sektor schreibt. Einmal geschrieben, ist der Speicherplatz für immer zugewiesen.

Sie müssen also Ihrer virtuellen Maschine eine zweite virtuelle Festplatte mit dynamischer Größe hinzufügen, die VM dann von der Live-CD booten, Partitionen mit fdisk erstellen und alle Dateien kopieren (cp -R). Fahren Sie dann die VM herunter, 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 der VM funktioniert nicht, da dabei jeder Sektor in die Ziel-VMDK-Datei geschrieben wird, die sich daher auf ihre volle Größe ausdehnt, anstatt zu schrumpfen.

Antwort2

Zum ArtikelSo verkleinern Sie ein dynamisch wachsendes Virtualbox-Gastimage.

Es beschreibt, wie die Festplatte wie folgt verkleinert wird:

  1. Den freien Speicherplatz auf Null setzen, mitNullfreifür Ubuntu
  2. Verkleinern Sie die VM mit
    VBoxManage modifyhd my.vdi –compact

verwandte Informationen