Das Umwandeln einer VMDK von einer Thin- zu Thick-Bereitstellung stellt soweit kein Problem. Leider ist der andere Weg nicht ganz so einfach zu bewerkstelligen.
Auf diversen Internetseiten und Foren wird beschrieben, dass eine Konvertierung von Thick- zu Thin- HDDs relativ einfach über eine Storage vMotion Operation durchgeführt werden kann. Hierzu ist aber zum einen eine entsprechende vCenter Server Lizenz erforderlich, zum anderen hat es in verschiedenen Umgebungen, in denen ich es auf diesem Weg getestet habe, nicht funktioniert.
Folgendes Vorgehen mittels des „vmkfstools“ hat sich bisher für mich immer als praktikabel erwiesen:
Ausgangslage
Im folgenden Beispiel wird eine 150GB große, ehemals thin bereitgestellte VMDK-Datei, durch Einsatz der vmkfstools wieder um 50Gb verkleinert, welche aktuell nicht mehr vom Sysetm benötigt werden.
Vorbereitung
- Da im Folgenden Veränderungen an den Dateien der VMs vorgenommen werden, sollte natürlich zunächst sichergestellt werden, dass ein funktionierendes Backup der VM verfügbar ist.
- Die Verkleinerung der HDD funktioniert nur, wenn keine Snapshots auf der VM vorhanden sind. Daher ist es ratsam vorher eine entsprechende Konsolidierung vorzunehmen.
Innerhalb der VM
Über die vmkfstools kann nur der Bereich einer VMDK wieder freigegeben werden, der entweder komplett leer bzw. mit Nullen beschrieben ist. Um dies in einem Windows Betriebssystem zu tun, empfiehlt sich in virtuellen Umgebungen der Einsatz des Tools „SDelete“ aus der Sysinternals Suite von Microsoft.
Folgender Befehl beschreibt den kompletten freien Bereich der Partition C: mit Nullen:
SDelete.exe -z c: (auf 32Bit Systemen) bzw SDelete64 -z c: (auf 64Bit Systemen)
Sobald der Vorgang erfolgreich abgeschlossen wurde, muss die VM heruntergefahren werden.
Verkleinern der VMDK
Die folgenden Befehle werden über eine SSH Sitzung auf dem vSphere Host ausgeführt.
Wechselt ins Verzeichnis, in dem die zu verkleinernde VMDK liegt:
cd /vmfs/volumes/%Storage Name%/%Verzeichnis der VM% %Storage Name% = Name eures Datenspeichers %Verzeichnis der VM% = In der Regel der Name eurer VM (es sei denn, sie wurde nach Anlage umbenannt und seither kein Storage vMotion ausgeführt)
Über den Befehl „du -h #Name#-flat.vmdk“ wird die aktuell von der VMDK belegte Größe angezeigt.
Anschließend führt man nun diesen Befehl auf die Datei #Name#.vmdk (nicht die #Name#-flat.vmdk) aus.
vmkfstools -K #Name#.vmdk
Abschließend kann über „du -h #Name#-flat.vmdk“ nochmal die Größe geprüft werden.
In diesem Fall wurden über 45GB an Speicher wieder freigegeben.
xD über Google alte Bekannte aus der Ausbildung wiederzufinden ist schon ganz lustig.
Kannst du mir auch verraten, wie ich eine Platte von „Thin Lazy zeroed“ auf „Thin Eager Zeroed“ geändert bekomme? Die Bezeichnung „Thick“ gibt es ja so nicht mehr bei VMware ESXi.
Ja Sachen gibts 🙂
ich vermute du meinst von „Thick Lazy Zeroed“ auf „Thick Eager Zeroed“, „Thin Eager Zeroed“ würde ja irgendwie keinen Sinn ergeben :-).
Die Lösung findest du hier:
https://kb.vmware.com/s/article/1035823
Entweder über die GUI die VMDK erweitern oder über die vmkfstool die VMDK bearbeiten (vmkfstools –eagerzero #pfad zur vmdk#).
In beiden Varianten muss die VM vorher heruntergefahren worden sein.
Ich hoffe das hilft dir weiter,
Tobias