Storage-Virtualisierung und mehr

Alles was Sie über vSphere-Storage wissen müssen

Thomas Drilling ist als freier IT-Journalist und IT-Consultant tätig. Seine Spezialgebiete sind Linux und Open-Source-Software.
VMware hat schon früh erkannt, dass Storage im Markt für Enterprise-Virtualisierung ein Schlüsselfaktor ist. Wir erläutern, welche Enterprise-Backend-Technologien vSphere unterstützt und wie VMware mit Virtual SAN und Virtual-Volumes-Support das Thema Software Defined Storage mit neuen Technologien selbst besetzt.

VMware vSphere unterstützt neben lokalen Storage im ESXi-Server selbst (SAS, SATA etc.) nicht nur klassische blockbasierte Enterprise-Backend-Technologien wie FC, FCoE oder iSCSI auf Basis des eigenen Cluster-fähigen Dateisystems VMFS, sondern auch dateibasierten Storage in Form von NFS-Netzwerkfreigaben.

Virtual SAN

Ferner arbeitet VMware mit VMware vSphere Virtual SAN seit der Version 5.1 an einer eigenen Software-definierten-Storage-Technologien, die auf in den lokalen ESXI-Servern verbauten Festplatten- (welche sich ohne Virtual-SAN-Clustering bekanntlich nicht sinnvoll als Shared-Storage nutzen lassen) und SSDs-Arrays basiert, welche Virtual SAN dann zu einem logischen, virtuellen Speicherpool zusammenfasst , der sämtlichen von einem VSAN-Cluster partizipierenden Hosts zur Verfügung steht. Mit VMware Sphere Virtual SAN 6.2 geht VMwares Hoffnungsträger für ein gewichtiges Mitspracherecht im zukunftsträchtigen Markt für Software-Defined-Storage bereits in die 4. Produktgeneration und hat inzwischen einen akzeptablen Reifegrad erreicht.

Storage-APIs

Beim SAN-Support ist zudem zu erwähnen, dass VMwares Einfluss auf die Hardwaresteller groß genug ist, dass diese von VMware entwickelte Storage-APIs, wie das seit 2010 verfügbare VMware vSphere Storage APIs - Array Integration (VAAI) oder das jüngere VMware vSphere API for Storage Awareness (VASA) in der Regel bereitwillig adaptieren.

Storage-Schnittstelle VAAI

VAAI ist ein mit vSphere 4.1 eingeführtes Paket von Storage-Programmierschnittstellen. Die API erlaubt es, Prozesse, die zuvor vom vSphere-Host initiiert und durchgeführt wurden, in den Storage zu verlagern, darunter vMotion, Cloning, Provisining. Insbesondere Technologien wie Provisioning oder das Erstellen von Snapshots sind ja ohnehin Technologien, die initial aus dem Storage-Umfeld stammen. Durch das Auslagen spezifischer Storage-Prozesse an SAN/Festplatten-Arrays, die VAAI unterstützen, erzielt vSphere eine sehr hohe Performance, sodass der ESXi derartige Prozesse nicht nur schneller durchführt, sondern auch den CPU-, RAM- und Storage-Bandbreitenbedarf reduziert. Konkret lassen sich mit VAAI-Support Blockkopien und Block Zeroing in das Array auslagen. Ferner erlaubt VAAI die Wiedergewinnung von ungenutztem Speicherplatz und ermöglicht Out-of-Space-Warnungen für Thin-provisionierte Arrays.

VAAI unterstützt darüber hinaus nicht nur blockbasierter Storage, sondern auch NAS-Systeme (NFS). Die VAAI-API ist VMware-seitig ab der Enterprise Edition in vSphere enthalten. Unterstützten anfangs (bis 2012) nur Enterprise-SAN-Systeme VAAI, bieten heute auch viele Hersteller von Home- und SOHO-NAS-Systemen VAAI-Support. Während der VAAI-Support bei Enterprise-Systemen in der Regel out-of-the-box gewährleistet ist, muss VAAI bei NAS/SAN-Geräten der Home- und SOHO-Klasse manchmal erst nachgerüstet, oft auch explizit aktiviert werden, wie in der folgenden Abbildung für eine Synology RackStation RS814+ zu sehen.

