AccelStor AFA-Konfigurationsrichtlinien für VMware vSphere

In diesem Artikel möchte ich auf die Funktionen aller Flash AccelStor-Arrays eingehen, die mit einer der beliebtesten Virtualisierungsplattformen - VMware vSphere - zusammenarbeiten. Konzentrieren Sie sich insbesondere auf die Parameter, die dazu beitragen, den maximalen Effekt durch die Verwendung eines so leistungsstarken Tools wie All Flash zu erzielen.



Alle Flash AccelStor NeoSapphire ™ -Arrays sind Geräte mit einem oder zwei Knoten, die auf SSDs basieren und einen grundlegend anderen Ansatz zur Implementierung des Konzepts der Datenspeicherung und zur Organisation des Zugriffs auf diese mithilfe der eigenen FlexiRemap®- Technologie anstelle der sehr beliebten RAID-Algorithmen verfolgen . Arrays bieten Blockzugriff für Hosts über Fibre Channel- oder iSCSI-Schnittstellen. Fairerweise stellen wir fest, dass Modelle mit der ISCSI-Schnittstelle als netten Bonus auch Dateizugriff haben. In diesem Artikel konzentrieren wir uns jedoch auf die Verwendung von Blockprotokollen als die produktivste für All Flash.


Der gesamte Prozess der Bereitstellung und anschließenden Einrichtung der Zusammenarbeit zwischen dem AccelStor-Array und dem VMware vSphere-Virtualisierungssystem kann in mehrere Phasen unterteilt werden:


  • Implementierung der Verbindungstopologie und Konfiguration des SAN-Netzwerks;
  • Alle Flash-Arrays einrichten;
  • Konfigurieren Sie ESXi-Hosts.
  • Konfigurieren Sie virtuelle Maschinen.

Als Beispiel wurden AccelStor NeoSapphire ™ -Arrays mit Fibre Channel und iSCSI verwendet. Die Basissoftware ist VMware vSphere 6.7U1.


Vor der Bereitstellung der in diesem Artikel beschriebenen Systeme wird dringend empfohlen, sich mit der Dokumentation von VMware zu Leistungsproblemen ( Best Practices für die Leistung von VMware vSphere 6.7 ) und iSCSI-Einstellungen ( Best Practices zum Ausführen von VMware vSphere On iSCSI ) vertraut zu machen.


Verbindungstopologie und SAN-Konfiguration


Die Hauptkomponenten eines SAN-Netzwerks sind HBAs auf ESXi-Hosts, SAN-Switches und Array-Knoten. Eine typische Topologie eines solchen Netzwerks würde folgendermaßen aussehen:



Der Begriff Switch bezieht sich hier entweder auf einen einzelnen physischen Switch oder einen Satz von Switches (Fabric) oder auf ein Gerät, das von verschiedenen Diensten gemeinsam genutzt wird (VSAN im Fall von Fibre Channel und VLAN im Fall von iSCSI). Die Verwendung von zwei unabhängigen Schaltern / Fabric eliminiert einen möglichen Fehlerpunkt.


Die direkte Verbindung von Hosts mit dem Array wird zwar unterstützt, jedoch dringend empfohlen. Die Leistung aller Flash-Arrays ist recht hoch. Und für maximale Geschwindigkeit müssen Sie alle Ports des Arrays verwenden. Daher ist mindestens ein Wechsel zwischen Hosts und NeoSapphire ™ erforderlich.


Das Vorhandensein von zwei Ports auf dem HBA-Host ist auch eine Voraussetzung für maximale Leistung und Fehlertoleranz.


Wenn Sie die Fibre Channel-Schnittstelle verwenden, müssen Sie das Zoning konfigurieren, um mögliche Konflikte zwischen Initiatoren und Zielen zu vermeiden. Zonen basieren auf dem Prinzip „ein Initiator-Port - ein oder mehrere Array-Ports“.


