Thin Provisioning unter VMware vSphere: VMDK, NFS, VAAI


    Tags: , , ,

    Thin ProvisioningBekanntlich unter­stützt ESXi zwei Arten von Thin Provi­sioning, näm­lich bei virtu­ellen Fest­platten und auf Array-Ebene. Beide bieten den Vor­teil, dass man anders als beim Thick Provi­sioning eine über­mäßige Vorab­belegung von Speicher ver­meidet. Speicher­platz für die VMs wird dabei flexi­bel, das heißt nur nach Bedarf zugeteilt.

    Dieses Verfahren erlaubt es den Anwendern, mehr virtuellen Speicher­platz zuzuteilen als physische Kapazität vorhanden ist. Dies kann allerdings zu einer Storage-Überbuchung führen, ähnlich wie vom virtuellen Arbeits­speicher bekannt.

    Risiken von Thin Provisioing

    Aus Performance-Gründen ist Array-Thin-Provisioning jenem auf VMDK-Ebene vorzuziehen, sofern es das Storage-System unterstützt (VAAI-Support). Beide Varianten bergen die Gefahr, dass der Datastore (VMware) überläuft oder die physische Kapazität (Storage) erschöpft ist. Das kann zu Daten­verlusten und Systemausfällen führen. Daher sollte man Thin Provisioning keinesfalls auf beiden Ebenen nutzen.

    ESXi überwacht beim Thin Provisioning die tatsächliche Speicher­nutzung, um solchen Situationen vorzubeugen, in denen kein physischer Speicherplatz mehr vorhanden ist. Thin Provisioning belastet den ESXi-Host somit mehr, weil dieser nicht nur die Daten schreiben, sondern sich auch um das Wachstum kümmern muss.

    Letzteres kann beim Einsatz von VMFS auch zu SCSI-Reservierungen führen, ein Phänomen, bei dem unter Umständen die komplette LUN gesperrt wird, wohingegen NFS bei Bedarf nur einzelne Datei sperrt.

    Thin Provisioning virtueller Festplatten

    Das Thin Provisioning auf Ebene der virtuellen Festplatten erlaubt Nutzern das Erstellen von VMDKs in einem Thin-Format. ESXi teilt einem virtuellen Laufwerk dann den gesamten, für momentane und künftigen Aktionen, benötigten Speicherplatz zwar fest zu.

    Thin versus Thick Provisioning bei virtuellen Laufwerken

    Aber die virtuelle Thin-Festplatte belegt nur so viel Speicherplatz im Datastore, wie sie für ihre anfäng­lichen Anforderungen benötigt. Braucht sie später mehr Platz, kann sie bis auf die Größe anwachsen, die bei ihrer Erstellung konfiguriert wurde.

    Thin Provisioning und NFS

    Egal, was man als Bereitstellungs­methode auf VM-Ebene angibt, arbeiten NFS-Datastores im Gegensatz zu VMFS-Datastores immer im Modus Thin Provisioning. Daher verbrauchen nur die tatsächlich abgespeichert Dateien (NFS arbeitet ja im Gegensatz zu VMFS dateibasiert) auch Festplatten­platz im Storage.

    Einzige Ausnahme: Ein NAS-System unterstützt VAAI Reserve Space. Dabei handelt es sich um eine von zahlreichen VAAI-Primitiven. Ohne VAAI-Support könnte man auf einem NAS-Gerät Speicherplatz für VMDKs nie vorab zuweisen oder auf null setzen. Man müsste sich dann mit thin-provisionierten VMDKs begnügen.

    Mit der Einführung von Reserve Space können aber auch Thick-VMDKs auf NFS-Datenspeichern erstellt werden (siehe dazu den VMDK-Vergleich: Thick Provision Lazy-Zeroed und Eager-Zeroed, Thin Provision).

    Die Methode verhält sich äquivalent zu Lazy Zeroed Thick unter VMFS, weil dabei zunächst nur ein NAS-VAAI-Befehl zur Speicherplatz­reservierung an das Array gesendet wird. Der stellt sicher, dass die nötige Kapazität garantiert ist.

    Die Blöcke werden danach erst beim ersten Schreiben auf null gesetzt, denn der Befehl veranlasst das Array nicht, die Nullsetzung in seinem Namen durch­zuführen. Wählt man Thick Eager Zeroed, dann wird zwar zusätzlich ein Space Reserve an das NAS gesendet, der dann ein ESXi-basiertes Null-Schreiben ausführt.

    Dies ist aber nicht äquivalent zu Eager Zeroed Thick unter VMFS, da alle Schreib­vorgänge weiterhin über das Speicher­netzwerk gesendet und trotz VAAI-Support nicht auf die Speicher­geräte ausgelagert werden. NFS-EagerZeroed-Thick bleibt also ein langsamer Vorgang.

    VAAI-Support für Synology installieren

    Bei einigen Array-Herstellen im Consumer-Bereich kann man den NFS-VAAI-Support nachrüsten, bei Synology etwa durch Installieren eines VIB-Paketes:

    esxcli software vib install -v /tmp/ synonfs-vaai-plugin-1.1-1004.vib --no-sig-check

    Im Web-Client oder vSphere Client wird der VAAI-Support für einen Synology-basiertes NFS-Datastore dann als "Hardware Acceleration" gemeldet.

    Nach dem Aktivieren von VAAI für NAS von Synology markiert vSphere die Laufwerke als Hardware-beschleunigt.

    Array-Thin-Provisioning

    Verwendet man ein Speicher­system, das die T10-basierte vSphere Storage APIs - Array Integration (VAAI) einschließlich Thin Provisioning und Rück­for­derung von Speicher­platz unterstützt, dann kann der ESXi-Host per Thin Provisioning bereitgestellte LUNs erkennen und deren Speicherplatz­nutzung überwachen.

    Damit wird vermieden, dass den virtuellen Maschinen der physische Speicher­platz ausgeht. Konkret warnt der Host dann bei Verletzungen des physischen LUN-Speicherplatzes und bei Speicher­platz­knappheit.

    Keine Kommentare