Wie man die Größe der virtuellen Maschinenfestplatte (VMDK) auf VMware ESXi reduziert

Kenne ich – das Verkleinern einer VMDK in VMware kann echt nervig sein, wenn man sich nur auf die GUI verlässt. Komischerweise sieht es im vSphere Client so einfach aus: Schieberegler verschieben, um die Festplatte zu verkleinern, oder? Denkste! Es kommt eine Fehlermeldung, dass die Größe größer sein muss.Ätzend. Also muss man sich durch die Kommandozeile wühlen oder manuell nachjustieren. Falls ihr jemals das Problem hattet, dass sich die virtuelle Festplatte einfach nicht verkleinern lässt, ist diese Anleitung eine gute Lösung. Es sind zwar ein paar Schritte nötig, aber letztendlich ist es meistens am besten, die Festplatte im Gastbetriebssystem zu verkleinern und dann die VMDK manuell zu bearbeiten. Kein Zauberstab, nur ein bisschen Kommandozeilen-Know-how, aber es hat bei mir schon ein paar Mal funktioniert – sogar auf verschiedenen Systemen, was etwas seltsam ist, aber egal.

Wie man eine VMDK-Datei in VMware ESXi verkleinert – die Praxis

Methode 1: Verkleinern Sie zuerst die Gastbetriebssystempartition.

Dies ist entscheidend, da VMware die VMDK-Datei nicht direkt verkleinern kann, wenn sich im Gastsystem Daten oder Partitionen befinden, die nicht verkleinert werden. Außerdem benötigen Windows oder Linux freien Speicherplatz am Ende der Partition, um ihre Funktionen auszuführen. Daher besteht der erste Schritt darin, die Partitionsgröße innerhalb der VM zu reduzieren.

Warum das hilft: VMware ändert die Größe der Festplattendatei selbst nur dann, wenn das Dateisystem bereinigt, verkleinert oder mit Nullen gelöscht wird. Durch das Verkleinern der Partition signalisieren Sie dem Betriebssystem im Grunde: „Hey, lösch etwas Speicherplatz.“ Dadurch erkennt VMware, dass die Festplatte kleiner sein kann.

Wann dies zutrifft: Normalerweise dann, wenn Sie Speicherplatz innerhalb der VM freigeben möchten – beispielsweise von einer 100-GB-Festplatte auf 60 GB oder einen anderen Wert. Nach dem Verkleinern der Partition ist die Festplattendatei für den nächsten Schritt bereit.

Was Sie erwartet: Bei korrekter Durchführung wird die Partition verkleinert, wodurch im Gastbetriebssystem viel nicht zugewiesener Speicherplatz entsteht. Dieser nicht zugewiesene Speicherplatz kann genutzt werden, um die VMDK-Größe manuell mithilfe von VMware-Befehlen oder durch Bearbeiten von Dateien zu reduzieren.

Schritte – falls Sie Windows verwenden:

  • Öffnen Sie diskmgmt.msc (Datenträgerverwaltung).Klicken Sie mit der rechten Maustaste auf das Startmenü und wählen Sie es aus, falls Sie es nicht sofort finden.
  • Identifizieren Sie die zu verkleinernde Partition. Falls eine Wiederherstellungspartition (z. B.WinRE) die Verkleinerung blockiert, müssen Sie diese möglicherweise verschieben oder löschen – was einen ganz anderen Aufwand bedeutet. Zum Verschieben von Partitionen werden üblicherweise Tools wie diskpart oder spezielle Partitionierungstools verwendet.
  • Wählen Sie die Hauptpartition aus und klicken Sie auf „Volume verkleinern“. Hier geben Sie Windows an, wie viel Speicherplatz freigegeben werden soll. Wenn Sie beispielsweise 40 GB verkleinern möchten, rechnen Sie dies in MB um (z. B.40960).
  • Nach dem Verkleinern sehen Sie direkt neben der Hauptpartition nicht zugewiesenen Speicherplatz. Diesen benötigt VMware, bevor die VMDK-Datei vergrößert oder verkleinert wird.

Linux-Nutzer können die VM von einer GParted-Live-CD starten. Die grafische Benutzeroberfläche vereinfacht das Ändern der Partitionsgröße erheblich: Schieberegler ziehen, Partitionen bei Bedarf verschieben und anschließend auf „Anwenden“ klicken. Diese Vorgehensweise ist besonders praktisch, da Linux-Tools wie parted oder resize2fs, insbesondere bei LVM-Konfigurationen, ebenfalls hilfreich sind.

Methode 2: Die VMDK-Datei manuell bearbeiten

Hier wird es etwas technischer. Im Prinzip teilen Sie VMware mit: „Hey, meine Festplatte ist jetzt kleiner“, indem Sie die Festplattenbeschreibungsdatei bearbeiten. Aber Vorsicht: Änderungen an der VMDK-Datei können schwerwiegende Folgen haben, wenn sie nicht korrekt durchgeführt werden. Sichern Sie daher unbedingt vorher alle Daten. Denn natürlich muss VMware es einem unnötig schwer machen.

