In VMware ESXi 5.x werden in ThinProvisioned LUNs mit aktiviertem VAAI keine Blöcke mehr freigegeben (Space Reclamation)

Seit der VMware vSphere Version 5.0 gibt es die Möglichkeit, VAAI Thin Provisioning Block Space Reclamation (UNMAP) zu verwenden. In der Version 5.x gibt es aber Probleme beim Absetzen des Kommandos. Deshalb hat VMware empfohlen, das UNMAP Kommando zu deaktivieren. Es wird auch bei Einspielen des Patches ESXi500-201112001 oder ESXi 5.0 Update 1 per default deaktiviert.

Das Problem dabei:
Dieses Feature wird dafür verwendet, dem Storage bei Thin Provisioned LUNs (ISCSI oder FC) mitzuteilen, welche VM-Blöcke wieder freigegeben werden können.


Ist dieses Feature disabled und es wird z.B. ein Storage VMotion angestoßen oder eine VM im entsprechenden Datastore gelöscht, so wird zwar im VI-Client der freie Speicherplatz angezeigt, allerdings nicht auf dem Storage freigegeben…  Siehe Befehl auf der NetApp: „lun show -v /vol/volname/lunname“ – Feld: Occupied Size

Die Gefahr
Das Storage läuft voll…
Und dann schlägt irgendwann hoffentlich das Monitoring zu…
Und dann? Wie bekomme ich den Platz wieder frei…?!?

VMware hat die Möglichkeit geschaffen, manuell diesen „Space Reclaim“ abzusetzen:
Man wechselt hierfür auf der ESXi CLI in den entsprechenden Datastore (cd /vmfs/volumes/datastorename)
und gibt folgenden Befehl ein vmkfstools -y PROZENTZAHL

Zur Erklärung:
Wird z.B. vmkfstools -y 60 angegeben, so verwendet VMware ein temporäres File „.vmfsBalloontsWt8w“ im Datastore, um Space zu reclaimen. Die Größe des Files ist immer „angegebene Prozent nach dem -y vom freien verbleibenden Speicherplatz im Datastore“. Sind z.B. 10GB im Datastore noch nicht belegt und man gibt „60“ ein, wird versucht 6GB an Platz freizugeben und temporär für diese Operation ein 6GB File angelegt. Sind in diesem Beispiel im Storage weniger als 6GB zu „reclaimen“ wird natürlich nur das reclaimed, was möglich ist…

Mit esxtop kann man den „delete“ Vorgang monitoren:
Im esxtop kommt man mit „u“ in die Disk Ansicht. Dort kann man mit „f“ weitere Felder einblenden.
Die Felder „o“ und „p“ können hinzugefügt werden und man sieht nach drücken von „ESC“ die entsprechenden VAAI-Statistiken. (Spalten evtl. noch mit „o“ sortieren).
In den Spaten „DELETE“, „DELETE_F“, „MBDEL/s“ sollten aktive Werte zu sehen sein…

Prüft man dann auf dem NetApp Storage System mit lun show -v /vol/volname/lunname die „Occupied Size“, sollte (wenn Platz freigegeben werden kann) der Wert gesunken sein…

ACHTUNG:
Das Ausführen des Befehls kann erhöhte IO-Last auf dem Storage erzeugen, deshalb nur mit Vorsicht zu genießen!
Bitte erst auf einem Testdatastore überprüfen, ob die Space Reclamation funktioniert und wie sie funktioniert!

  • VM auf Testdatastore mit Storage VMotion verschieben
  • danach wieder mit Storage VMotion verschieben
  • prüfen, was der VI-Client anzeigt und was ein lun -v anzeigt
  • mit vmkfstools vertraut machen und Space reclaimen
  • ab gehts auf die produktiven Datastores

Weiterführende Informationen
Using vmkfstools to reclaim VMFS deleted blocks on thin-provisioned LUNs
http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=2014849

VAAI Thin Provisioning Block Reclaim/UNMAP in Action
http://blogs.vmware.com/vsphere/2012/04/vaai-thin-provisioning-block-reclaimunmap-in-action.html

– I wish I could be a Virtual Machine –

Benjamin Ulsamer

Advertisements