VMware kürzlich hinzugefügt NVMe über Fabric (NVMe-oF) als Speichernetzwerkprotokolloption in vSphere 7.0. Die Tatsache, dass die schnellste Shared-Storage-Lösung nun von der weltweit beliebtesten Virtualisierungssoftware genutzt werden kann, stellt einen Wendepunkt dar und eröffnet völlig neue Anwendungsfälle für ein virtualisiertes Rechenzentrum. Dies bedeutet auch, dass es jetzt Bare-Metal-Anwendungen gibt, die auf NVMe-oF-fähigen virtuellen Maschinen (VMs) auf vSphere ausgeführt werden können. Dazu gehören künstliche Intelligenz (KI), maschinelles Lernen (ML), In-Memory-Datenbanken, Hochleistungsrechnen (HPC), Hochfrequenzhandel (HFT), Online-Transaktionsverarbeitung (OLTP) sowie alle anderen Anwendungen, die dies erfordern extrem niedrige Latenz und Speicher mit hoher Kapazität.
VMware kürzlich hinzugefügt NVMe über Fabric (NVMe-oF) als Speichernetzwerkprotokolloption in vSphere 7.0. Die Tatsache, dass die schnellste Shared-Storage-Lösung nun von der weltweit beliebtesten Virtualisierungssoftware genutzt werden kann, stellt einen Wendepunkt dar und eröffnet völlig neue Anwendungsfälle für ein virtualisiertes Rechenzentrum. Dies bedeutet auch, dass es jetzt Bare-Metal-Anwendungen gibt, die auf NVMe-oF-fähigen virtuellen Maschinen (VMs) auf vSphere ausgeführt werden können. Dazu gehören künstliche Intelligenz (KI), maschinelles Lernen (ML), In-Memory-Datenbanken, Hochleistungsrechnen (HPC), Hochfrequenzhandel (HFT), Online-Transaktionsverarbeitung (OLTP) sowie alle anderen Anwendungen, die dies erfordern extrem niedrige Latenz und Speicher mit hoher Kapazität.
Bei StorageReview.com sind wir immer daran interessiert, die neuesten Technologien zu testen, um zu sehen, wie sie in der realen Welt funktionieren. Aufgrund unserer bisherigen Erfahrungen mit NVMe-oF gehen wir davon aus, dass es die Anwendungsleistung für vSphere deutlich verbessern wird. Um eine tatsächliche Vorstellung davon zu bekommen, wie sich NVMe-oF auf die Leistung auswirkt, vergleichen wir es mit iSCSI, dem aktuellen Standardträger für Blockspeicher in einem vSphere-Rechenzentrum. Aber unsere Tests werden eine einzigartige Wendung haben, da wir keine hochspezialisierte Nischentechnologie verwenden werden. Stattdessen werden wir Produkte verwenden, die heute im Rechenzentrum üblich sind. Unsere Tests werden auf einem Dell R720XD-Server durchgeführt, der über NVIDIAs ConnectX-5-Dual-Port-Adapter mit 25 GbE an einen angeschlossen ist Pure Storage FlashArray//X das NVMe-oF unterstützt.
Bevor wir zu den Ergebnissen unserer Tests kommen, geben wir Ihnen zunächst einen Überblick darüber, was VMware in Bezug auf NVMe-oF unterstützt, geben Ihnen dann einen kleinen Hintergrund zu NVMe und NVMe-oF und erklären, warum sie leistungsfähiger sind als iSCSI. Wir werden auch einige der Schritte behandeln, die wir zur Einrichtung von NVMe auf vSphere unternommen haben.
VMware hat die NVMe-oF-Unterstützung kürzlich aktiviert (April 2020), obwohl der NVMe-oF-Standard bereits 2016 veröffentlicht wurde. Linux ist seit 2018 in der Lage, ihn zu nutzen, und auch NVMe-oF-Unterstützung in Speicher-Arrays ist seit einigen Jahren verfügbar . NVMe-oF gilt als aufstrebende, aber stabile Technologie. Im April 2020 veröffentlichte VMware vSphere 7.0. Diese Version beinhaltete Unterstützung für NVMe-oF und ermöglichte die Konnektivität zu NVMe-Arrays entweder mit NVMe over Fibre Channel (NVMe/FC) oder NVMe over RDMA Converged Ethernet (NVMe-RoCE, auch bezeichnet als NVMe/RDMA).
Übersicht über NVMe und NVMe-oF
Bis vor Kurzem waren es SSDs de facto Standardmedien für angeschlossenen Speicher. Sie haben jedoch auch einen kritischen Engpass. SSDs verwenden SATA- oder SAS-Anschlüsse, die für die Verwendung mit Festplatten konzipiert sind und die Leistung einer SSD dadurch erheblich einschränken. Um dieses Problem anzugehen, schloss sich 90 ein Konsortium aus über 2011 Unternehmen zusammen und veröffentlichte eine neue Spezifikation zum Anschluss von SSDs an Computer, die diesen SATA-Engpass nicht aufweisen würden. Diese Lösung wurde schließlich als NVMe bekannt.
NVMe-Geräte sind schnell. Während SATA/SAS-SSDs die Speicherbranche im letzten Jahrzehnt radikal verändert haben, verändert NVMe die Speicherbranche in diesem Jahrhundert radikal. Bei unseren jüngsten Tests mit einer 4K-Lese-Workload haben wir beispielsweise herausgefunden, dass ein SATA-Laufwerk (Kingston DC500M) knapp 80,000 IOPS liefern kann, ein NVMe-Laufwerk (Kingston DC1000M) jedoch 580,000 IOPS, was einem satten 7.25-fachen Unterschied entspricht. Es gibt viele technische Gründe, warum NVMe so viel leistungsfähiger ist als SATA-Laufwerke, aber einer der wichtigsten ist, dass es einen kürzeren Datenpfad hat. Das folgende Diagramm zeigt eine vereinfachte Darstellung, wie der Datenpfad bei NVMe im Vergleich zu Speicher der letzten Generation wie SAS erheblich kürzer ist.
Seine Leistungsverbesserungen, gepaart mit dem steilen Preisverfall, haben NVMe zum Liebling des modernen Rechenzentrums gemacht.
Kurz nachdem NVMe-Laufwerke im Rechenzentrum weit verbreitet waren, stellten die Leute fest, dass die Geräte nicht ihr volles Potenzial ausschöpften, und ihre Einschränkungen als direkt angeschlossener Speicher wurden immer offensichtlicher. NVMe-Geräte mussten vom Server entkoppelt werden. Daher kam eine andere Gruppe von Unternehmen zusammen und entwickelte eine Spezifikation für die Bereitstellung von NVMe über ein Netzwerk. Sobald der Transportmechanismus für NVMe-Speicher verfügbar war, konnten wir NVMe-Geräte in einem Speichersystem aggregieren, abstrahieren und für viele verschiedene Systeme, einschließlich ESXi-Hosts, freigeben. NVMe-oF verwendet die Ziel-/Initiator-Terminologie.
RoCE ermöglicht Remote Direct Memory Access (RDMA) über ein Ethernet-Netzwerk. Es gibt zwei Versionen von RoCE: RoCE v1 und RoCE v2. Während RoCE v1 die Kommunikation zwischen zwei beliebigen Hosts in derselben Ethernet-Broadcast-Domäne (Schicht 2) ermöglicht, läuft RoCE v2 auf TCP (Schicht 3) und ist daher routbar, sodass eine Verbindung zu Hosts außerhalb einer Ethernet-Broadcast-Domäne hergestellt werden kann. Aufgrund seiner inhärenten Vorteile und Beliebtheit im Rechenzentrum unterstützt VMware nur v2. Für die Dauer dieses Artikels bezeichnen wir RoCE v2 einfach als RoCE.
RoCE erfordert RDMA-Netzwerkschnittstellencontroller (rNICs) anstelle von Standard-NICs. RoCE-Netzwerke erfordern normalerweise die Konfiguration der Priority Flow Control, Spectrum-Switches sind jedoch für die Überlastungskontrolle optimiert, wenn sie mit ConnectX-Adaptern verwendet werden, was eine Konfiguration ohne Konfiguration ermöglicht. RoCE ist sehr beliebt und verfügt über ein florierendes Ökosystem, das sowohl rNICs als auch NVMe-oF-Subsysteme bereitstellt. Es wird derzeit von einigen der größten Hyperscale-Rechenzentren der Welt genutzt, was den Preis von rNICs im Vergleich zu ihrer Einführung erheblich gesenkt hat.
Durch die Verwendung von RDMA können Daten von den NVMe-oF-Geräten direkt an einen Host übertragen werden, ohne dass sie in Speicherpuffer kopiert werden müssen, wie dies bei Verwendung eines Standard-TCP/IP-Stacks (Transmission Control Protocol/Internet Protocol) der Fall wäre. Durch die Umgehung der Puffer reduziert RDMA die CPU-Auslastung auf dem Host und verringert die Latenz für den Zugriff auf die Daten auf dem Remote-NVMe-Gerät. Es gibt viele technische Gründe, warum NVMe-oF leistungsfähiger ist als Netzwerkspeichertechnologien der letzten Generation. Bemerkenswert ist die enorme Anzahl an Warteschlangen (64 KB), die NVMe-oF unterstützt, aber am aussagekräftigsten ist vielleicht der NVMe-oF-Datenpfad. Das folgende Diagramm zeigt eine vereinfachte Darstellung, wie der Datenpfad bei NVMe-oF im Vergleich zu iSCSI-Speicher erheblich kürzer ist.
RoCE verwendet UDP, was sich auf die Leistung auswirkt, da UDP weniger Overhead erfordert. RoCE setzt jedoch auf End-to-End-Kompatibilität, um eine vollständig verlustfreie Konnektivität bereitzustellen. Obwohl moderne Netzwerk-Switches verlustfreie Konnektivität unterstützen, muss darauf geachtet werden, dass sich ein älterer Switch, der keine verlustfreie Konnektivität unterstützt, nicht im Netzwerkpfad von NVMe-oF befindet.
Das Ergebnis all dessen ist, dass NVMe-oF den Zugriff auf die NVMe-Laufwerke eines Netzwerks ermöglicht, als ob diese lokal auf dem zugreifenden Server wären. Frühe Berichte haben gezeigt, dass die Latenz für den gepoolten Speicher etwa 100 μs beträgt, statt der 500 μs oder mehr eines iSCSI-All-Flash-Speicher-Arrays.
NVMe-oF mit vSphere
Die Anforderungen für NVMe-oF mit vSphere sind einfach:
- NVMe-Array, das RDMA (RoCE)-Transport unterstützt
- Kompatibler ESXi-Host
- Ethernet-Switches unterstützen ein verlustfreies Netzwerk
- Netzwerkadapter, der RoCE unterstützt
- Software-NVMe-über-RDMA-Adapter
- NVMe-Controller
- Ein verlustfreies Netzwerk sowohl auf Layer 2 als auch auf Layer 3 oder ein verlustbehaftetes Netzwerk mit der ZTR-Lösung (Zero Touch RoCE) von NVIDIA
- Dedizierte Links, VMkernels und RDMA-Adapter zu NVMe-Zielen
- Dedizierte Layer-3-VLAN- oder Layer-2-Konnektivität
Da NVMe-oF für VMware neu ist, sind nicht alle vSphere-Funktionen dafür verfügbar. Einige Funktionen, die uns fehlten, sind die Unterstützung für gemeinsam genutzte VMDKs, Raw Device Maps (RDMs), vVols und die Möglichkeit, von NVMe-oF zu booten.
Implementierung von NVMe-oF
Wir haben die ConnectX-5 rNICs von NVIDIA verwendet, eine der am häufigsten verwendeten Karten im Rechenzentrum. Bei diesen Karten handelt es sich um RDMA-fähige Netzwerkadapter mit einem oder zwei Ports. Sie sind für PCIe Gen 3.0- und Gen 4.0-Server verfügbar und bieten Unterstützung für 1, 10, 25, 40, 50 und 100 GB. Sie haben eine Latenz von 750 ns und können bis zu 200 Millionen Nachrichten pro Sekunde weiterleiten. Bei Verwendung mit Speicher-Workloads unterstützen sie eine breite Palette von Beschleunigungstechnologien.
Für unsere Tests haben wir PCIe Gen 3.0 ConnectX-5-Karten mit 25 GbE in einem Paar Dell R720-Servern über ein Netzwerk ausgeführt, das über ein Paar NVIDIAs Spectrum SN2010-Switches mit dem Pure Storage-Flash-Array verbunden war.
Wir haben zunächst überprüft, ob wir den Treiber „nmlx5_core“ ausführen, indem wir „esxcfg“ eingegeben haben-nics -l |grep -E 'Name|NVIDIA'.
Wenn wir den nmlx4_core-Treiber ausgeführt hätten, hätten wir RoCE dafür über die ESXi-CLI aktivieren können.
Der Prozess zum Aktivieren von NVMe-oF (ähnlich dem zum Einrichten und Aktivieren von iSCSI) umfasste die Konfiguration der vSwitches, Portgruppen und VMkernel-Ports auf den ESXi-Hosts. Der Hauptunterschied bestand darin, dass wir jedem ESXi-Host mindestens zwei Software-NVMe-über-RDMA-Adapter hinzufügen mussten.
Der letzte Schritt, den wir abschließen mussten, bestand darin, den NVMe Qualified Name (NQN) des ESXi-Hosts durch Eingabe zu identifizieren esxcli nvme info get.
Auf dem Pure Storage-Array verlief das Einrichten ähnlich wie bei einem iSCSI-Array, mit einer großen Ausnahme. Wir mussten auswählen Konfigurieren Sie NQNs.
Testergebnisse von NVMe-oF mit vSphere
Für diesen Test haben wir bis auf den Stoff alles konstant gehalten. Was wir bewerten möchten, ist die Auswirkung der Umstellung von traditionellerem iSCSI auf RoCE. Um es klarzustellen: Dies ist keine Speicher-Benchmarking-Übung; Dies ist eine Untersuchung, um die Vorteile von NVMe-oF in einer VMware-Umgebung zu untersuchen, die nur sehr geringe Änderungen erfordert. Für das Speicher-Backend verwendeten wir zwei Dell EMC PowerEdge-Server sowie ein Pure FlashArray//X R2.
Unser Testplan umfasste die Messung der Gesamtleistung von 8 VMs (4 auf jedem ESXi-Host) und die Verwendung von vdBench zur Messung herkömmlicher vier Ecken und gemischter Arbeitslasten. Jede VM verbrauchte 64 GB Speicher, wobei pro Workload insgesamt 512 GB zur Verfügung standen, um die Leistungsänderungen bei Protokolländerungen zu vergleichen.
Um diese Ergebnisse zu interpretieren, beachten Sie bitte, dass beim Durchsatz eine Verbesserung besser ist, während bei der Latenz eine Verringerung besser ist.
Bei unserem ersten Workload, bei dem die 4K-Zufallsleseleistung bei 80 % Auslastung gemessen wurde, haben wir eine Steigerung des Durchsatzes um 14.6 % und einen Rückgang der Leselatenz um 21.4 % gemessen.
Als nächstes betrachteten wir die Lesebandbreite bei einer sequentiellen Lese-Workload von 64 KB und sahen eine satte Steigerung des Durchsatzes um 81.3 % sowie eine Verringerung der Latenz um 36.8 % – wiederum bei 80 % Auslastung.
Während die größten gemessenen Zuwächse bei den Lese-Workloads zu verzeichnen waren, haben wir uns auch einige gängige gemischte Workloads angesehen, von denen der erste SQL 90/10 war. Bei dieser Arbeitslast haben wir einen Rückgang der Latenz um bis zu 78.2 % bei einer Auslastung von 100 % und einen Rückgang der Latenz um 43.4 % bei einer Auslastung von 80 % gemessen.
Schließlich konnten wir bei unserem Oracle 90/10-Workload einen Rückgang der Latenz um 13.2 % bei einer Auslastung von 100 % und einen Rückgang der Latenz um 35.7 % bei einer Auslastung von 80 % feststellen.
In diesen Tests zeigte sich, dass RoCE bei einem breiten Spektrum von im Unternehmen üblichen Arbeitslasten deutliche Verbesserungen erzielte.
Schlussfolgerung
Unsere Tests haben gezeigt, dass NVMe-oF in der realen Welt mehr als nur ein Konzept ist. NVMe-oF kann mit der aktuellen Hardware Ihres Rechenzentrums, wie Servern mit Gen-3.0-PCI-Steckplätzen, NVIDIAs ConnectX-5-NICs und einem Pure Storage FlashArray//X R2 (Pure liefert jetzt //X R3 mit noch mehr aus). Leistungsverbesserungen).
Bei unseren Tests konnten wir deutliche Zuwächse bei Lese-Workloads mit kleinen und großen Blöcken feststellen. Um die tatsächlichen Auswirkungen zu untersuchen, haben wir uns auf eine Workload-Sättigung von weniger als 100 % konzentriert, da die meisten Workloads die zugrunde liegende Speicherplattform nicht vollständig auslasten. In unserem Test zur Messung der 4K-Zufallsleseleistung sank die Latenz bei einer Arbeitslast von 21.4 % um 80 %. Die sequentielle Leseleistung bei einer Arbeitslast von 64 KB führte zu einer enormen Steigerung des Durchsatzes um 81.3 % bei einer Auslastung von 80 %. Außerdem verzeichneten wir bei unseren SQL 43.4/35.7- und Oracle 90/10-Workloads einen Rückgang der Latenz um 90 % bzw. 10 %, wiederum bei einer Auslastung von 80 %. Diese Zahlen deuten darauf hin, dass es eine zusätzliche Möglichkeit gibt, anspruchsvolle Bare-Metal-Workloads auf VMware zu übertragen.
Wir sind zuversichtlich, dass NVMe-oF das nächste große Ding in der Speichertechnologie sein wird, und wir gehen davon aus, dass seine Beliebtheit im Rechenzentrum schnell zunehmen wird. Wir werden in den nächsten Jahren an der Spitze dieser Kategorie stehen und freuen uns darauf, andere und angrenzende NVMe-Technologien zu untersuchen, sobald diese auf den Markt kommen.
Für weitere Informationen:
Dieser Bericht wird von NVIDIA gesponsert. Alle in diesem Bericht geäußerten Ansichten und Meinungen basieren auf unserer unvoreingenommenen Sicht auf das/die betrachtete(n) Produkt(e).