Wenn Sie eine iSCSI-Verbindung verwenden, wenn Sie einen Switch verwenden, der für andere Dienste freigegeben ist, müssen Sie den iSCSI-Verkehr in einem separaten VLAN isolieren. Es wird außerdem dringend empfohlen, die Jumbo Frames-Unterstützung (MTU = 9000) zu aktivieren, um die Größe der Pakete im Netzwerk zu erhöhen und dadurch den Overhead während der Übertragung zu verringern. Es ist jedoch zu beachten, dass für einen korrekten Betrieb der MTU-Parameter für alle Netzwerkkomponenten entlang der Initiator-Switch-Zielkette geändert werden muss.


Einrichten aller Flash-Arrays


Das Array wird an Kunden mit bereits gebildeten FlexiRemap®- Gruppen geliefert. Daher ist keine Aktion erforderlich, um die Laufwerke in eine einzelne Struktur zu integrieren. Es reicht aus, Volumina der erforderlichen Größe und in der erforderlichen Menge zu erstellen.




Der Einfachheit halber gibt es eine Funktion zum Stapelerstellen mehrerer Volumes eines bestimmten Volumes gleichzeitig. Standardmäßig werden „dünne“ Volumes erstellt, da dies eine rationellere Nutzung des verfügbaren Speicherplatzes ermöglicht (auch dank der Unterstützung von Space Reclamation). In Bezug auf die Leistung überschreitet der Unterschied zwischen dünnen und dicken Volumina 1% nicht. Wenn Sie jedoch alle Säfte aus dem Array herausdrücken möchten, können Sie jedes „dünne“ Volumen jederzeit in „dickes“ Volumen umwandeln. Es sollte jedoch beachtet werden, dass eine solche Operation irreversibel ist.


Anschließend müssen die erstellten Volumes veröffentlicht und von den Hosts mithilfe der ACL (IP-Adressen für iSCSI und WWPN für FC) und der physischen Trennung der Ports auf dem Array Zugriffsrechte für diese festgelegt werden. Bei iSCSI-Modellen erfolgt dies durch die Erstellung von Target.




Bei FC-Modellen erfolgt die Veröffentlichung durch Erstellen einer LUN für jeden Port im Array.




Um den Konfigurationsprozess zu beschleunigen, können Hosts gruppiert werden. Wenn der Host den FC-HBA mit mehreren Ports verwendet (was in der Praxis am häufigsten vorkommt), ermittelt das System außerdem automatisch, dass die Ports eines solchen HBA aufgrund von WWPN, die sich um eins unterscheiden, zum selben Host gehören. Außerdem wird die Stapelerstellung von Ziel / LUN für beide Schnittstellen unterstützt.


Ein wichtiger Punkt bei der Verwendung der iSCSI-Schnittstelle ist das gleichzeitige Erstellen mehrerer Ziele für Volumes, um die Leistung zu steigern, da die Zielwarteschlange nicht geändert werden kann und es sich tatsächlich um einen Engpass handelt.


Konfigurieren Sie ESXi-Hosts


Auf der ESXi-Seite erfolgt die Grundkonfiguration gemäß dem durchaus erwarteten Szenario. Vorgehensweise für die iSCSI-Verbindung:


  1. Software-iSCSI-Adapter hinzufügen (nicht erforderlich, wenn er bereits hinzugefügt wurde oder wenn der Hardware-iSCSI-Adapter verwendet wird);
  2. Erstellen von vSwitch, über das der iSCSI-Verkehr geleitet wird, und Hinzufügen von physischem Uplink und VMkernal.
  3. Hinzufügen von Array-Adressen zu Dynamic Discovery;
  4. Datenspeicher erstellen

