VAAI: Erzeugen von VMDKs, Snapshots, Storage vMotion beschleunigen

    VAAI CopyVMware führte in vSphere 4.1 mit VAAI eine Storage-Schnittstelle ein, die Operationen an Speichergeräte auslagert. Dies entlastet Hosts sowie Netzwerke und beschleunigt das Anlegen, Klonen und Verschieben von VMs. Mittlerweile implementieren nicht nur die Anbieter von teuren SANs dieses API, sondern es findet sich auch in vielen preiswerten NAS.

    Die Abkürzung VAAI steht für vSphere APIs for Array Integration. Es definiert mehrere so genannte Primitives, die bestimmte Operationen auf dem Storage-System auslösen. Ihre Zahl wurde mit vSphere 5.x weiter ausgebaut, so dass nun ein ganzes Spektrum von speicherbezogenen Features davon profitiert. In vSphere 6.0 ist VAAI zudem bereits in der Standard Edition verfügbar.

    Entlastung von Hosts

    Ihr Nutzen resultiert vor allem daraus, dass ESXi-Hosts die Speicher­systeme über VAAI anweisen können, selbständig Daten zu kopieren, Blöcke mit Nullen zu überschreiben oder ungenutzten Speicherplatz zurückzugewinnen.

    Bei einem SAN bzw. NAS ohne VAAI-Unterstützung müsste ESXi beispielsweise alle Daten über das Netzwerk einlesen und über dieses wieder zurückschreiben, um VMs zu kopieren. Mit VAAI findet dieser Vorgang vollständig innerhalb des Storage-Systems statt.

    Welcher Aufwand mit der Nutzung von VAAI verbunden ist und welche konkreten Vorteile man davon erwarten kann, hängt zum einen davon ab, ob bzw. wie viele Primitives der Storage-Hersteller implementiert hat. Zum anderen gibt es erhebliche Unterschiede zwischen block- und datei­orientierten Speicher­systemen, also zwischen iSCSI bzw. Fibre Channel und NFS.

    Verschiedene Funktionen für iSCSI und NFS

    VAAI definiert nämlich für beide Arten eigene Kommandos, so dass sich mit iSCSI oder NFS jeweils verschiedene Vorteile erzielen lassen. Für welche man sich entscheidet, wird vor allem von den Anwendungen abhängen, die den Speicher nutzen.

    So gibt es zwar für beide Welten API-Aufrufe, die Daten kopieren. Für blockorientierte Speicher ist das Xcopy, das von Storage vMotion verwendet werden kann, um VM-Abbilder zu migrieren. Das Gegenstück für NFS heißt Full File Clone und kommt dafür nicht in Frage, weil es sich nur für den Umzug von ausgeschalteten VMs eignet. Nachteilig wirkt sich dieses Defizit vor allem dann aus, wenn VMs mit Hilfe von DRS laufend neu platziert werden.

    Das Überschreiben von Blöcken mit Nullen kann VAAI an iSCSI-Storage delegieren.

    Ähnlich ist die Situation beim Beschreiben von Blöcken mit Nullen. Die Aufgabe steht primär dann an, wenn der Administrator eine neue VMDK vom Typ Thick Provision Eager-Zeroed anlegt. Diese belegt gleich am Anfang den gesamten ihr zugewiesenen Speicherplatz und füllt ihn mit Nullen auf. Diese Tätigkeit lässt sich über VAAI mittel Write Same an blockorien­tierte Speicher auslagern, während sie bei der NAS-Variante von ESXi übernommen werden muss.

    Vorteile auch für NFS

    Dennoch ergeben sich auch für NFS Vorteile durch das Pendant zu Write Same, das dort Reserve Space heißt. Es erlaubt nämlich überhaupt erst das Erstellen von Thicks-Provision-Disks, ohne VAAI ist dort nur Thin Provisioning möglich.

    Darüber hinaus bietet VAAI für NFS ein Primitive namens Fast File Clone, für das auf der iSCSI-Seite kein Gegenstück existiert. Es dient dem Erstellen von Linked Clones, die besonders häufig für virtuelle Desktops in VMware Horizon View benötigt werden. Hier wären blockorientierte Speicher im Nachteil.

    Nutzung von VAAI

    Möchte man die Vorzüge von VAAI in Anspruch nehmen, dann fällt dies mit blockorientierten Speicher­systemen wesentlich einfacher. Während die Primitives für solche Geräte schon in ESXi enthalten sind, müssen diese für NFS in Form von Plugins für den Hypervisor nachgerüstet werden. Diese unterscheiden sich von Hersteller zu Hersteller, wobei nicht jeder sämtliche Kommandos implementieren muss.

    Der vSphere Web Client zeigt in den Einstellungen eines Datastores, ob VAAI aktiv ist.

    Verbindet man einen ESXi-Host mit einem iSCSI-Target, dann erkennt der Hypervisor selbständig, ob es VAAI unterstützt. Ist das der Fall, muss man nichts weiter unternehmen, außer sich zu überzeugen, dass dieses Feature aktiv ist.

    Dazu wechselt man im vSphere Web Client in der Bestandsliste unter vCenter zu Datenspeicher und öffnet den betreffenden Datastore. Die letzte Zeile unter Einstellungen => Allgemein gibt Auskunft darüber, ob die Hardware­beschleunigung (über VAAI) unterstützt wird.

    Im alten vSphere Client für Windows findet sich diese Information gleich in der Übersicht über die Datenspeicher, und zwar nach Auswahl eines Hosts unter Konfiguration => Speicher.

    Keine Kommentare