Warum das hilft: Die Größe der virtuellen Festplatte wird im .vmdk -Deskriptor gespeichert, nicht nur die eigentlichen Festplattendaten. Durch die Reduzierung der Größe erkennt VMware die neue, kleinere Größe nach der Bereinigung.

Anwendungsfall: Nach dem Verkleinern der internen Partition und der Bestätigung, dass das Gastbetriebssystem einwandfrei funktioniert, stellt diese manuelle Bearbeitung sicher, dass die VMDK-Datei tatsächlich kleiner ist, wenn VMware sie betrachtet.

Schritte – der schwierige Teil:

  • Schalten Sie die VM aus und stellen Sie eine SSH-Verbindung zu ESXi her. Auf dem ESXi-Host können Sie entweder SSH verwenden oder, falls eingerichtet, die Konsole.
  • Navigieren Sie zum Verzeichnis der VM: cd /vmfs/volumes/datastore_name/VMFolder.
  • Überprüfen Sie die aktuelle Festplattengröße: # cat yourdisk.vmdkSuchen Sie die Zeile mit der Beschreibung #Extent. Sie sieht etwa so aus: 51200 Secsize=512oder enthält eine Zeile, die die Größe in Blöcken angibt.
  • Berechnen Sie die neue Größe. Angenommen, Sie möchten die Festplatte von 80 GB auf 40 GB verkleinern. Die Berechnung lautet: Die ursprüngliche Größe beträgt beispielsweise 167.772.160 Blöcke (ca.80 GB).Bei einer Verkleinerung um 40 GB ergäbe sich eine neue Größe von etwa 83.886.080 Blöcken.
  • Öffnen Sie die VMDK-Datei mit einem Texteditor wie vi : # vi yourdisk.vmdk.
  • Navigieren Sie zur Zeile mit der Beschreibung #Extent und ändern Sie den Größenwert auf Ihr neues Ziel. Ersetzen Sie beispielsweise 167772160 durch 83886080.
  • Speichern und beenden ( Esc, dann eingeben :wq)
  • Nun kommt der knifflige Teil: Sie müssen die VM auf einen anderen Datenspeicher migrieren oder VMware Storage vMotion verwenden, um die VM mit der aktualisierten Festplatte zu migrieren. Danach erkennt VMware die kleinere Festplattengröße.
  • Alternativ kann die Festplatte mit der kleineren Größe mithilfe von vmkfstools geklont werden : vmkfstools -i yourdisk.vmdk newdisk.vmdk

Überprüfen Sie anschließend die VM-Einstellungen – ist die Festplattengröße verringert worden? Starten Sie die VM, um die korrekte Funktion zu bestätigen. Hinweis: Manchmal ist nach solchen manuellen Änderungen ein Neustart oder eine erneute Registrierung der VM in vSphere erforderlich. Der Vorgang ist nicht hundertprozentig narrensicher, funktioniert aber mit etwas Geduld oft genug.

Methode 3: VMware vCenter Converter Standalone verwenden

Für alle, die Kommandozeilen nicht mögen, gibt es ein GUI-Tool: VMware vCenter Converter Standalone. Es ist zwar etwas langsamer, aber eine ziemlich sichere Methode, um eine kleinere Festplatte zu erstellen – die VM wird einfach auf eine neue VM mit kleinerer Festplatte geklont. Sie geben die Größe bei der Einrichtung an und starten dann die Konvertierung. Nach Abschluss der Konvertierung schalten Sie die neue VM ein – und schon haben Sie eine kleinere Festplatte. Natürlich benötigen Sie genügend freien Speicherplatz auf Ihrem Datenspeicher für den Klon und etwas zusätzlichen Speicherplatz für den Prozess.

Warum es hilfreich ist: Weil es unkompliziert und benutzerfreundlich ist und das Original unverändert lässt. Es ist eine gute Möglichkeit, Fehler bei manuellen Bearbeitungen zu vermeiden, wenn man etwas Geduld hat.

Wann das zutrifft: Wenn Sie eine saubere, funktionierende kleinere VM benötigen, ohne sich mit Festplattenbeschreibungsdateien oder Partitionsgrößen auseinandersetzen zu müssen. Auch praktisch bei Migrationen oder Systembereinigungen.

In der Praxis fahren Sie die Quell-VM herunter, starten den Konverter, wählen Ihre VM aus und geben eine neue Größe an. Dann warten Sie einfach, bis der Vorgang abgeschlossen ist – das dauert seine Zeit. Sobald er abgeschlossen ist, schalten Sie die neue VM ein, überprüfen Sie, ob die Festplatte kleiner ist, und löschen Sie die alte VM, falls alles in Ordnung ist.

Kleiner Tipp: Wenn Sie nur einen ESXi-Host verwenden und unnötigen Aufwand vermeiden möchten, melden Sie die VM einfach ab, kopieren Sie die Dateien manuell und melden Sie sie erneut an. Das ist oft der einfachste Weg.

Ja, das Verkleinern von VMDKs ist nicht ganz so einfach, aber mit etwas Geduld, sorgfältigen Schritten und ein wenig Mut zur Kommandozeile ist es machbar. Erstellen Sie unbedingt vorher ein Backup oder einen Snapshot – Fehler passieren beim Bearbeiten von Festplattendateien.