Einige wichtige Hinweise:


  • Im allgemeinen Fall können Sie natürlich den vorhandenen vSwitch verwenden, aber im Fall eines separaten vSwitch ist die Verwaltung der Hosteinstellungen viel einfacher.
  • Es ist erforderlich, Verwaltungsdatenverkehr und iSCSI in separate physische Verbindungen und / oder VLANs zu trennen, um Leistungsprobleme zu vermeiden.
  • Die IP-Adressen von VMkernal und die entsprechenden Ports des All Flash-Arrays müssen sich aufgrund von Leistungsproblemen im selben Subnetz befinden.
  • Um die VMware-Fehlertoleranz sicherzustellen, muss vSwitch über mindestens zwei physische Uplinks verfügen
  • Wenn Sie Jumbo-Frames verwenden, müssen Sie die MTU von vSwitch und VMkernal ändern
  • Es ist nicht verkehrt, sich daran zu erinnern, dass gemäß den VMware-Empfehlungen für physische Adapter, die für die Arbeit mit iSCSI-Verkehr verwendet werden, Teaming und Failover konfiguriert werden müssen. Insbesondere sollte jeder VMkernal nur über einen Uplink arbeiten, der zweite Uplink muss in den nicht verwendeten Modus geschaltet werden. Aus Gründen der Fehlertoleranz müssen Sie zwei VMkernal hinzufügen, von denen jeder über seinen Uplink funktioniert.


