Tags: Storage, vSphere, Hyperkonvergenz, Hochverfügbarkeit
VMware Virtual SAN und Virtual Volumes (VVOLs) setzen ein richtlinienbasiertes Speicher-Management um. Admins können mit seiner Hilfe dafür sorgen, dass ein VM-Objekt stets auf einem Datastore zu liegen kommt, dessen Eigenschaften mit den Policies übereinstimmen, die sie an die VM angehängt haben.
Richtig komfortabel funktioniert das allerdings nur, wenn das Speichersystem VMwares vStorage APIs for Storage Awareness (VASA) unterstützt. Hierbei handelt es sich um einen Satz von Programmierschnittstellen (APIs), die es vCenter ermöglichen, die Fähigkeiten des Speicher-Arrays zu erkennen. Außerdem setzt der Hypervisor über VASA seine Anforderungen um.
Kommunikation zwischen Storage und vSphere
Folgende Abbildung demonstriert die Interaktion zwischen "Kunde" und "Provider". In der linken Spalte kommuniziert ein Array 1, welche Fähigkeiten es besitzt und anbieten kann. Dazu gehören etwa RAID-Typ, Kapazität, Format etc.
In der mittleren Spalte zeigt eine Anwendung an, welche Anforderungen sie an das Storage-Array hat, beispielsweise IOPS oder Format. In der rechten Spalte antwortet ein Array damit, ob es die gewünschten Anforderungen erfüllt.
Eingeführt mit vSphere 5.0 im Jahre 2011 (VASA 1.0), erlaubte die Schnittstelle zunächst nur eine unidirektionale Kommunikation. Dabei sorgt der so genannte VASA-Provider dafür, dass das Storage-Array seine Fähigkeiten publizieren kann.
Erst mit VASA 1.5 (eingeführt mit vSphere 5.5) wurde es anlässlich der Vorstellung von VMware Virtual SAN notwendig, VASA auf eine bidirektionale Kommunikation zu trimmen. Damit kann auch die vCenter-Seite dem Storage mitteilen, welche Speicheranforderungen für eine ausgewählte VM gewünscht sind, wobei VMware den VASA-Provider für VSAN selbst mitbringt.
Das mit vSphere 6 eingeführte VASA 2 unterstützte erstmals Virtual Volumes (1.0) und VASA 3 bei vSphere 6.5 dann die Array-basierte Replikation für Virtual Volumes 2.0.
Automatische Auswahl des passenden Speichers
Beiden neuen Speichertechnologien von VMware ist gemein, dass keine Notwendigkeit mehr besteht, sich Gedanken über Volume-Größen, Dateisysteme, Blockgrößen, Alignment oder ähnliche Dinge zu machen. Sämtliche virtuelle Maschinen-Objekte werden jetzt nämlich nativ im Speicher-Backend abgelegt, wobei sich das Speichersystem der Tatsache auch "bewusst" ist.
Bei VVOLs bekommt quasi jedes einzelne Objekt ihr eigenes virtuelles Volume. Das erstreckt sich auf Konfigurationsdateien (vmx), Daten (VMDK), Swap-Files, Snapshots, Config, Data, Disk- und Memory-Snapshots.
Bei Virtual SAN sind es die virtuellen Disks (VMDK), die Swap-Datei, der Home-Namespace für eine VM oder die Delta-VMDK sowie der Memory-Dump für Snapshots. Der Clou bei beiden Technologien besteht darin, dass sich jedes einzelne der beschriebenen Objekte richtlinienbasiert ablegen lässt.
Da es bei Virtual SAN nur einen Hersteller gibt, nämlich VMware selbst, ist seine Standard-Speicherrichtlinie (im Vergleich zu den Möglichkeiten bei VVOLs) übersichtlicher, aber dennoch sehr wirkungsvoll, da es sich bei vSAN um einen echten Objektspeicher handelt.
Die wichtigsten vSAN-Policies
Er bietet die im Folgenden abgebildeten Möglichkeiten, wobei sich die einzelnen Einstellungen immer einer der Kategorien Capacity, Availability oder Performance zuordnen lassen bzw. diese beeinflussen.
Bei der mitgelieferten Standard-vSAN-Policy ist zum Beispiel der Vorgabewert für die Anzahl der zu tolerierenden Fehler (Primary level of failueres to tolerate) gleich 1. Die Regel bezieht sich auf den möglichen Ausfall eines ESXi-Hosts, einer Disk-Group oder einer Disk.
vSAN legt in diesem Fall eine zusätzliche Replik etwa des VMDK-Objektes an. Die Regel gehört in die Kategorie Availability, tangiert aber auch den Bereich Capacity, weil sie die Netto-Kapazität des Clusters beeinflusst.
Das gilt jedenfalls dann, wenn vSAN wie in der Default-Einstellung im RAID1-Modus arbeitet. Ändern lässt sich dies ggf. mit der vSAN-Policy failure tolerance method. RAID 5&6 (Erasure Encoding) lässt sich allerdings nur einstellen, wenn man über eine Advanced-Lizenz von vSAN verfügt und auch die Kapazitätslaufwerke SSDs sind.
Ebenfalls 1 per Default ist die Voreinstellung für Number of disk stripes per object, eine Regel, die dem Bereich Performance zuzuordnen ist und darüber entscheidet, auf wie vielen Spindeln die Replik effektiv "ge-stripe-ed" wird. Ein höherer Wert führt zwar zu einer besseren Performance, verursacht aber auch eine höhere Auslastung von System-Ressourcen. Der mögliche Maximalwert ist 12, allerdings hängt dieser in der Praxis von der vorhandenen Zahl an Spindeln im Cluster ab.
Auch die Regel Flash read cache reservation (%) betrifft die Performance-Kategorie. Hier ist 0 die Voreinstellung und der Maximalwert 100 %, wobei vSAN die hier angegebene Flash-Kapazität als Read-Cache für das ausgewählte VMDK-Objekt reserviert, prozentual zur logischen Größe der VMDK-Datei. Jedoch steht die hier reservierte Kapazität dann anderen Objekten nicht mehr zur Verfügung
Das erklärt die Voreinstellung, denn ohne Objekt-spezifische Regel nutzt vSAN per Default 70 Prozent der vorhandenen Cache-SSD als Read-Cache und zu 30 Prozent als Schreib-Cache. Bei einer All-Flash-Konfiguration wird die Regel nicht unterstützt.
Der Wert bei Force provisioning steht per Vorgabe auf No. Mit Yes würde das betreffende VM-Objekt auch dann bereitgestellt, wenn die Einstellungen in Number of failures to tolerate, Number of disk stripes per object oder Flash read cache reservation verletzt würden.
Normalerweise überwacht VSAN aber kontinuierlich, dass die im Storage-Profil definierten Werte eingehalten werden. Beim Überschreiten eines Schwellwertes konfiguriert vSAN die betroffenen Datenbereiche der VM automatisch um.
So garantiert zum Beispiel IOPS limit for object die gewünschte Limitierung der IOPS für das betreffende Objekt. Die Berechnung basiert auf einer Default Base Size von 32 KB, d. h. ein 64-KB I/O repräsentiert zwei I/O-Operationen. Bei der Kalkulation werden Read und Write äquivalent behandelt, Cache-Treffer aber nicht berücksichtigt. Überschreitet eine Disk den angegebenen Grenzwert, wird sie von vSAN automatisch gedrosselt. Diese Funktion unterstützt allerdings nur die Enterprise-Version.
Täglich Know-how für IT-Pros mit unserem Newsletter
Seine Themenschwerpunkte sind Virtualisierung und Cloud Computing, speziell VMware, Amazon Web Services, Google Cloud und Microsoft Azure. Thomas ist zertifizierter VMware Professional, Advanced Professional und wurde von VMware in den Jahren 2016, 2017, 2018, 2019 und 2020 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas ist außerdem zertifizierter AWS Solutions Architect, Sysops Engineer und Devops Engineer sowie Microsoft Certified Azure Administrator.
Thomas führt aktuell jeden zweiten Montag einen 4-tägigen Grundlagenkurs in Cloud Computing mit AWS via Zoom-Meeting durch. Weitere Informationen und Anmeldung über sein AWS-Blog.
Ähnliche Beiträge
- VMware vSphere 7 Update 3: Neue Features in vSAN 7.2
- VMware vSAN 6.x auf 7.0 (Update 1) aktualisieren
- Neu in vSAN 7 (U1): SMB in Native File Services, Support für Laufwerke bis 32TB, Hot-plug für NVMe
- vSAN 7: Data Persistence Platform für Cloud-Anwendungen
- VMware vSphere: Hyperkonvergente Cluster einrichten, VMs hochverfügbar machen, Last verteilen mit DRS
Weitere Links