Main /

V Mware Images

V Mware Images

VMware Images

Ein VMware Image ist auf dem Host System eine oder mehrere große Dateien, im Gast System (in der Virtuellen Maschine) ist es aber genau eine Festplatte.

Es gibt 5 verschiedene Arten von Images.

  • Eine große Datei (pre allozierter Speicher)
  • Viele 2GB große Dateien (pre allozierter Speicher) + eine kleine 1-2kb kleine *.vmdk (Verwaltungsdatei)
  • Eine wachsende Datei
  • Viele bis zu 2GB groß wachsende Dateien + eine kleine 1-2kb kleine *.vmdk (Verwaltungsdatei)
  • Eine eigene HDD Partition

Pre allozierter Speicher

Eine solches Image sollte gewählt werden, wenn man sehr viel mit dieser Virtuellen Maschine arbeiten möchte, da dann schon vorher fest steht, wie viel Platz die VM belegt. Zudem läuft man nicht Gefahr, das mit steigendem Füllstand die VM immer langsamer wird, weil neu zu allozierende Blöcke immer hinten an die Datei angehängt werden, aber im Host System können diese Blöcke irgendwo auf der Platte liegen. Irgendwann wird die Kopfbewegung der echte Festplatte die Bremse.

Wachsende Datei (growable)

Bietet sich an, wenn man mit der VM nur ab und zu arbeitet. Wenn man mal was ausprobiert. Die wachsenden Dateien kann man über ein externes Tool (vmware-vdiskmanager) wieder verkleinern, das geht leider nur unter Windows. frowning smiley

Eine eigene Partition

Man kann einer VMware auch eine eigene Partition zur Verfügung stellen. Allerdings ist es nicht empfehlenswert, da Windows sich mit jeder Version anders verhält, was unbekannte Partitionstypen angeht. Man erinnere sich nur an das Dilemma OS/2, wo Windows XP meinte, das wäre eine defekte FAT Partition und diese müsse erstmal repariert werden. Leider wurde die Partition kaputt repariert, so das OS/2 sie nicht mehr gebrauchen konnte. Echt geschickt, so entledigt man also seine Konkurrenz.

2GB oder ein Blob

Wer viel mit Windows und im Netzwerk unterwegs ist, sollte immer auch dessen Einschränkungen im Auge behalten. Dann ist es besser 2GB Blöcke zu verwenden, sonst kann man getrost auch den großen Blob nehmen. Aber nicht meckern, 64GB große Dateien lassen sich schlechter verarbeiten/packen/...

vmware-vdiskmanager

Ist das Tool der Wahl, um die Images zu konvertieren.

Leider hat das Tool einen großen Nachteil, es versagt gerne mal den Dienst mit Insufficient system resources exist. Was auch immer das heißen mag. Also vorher immer ein Backup anlegen.

  • vmware-vdiskmanager.exe Parameter anzeigen lassen
# vmware-vdiskmanager.exe -h
  • Shrink (leere Sektoren entfernen)
# vmware-vdiskmanager.exe -k vmware.vmdk
  • Image vergrößern auf 32GB
# vmware-vdiskmanager.exe -x 32gb vmware.vmdk
Danach z.B: ein Livesystem über ein ISO Image booten (Ubuntu 10.10) und mit GParted? die Partitionen manipulieren.
  • Image konvertieren
# vmware-vdiskmanager.exe -r vmware.vmdk -t <disk type> C:\pfad\zu\neues_vmware.vmdk

Disk type:

  • 0 eine wachsende Datei
  • 1 wachsende Datei in 2GB Schritten
  • 2 pre allozierte Datei
  • 3 pre allozierte Datei in 2GB Schritten
  • Image umbenennen
# vmware-vdiskmanager.exe -n vmware.vmdk neuer_name_vmware.vmdk
Hilfreich, wenn man viele Dateien in 2GB Schritten hat.

Image verkleinern

Ein VMware Image wird mit der Zeit immer größer, wenn man, was man auch sollte es im growable Format anlegt. Dabei werden anfangs die leeren Sektoren einfach noch nicht geschrieben sondern nur als leer vermerkt. Hat man jetzt aber ein großes Image und löscht darin viele Dateien wieder, wird das Image leider nicht kleiner, da bis jetzt kein OS Dateien wirklich löscht, sondern nur in dessen Directory-Struktur vermerkt, das die Datei nicht mehr da ist. Da gibt es die wildesten Hilfmittel um solche Dateien doch richtig zu löschen, unter Windows wird empfohlen die Datei mehrfach zu überschreiben Hüstel. Naja, jedenfalls gibt es einen einfachen Weg, um das Image wirklich zu löschen.

Ist das Gastsystem

    * ein Linux, einfach mit dd eine riesige leere Datei anlegen.
      dd if=/dev/zero of=/tmp/empty.bin bs=1000000 count=65536
    * ein Windows, einfach eine Mailbombe auspacken, da es normalerweise kein dd unter Windows gibt. 

Dabei werden nur die leeren Sektoren im Filesystem überschrieben. Dann sollte das Gastsystem beendet werden und auf dem Hostsystem einfach folgendes gestartet werden:

  1. vmware-vdiskmanager -k vmware-image.vmdk

Jetzt wird das VMware Image verkleinert, dabei werden alle leeren Sektoren ausgelassen, so dass am Ende das vmware-image.vmdk meist kleiner ist. Das funktioniert nur unter Windows Evtl. muss man also sein vmware-image nach Windows kopieren. frowning smiley

Links

Frische Änderungen | Menü editieren
zuletzt geändert am 25.06.2019 09:33 Uhr von Lars
Edit Page | Page History