Virtuelle Maschinen verkleinern

Virtualisierung ist nicht nur ein Markttrend, sondern überaus praktisch, wenn z.B. auf einem Gastsystem (hier Mac OS X) z.B. ein Windows XP laufen soll. VMware Fusion hat sich seit den ersten Betaversionen bewährt und funktioniert nicht nur hervorragend auch mit Bereitstellung von 8GB RAM für ein 64bittiges Debian, sondern ist auch eine ausgefeilte Umgebung – wie man im Folgenden merkt.

Innerhalb des VMware Fusion „Application Bundles“ finden sich einige Programme, die vom Terminal aus gestartet werden können und interessante Werkzeuge bereitstellen, für die es keine Entsprechung in der Benutzerschnittstelle von VMware Fusion gibt (vielleicht aus gutem Grund?). Eines dieser Tools kann die virtuelle Festplatte optimieren, die auf der Wirtsseite eine Entsprechung in Form einer erheblich großen Datei hat. Wird im Gast viel mit der Festplatte gearbeitet (z.B. Mails empfangen, zwischen den Mailboxen verschieben u.ä.) wirkt sich das auf den physischen Speicherbedarf aus. Festplatten-Defragmentierung oder Optimierung hat (wenn überhaupt) nur einen Effekt auf die Performanz von Fusion; auf jeden Fall keinen Vorteil bezüglich der Dateigröße der Festplattendatei.      

Um nun den von einer virtuellen Maschine auf dem Gastrechner genutzten Plattenplatz ohne Nachteile für erstere zu verkleinern, empfiehlt sich der Einsatz folgender Tools:

Zuerst sollte man überprüfen, ob man einen Snapshot in VMware Fusion verwaltet. Falls ja, sollte man VMware zuerst sichern (als Backup umkopieren und in der Sicherungskopie den Snapshot erhalten) und den Snapshot im Original verwerfen (das Verwerfen dauert selbst übrigens auch sehr lange!).

Dann kann man das Gastsystem defragmentieren (bei Windows z.B. durch das bordeigene Programm, das im Reiter „Extras“ in den „Eigenschaften“ des Laufwerks zu finden ist) – obwohl der wirkliche Nutzen noch nicht nachgemessen ist.

Als wichtiger Schritt sollte der nicht benutzte Platz der virtuellen Festplatte von Inhalten befreit werden, so dass dort nichts Sinnvolles mehr in den Sektoren steht. Das geht z.B. mit „SDelete“ einem etwas älteren, äh bewährtem Progrämmchen, das aus der Windows Kommandozeile gestartet werden sollte. Man kann sich auch eine Verknüpfung auf den Desktop (hier direkt neben das Programm) legen und es auf diese Weise mit den erforderlichen Parametern aufrufen: 

„C:\Dokumente und Einstellungen\Benutzer\Desktop\sdelete.exe“ -c c:

(Hinweis: Fett Gedruckes bitte durch eigene Werte ersetzen)
Das läuft dann eine gewisse Zeit auf der lokalen Festplatte im Gastsystem, das währenddessen nicht mal blockiert ist. Aber eine Verwendung ist aus leicht verständlichen Gründen trotzdem nicht angezeigt. Und weil SDelete die nicht benutzten Sektoren überschreibt, sollte VMware auch keinen Snapshot mehr vorhalten, weil sonst die Differenzdatei alle geänderten Sektoren aufzeichnet und u.U. extrem gross wird.

Jetzt kommt das VMware Werkzeug zum Defragmentieren und Kompaktifizieren der realen Speicherdatei auf der Wirtsseite dran. Dazu beendet man die virtuelle Maschine (Pausieren oder Herunterfahren) und ruft dann aus dem Terminal Folgendes auf:

/Applications/VMware\ Fusion.app/Contents/MacOS/diskTool -k 1 -d /Volumes/HD/WinXP.vmwarevm/WinXP.vmdk

(Hinweis: Das oben ist ein Kommando: „diskTool“ aus dem Application Bundle von VMware Fusion, welches im üblichen Programmordner liegt und mit den folgenden Parametern aufgerufen wird: „-k 1“ kompaktifiziert die Originaldatei, „-k 0“ würde eine Kopie erstellen; „-d“ defragmentiert die Datei im Wirtssystem auch gleich noch; „/Volumes…“ ist der Pfad zur Festplattendatei innerhalb des „Bundleordners“ der virtuellen Maschine auf dem Wirtssystem.)

Je nach Größe der Datei dauert dieser Vorgang reichlich lange oder noch länger. Wird auch defragmentiert wird die Datei zweimal durchgewalkt. Währenddessen ist die virtuelle Maschine natürlich nicht benutzbar, aber im Terminal wird der Fortschritt angezeigt.

Auf diese Weise konnte ich meine 50GB große und mit nur 22GB belegte virtuelle Festplatte auf der Wirtsseite statt auf 56GB nun auf nur noch 26GB verkleinern. Allerdings mit dem Nachteil des aufgegebenen Snapshots. Doch letztendlich eignet sich eine separate Kopie von der virtuellen Maschine als Ganzes besser als langfristige Sicherung als die für kurzfristige Tests gedachte Snapshot-Funktion von VMware.

Schreibe einen Kommentar