VMkernel-Adapter (vmk #)Physischer Netzwerkadapter (vmnic #)
vmk1 (Storage01)Aktive Adapter
vmnic2
Nicht verwendete Adapter
vmnic3
vmk2 (Storage02)Aktive Adapter
vmnic3
Nicht verwendete Adapter
vmnic2

Keine Fibre Channel-Verbindung erforderlich. Sie können sofort einen Datenspeicher erstellen.


Nach dem Erstellen des Datenspeichers müssen Sie sicherstellen, dass die Round Robin-Richtlinie für die Pfade zu Target / LUN als die produktivste verwendet wird.



Standardmäßig sehen die VMware-Einstellungen die Verwendung dieser Richtlinie gemäß dem Schema vor: 1000 Anforderungen über den ersten Pfad, die nächsten 1000 Anforderungen über den zweiten Pfad usw. Diese Host-Interaktion mit einem Dual-Controller-Array ist unausgeglichen. Daher empfehlen wir, den Parameter Round Robin-Richtlinie = 1 über Esxcli / PowerCLI festzulegen.


Parameter

Für Esxcli:


  • Verfügbare LUNs drucken

esxcli storage nmp geräteliste


  • Gerätenamen kopieren
  • Round Robin-Richtlinie ändern

esxcli storage nmp psp roundrobin deviceconfig set --type = iops --iops = 1 --device = "Device_ID"


Die meisten modernen Anwendungen sind für den Austausch großer Datenpakete ausgelegt, um die Bandbreitennutzung zu maximieren und die CPU-Last zu reduzieren. Daher überträgt ESXi standardmäßig E / A-Anforderungen in Stapeln von bis zu 32767 KB an das Speichergerät. In einer Reihe von Szenarien ist der Austausch kleinerer Portionen jedoch produktiver. Für AccelStor-Arrays sind dies die folgenden Szenarien:


  • Die virtuelle Maschine verwendet UEFI anstelle des Legacy-BIOS
  • Wird von vSphere Replication verwendet

Für solche Szenarien wird empfohlen, den Parameterwert Disk.DiskMaxIOSize in 4096 zu ändern.



Für iSCSI-Verbindungen wird empfohlen, den Parameter Login Timeout auf 30 (Standard 5) zu ändern, um die Stabilität der Verbindung zu erhöhen und die Verzögerung der Bestätigung weitergeleiteter DelayedAck-Pakete zu deaktivieren. Beide Optionen befinden sich in vSphere Client: Host → Konfigurieren → Speicher → Speicheradapter → Erweiterte Optionen für den iSCSI-Adapter




Ein ziemlich subtiler Punkt ist die Anzahl der für den Datenspeicher verwendeten Volumes. Es ist klar, dass zur Vereinfachung der Verwaltung der Wunsch besteht, ein großes Volume für das gesamte Volume des Arrays zu erstellen. Das Vorhandensein mehrerer Volumes und dementsprechend des Datenspeichers wirkt sich jedoch positiv auf die Gesamtleistung aus (mehr zu Warteschlangen etwas später im Text). Wir empfehlen daher, mindestens zwei Volumes zu erstellen.


In jüngerer Zeit hat VMware empfohlen, die Anzahl der virtuellen Maschinen in einem einzelnen Datenspeicher zu begrenzen, um die bestmögliche Leistung zu erzielen. Vor allem mit der Verbreitung von VDI ist dieses Problem jedoch nicht mehr so ​​akut. Dies hebt jedoch nicht die langjährige Regel auf, virtuelle Maschinen, die intensive E / A erfordern, über verschiedene Datenspeicher zu verteilen. Es gibt nichts Besseres, um die optimale Anzahl virtueller Maschinen pro Volume zu ermitteln, als das All Flash-Array von AccelStor innerhalb seiner Infrastruktur zu testen .


Konfigurieren Sie virtuelle Maschinen


Es gibt keine besonderen Anforderungen beim Einrichten von virtuellen Maschinen, oder vielmehr sind sie ganz normal:


  • Verwendung der höchstmöglichen VM-Version (Kompatibilität)
  • Es ist genauer, die RAM-Größe festzulegen, wenn die virtuellen Maschinen dicht platziert sind, z. B. in VDI (da beim Start standardmäßig eine Auslagerungsdatei erstellt wird, die mit der RAM-Größe vergleichbar ist, die nützliche Kapazität verbraucht und sich auf die endgültige Leistung auswirkt).
  • Verwenden Sie die effizientesten E / A-Versionen von Adaptern: Netzwerktyp VMXNET 3 und SCSI-Typ PVSCSI
  • Verwenden Sie den Laufwerkstyp Thick Provision Eager Zeroed für maximale Leistung und Thin Provisioning für maximale Speichernutzung
  • Wenn möglich, beschränken Sie die Arbeit nicht kritischer E / A-Maschinen mithilfe von Virtual Disk Limit
  • Stellen Sie sicher, dass Sie VMware Tools installieren

Warteschlangennotizen


Eine Warteschlange (oder ausstehende E / A) ist die Anzahl der E / A-Anforderungen (SCSI-Befehle), die zu einem bestimmten Zeitpunkt von einem bestimmten Gerät / einer bestimmten Anwendung auf die Verarbeitung warten. Im Falle eines Warteschlangenüberlaufs werden QFULL-Fehler generiert, was letztendlich zu einer Erhöhung des Latenzparameters führt. Bei Verwendung von Plattenspeichersystemen (Spindelspeichersystemen) ist theoretisch die Leistung umso höher, je höher die Warteschlange ist. Sie sollten es jedoch nicht missbrauchen, da es leicht ist, auf QFULL zu stoßen. Bei All Flash-Systemen ist zum einen alles etwas einfacher: Das Array weist Verzögerungen auf, die um mehrere Größenordnungen niedriger sind, und daher ist es meistens nicht erforderlich, die Größe der Warteschlangen separat anzupassen. Wenn Sie jedoch in einigen Anwendungsfällen (starke Abweichungen bei den Anforderungen für E / A für bestimmte virtuelle Maschinen, Tests für maximale Leistung usw.) die Warteschlangenparameter nicht ändern, müssen Sie zumindest verstehen, welche Indikatoren erreicht werden können, und am wichtigsten, auf welche Weise.


Das All Flash Array von AccelStor selbst hat keine Beschränkungen für Volumes oder E / A-Ports. Bei Bedarf kann sogar ein einzelnes Volume alle Ressourcen des Arrays abrufen. Die einzige Warteschlangenbeschränkung besteht bei iSCSI-Zielen. Aus diesem Grund wurde oben die Notwendigkeit angegeben, mehrere (idealerweise bis zu 8 Stück) Ziele für jedes Volumen zu erstellen, um diese Grenze zu überwinden. Außerdem sind AccelStor-Arrays hochproduktive Lösungen. Daher sollten Sie alle Schnittstellenanschlüsse des Systems verwenden, um die maximale Geschwindigkeit zu erreichen.


Auf der ESXi-Hostseite ist die Situation völlig anders. Der Host selbst wendet die Praxis des gleichen Zugangs zu Ressourcen für alle Teilnehmer an. Daher gibt es separate E / A-Warteschlangen für das Gastbetriebssystem und den HBA. Warteschlangen zum Gastbetriebssystem werden von Warteschlangen zum virtuellen SCSI-Adapter und zur virtuellen Festplatte kombiniert:



Die Warteschlange für HBA hängt vom jeweiligen Typ / Anbieter ab:



Die endgültige Leistung der virtuellen Maschine wird durch die niedrigste Warteschlangentiefengrenze unter den Hostkomponenten bestimmt.


Dank dieser Werte können Sie die Leistungsindikatoren bewerten, die wir in der einen oder anderen Konfiguration erhalten können. Zum Beispiel möchten wir die theoretische Leistung einer virtuellen Maschine (ohne Bindung an einen Block) mit einer Latenz von 0,5 ms kennen. Dann ist IOPS = (1.000 / Latenz) * Ausstehende E / A (Warteschlangentiefenlimit)


Beispiele

Beispiel 1


  • FC Emulex HBA Adapter
  • Eine VM im Datenspeicher
  • VMware Paravirtual SCSI Adapter

Hier wird das Warteschlangentiefenlimit vom Emulex HBA festgelegt. Daher ist IOPS = (1000 / 0,5) * 32 = 64 K.


Beispiel 2


  • VMware iSCSI-Softwareadapter
  • Eine VM im Datenspeicher
  • VMware Paravirtual SCSI Adapter

Hier wird das Limit für die Warteschlangentiefe bereits vom paravirtuellen SCSI-Adapter definiert. Daher ist IOPS = (1000 / 0,5) * 64 = 128 K.


Die besten All AccelStor All Flash-Arrays (wie das P710 ) bieten eine IKPS-Leistung von 700K für die Aufnahme in 4K-Blöcken. Bei einer solchen Blockgröße ist es offensichtlich, dass eine einzelne virtuelle Maschine ein solches Array nicht laden kann. Dazu benötigen Sie 11 (zum Beispiel 1) oder 6 (zum Beispiel 2) virtuelle Maschinen.


Mit der korrekten Konfiguration aller beschriebenen Komponenten des virtuellen Rechenzentrums können Sie daher beeindruckende Ergebnisse in Bezug auf die Leistung erzielen.



4K zufällig, 70% lesen / 30% schreiben


Tatsächlich ist die reale Welt mit einer einfachen Formel viel schwieriger zu beschreiben. Ein einzelner Host verfügt immer über viele virtuelle Maschinen mit unterschiedlichen Konfigurationen und E / A-Anforderungen. Ja, und der Host-Prozessor ist mit der Eingabe- / Ausgabeverarbeitung beschäftigt, deren Leistung nicht unendlich ist. Um das volle Potenzial des gleichen Modells auszuschöpfen, benötigt das P710 in Wirklichkeit drei Hosts. Außerdem nehmen Anwendungen, die in virtuellen Maschinen ausgeführt werden, Anpassungen vor. Für eine genaue Dimensionierung empfehlen wir daher die Verwendung eines Tests bei Testmodellen aller Flash AccelStor- Arrays innerhalb der Kundeninfrastruktur für aktuelle Aufgaben im realen Leben.

Source: https://habr.com/ru/post/de447390/


All Articles