So aktiviert man Advanced-LUN-Features, hinter denen sich VAAI-Support verbirgt, bei einen Synology-NAS.
So aktiviert man Advanced-LUN-Features, hinter denen sich VAAI-Support verbirgt, bei einen Synology-NAS.

vSphere-seitig zeigt sich ein vom Backend unterstützter VAAI-Support darin, dass der betreffende Datastore im Tab "Settings" bei "Storage Capabilities" im Bereich "Hardware Acceleration" den Eintrag "Supported on all Hosts" zeigt. Optional kann man auch in der "Hosts and Clusters"-Ansicht bei markiertem Host im Tab "Manage" zu "Storage" wechseln, auf "Storage Devices" klicken und in der Tabelle der Storage-Geräte mit rechts auf die Spaltenköpfe klicken, um die Spalte "Hardware Acceleration" einzublenden.

Mit aktiviertem VAAI-Support erscheinen Storage-Devices in der Übersicht als "Hardware-beschleunig".
Mit aktiviertem VAAI-Support erscheinen Storage-Devices in der Übersicht als "Hardware-beschleunig".

Ohne VAAI müsste der EXI-Host Provisioning- oder Cloning-Vorgänge selber erledigen, also quasi wie ein xcopy jeden einzelnen Block einlesen und wieder rausschreiben. Mit VAAI nimmt der vSphere-Host nur noch die Statusmeldungen entgegen und stellt die Informationen dar. Übrigens funktioniert Storage vMotion via VAAI nur dann, wenn die Blockgröße der Quell- und Ziel-LUN identisch ist.

Die APi VASA

Eine weitere Storage-Schnittstelle stellt VMware seit einiger Zeit mit "VMware vStorage APIs for Array Awareness" (VASA) zur Verfügung. Die VASA-API erlaubt vSphere sowohl das Überprüfen von Storage-Konfigurationen, als auch das Festlegen von Storage-Eigenschaften für Arrays, die diese Funktionalität unterstützen. VASA wird von vSphere Virtual Volumes (VVOL), Virtual SAN und der vSphere API for IO Filtering (VAIO) als zentrale, einheitliche Steuerungsebene für vSphere-Storage genutzt. Mehr zum VVOL-Support im entsprechenden Abschnitt.

Das API-Framework VAIO

VMware vSphere API for IO Filtering (VAIO) erlaubt Entwicklern von Drittanbietersoftware das Hinzufügen von Datenservices zu ESXi und vSphere.

Die Storage-Schnittstelle iSCSI

Exemplarisch für die Unterstützung professioneller SAN-Umgebungen sei im Folgenden das Einrichten eines Datastores auf Basis von iSCSI demonstriert, wobei vorgesetzt sein soll, dass die betreffenden iSCSI-Targets, bzw. LUNs auf Backend-Seite existieren. Eine für den ESXI-Server sichtbare LUN kann von diesem dann exakt so behandelt werden wie eine lokale Festplatte, allerdings mit dem entscheidenden Unterschied, dass die LUN physisch im SAN-Array liegt und daher für alle ESXI-Hosts sichtbar ist.

Richtet der Administrator dann einen neuen VMFS-Datastore auf Basis von iSCSI-LUNs ein, kann er diesen nachher jederzeit flexibel durch Hinzufügen weiterer LUNs vergrößern. Natürlich lässt sich eine einzelne LUN auch partitionieren. Aufgrund der signifikanten Kostenvorteile einer SAN-Anbindung via iSCSI gegenüber Fibre Channel - bei iSCSI wird als Speichernetzwerk das vorhandene IP-Netzwerk genutzt, sodass der Aufbau eines separaten Speichernetzwerks samt Verkabelung, Switches und Hostadaptern entfällt - setzen gerade kleine Unternehmen primär auf iSCSI.

Für eine vernünftige Performance sollten dann allerdings 10 GBit/s-NICs und Switche zur Verfügung stehen und die ESXi-Hosts mit separaten physischen Netzwerkkarten für den iSCSI-Traffic ausgestattet sein, sonst hat man an iSCSI keine Freude. Auch der Storage-Prozessor im Backend sollte entsprechend Dampf haben, sprich das Backend mit ausreichend CPU-Kernen und RAM ausgesattet sein. Insofern bringt es meist wenig, iSCSI auf einem Home-NAS mit Atom-Prozessor und 1x1GBis/s Netzwerkadapter zu konfigurieren.