bdavid32 - stock.adobe.com

Fünf wichtige Fakten zur Implementierung von NVMe-oF

Lesen Sie hier, was bei der Implementierung von NVMe over Fabrics wichtig und zu beachten ist und wo diese Technologie nutzbringend eingesetzt werden kann.

NVMe over Fabrics hält Einzug in die Unternehmen und ermöglicht es, die leistungsstarken Vorteile von NVMe mit niedriger Latenzzeit auf die gesamte Infrastruktur auszudehnen.

Eine NVMe-oF-Implementierung bildet Befehle und Antworten zwischen einem NVMe-Host und einem gemeinsamen Speicher ab und erleichtert so die Kommunikation. Es erweitert die Entfernungen, über die auf NVMe-Geräte zugegriffen werden kann, und ermöglicht die Skalierung auf mehrere Geräte.

Für die meisten Unternehmen ist der erste Schritt in die NVMe-Technologie ein NVMe All-Flash-Array mit traditionellen Netzwerkverbindungen zum Speichernetzwerk. Mehr als 60 Prozent der All-Flash-Arrays werden bis 2022 NVMe-Speichermedien verwenden, so die Prognosen von G2M Research. Danach kann je nach Leistungsbedarf ein Wechsel zu NVMe-oF erfolgen. G2M schätzte auch, dass mehr als 30 Prozent der AFAs in den nächsten drei Jahren NVMe-oF nutzen werden, um sich mit Hosts oder Erweiterungseinheiten zu verbinden.

NVMe-oF ist jedoch nicht ohne Komplikationen und Herausforderungen. Anwender müssen viele Informationen sammeln und eine Reihe von Fragen beantworten, bevor sie diesen Schritt gehen können. Im Folgenden erhalten Sie einen Überblick über fünf wichtige Fragen zur NVMe-oF-Implementierung, die Sie beantworten sollten, bevor Sie diese neue und essentielle Technologie einsetzen.

Welche Implementierungsoptionen gibt es für NVMe-oF?

Als die erste NVMe-oF-Spezifikation 2016 herauskam, unterstützte diese Fibre Channel (FC) und Remote Direct Memory Access (RDMA)-Fabrics, wobei InfiniBand, RDMA over Converged Ethernet und Internet Wide Area RDMA Protocol unter dem Dach von RDMA zusammengefasst waren. Die im November 2018 veröffentlichte NVMe-oF 1.1-Spezifikation hat TCP als Fabric-Option hinzugefügt.

Meilensteine der NVMe-Entwicklung
Abbildung 1: Meilensteine der NVMe-Entwicklung

Mit FC und RDMA können Daten von einem Host zu einem Array und zurück übertragen werden, ohne in den Memory Buffer und I/O-Karten kopiert zu werden, wie dies bei einem Standard-TCP/IP-Stack der Fall ist. Dieser Ansatz reduziert die CPU-Last und die Latenzzeit für die Datenübertragung und beschleunigt die Speicherleistung. FC und RDMA sind jedoch komplexer als TCP und können bei der Implementierung von NVMe-oF spezielle Geräte und Konfigurationen erfordern.

Unternehmen können die TCP-NVMe-oF-Transportbindung über Standard-Ethernet-Netzwerke sowie das Internet nutzen, was die Implementierung vereinfacht. Es erfordert keine Neukonfigurationsänderungen oder spezielle Geräte, wodurch viele der Komplikationen bei der Verwendung von NVMe over FC oder RDMA entfallen.

Welche Faktoren müssen Sie bei der Implementierung von NVMe-oF berücksichtigen?

NVMe-oF wurde entwickelt, um die vorhandene Speicherstruktur eines Unternehmens zu nutzen, setzt aber voraus, dass die bestehende Speicherinfrastruktur mit NVMe-oF kompatibel ist. Einige Anbieter halten sich nicht strikt an den NVMe-oF-Standard und verwenden stattdessen einen proprietären Ansatz, der zu Kompatibilitätsproblemen führen kann.

Zudem sollten Anwender bei der NVMe-oF-Implementierung berücksichtigen, dass die Speicherinfrastruktur einen angemessenen Durchsatz gewährleisten muss. Wenn die Verbindung zwischen dem Initiator des Systems und dem Ziel nicht mit dem physischen NVMe-Speichergerät Schritt hält, kann die Systemlatenzzeit steigen. Es ist auch wichtig, die Software des Speichersystems auf den neuesten Stand zu bringen. Alte Gerätetreiber und Betriebssystem-Kernel können Probleme verursachen.

Löst NVMe-oF die PCIe-Technologie für Rack-Umgebungen ab?

Bevor NVMe-oF auftauchte, sah es so aus, als würden Rechenzentren in Richtung Rack-Scale, switched PCIe-Fabric tendieren. DSSD, ein Unternehmen, das von EMC erworben und dann demontiert wurde, entwickelte eine Technologie, die den PCIe-Switch nutzte, um einen Flash-Block an verschiedene Hosts in einem Rack zu verteilen. Damals war die Latenzzeit von DSSD mit 100 Mikrosekunden (µs) im Vergleich zu der Latenzzeit von 1 Millisekunde bei Anbietern von All-Flash-Arrays günstig.

NVMe-oF wurde entwickelt, um die vorhandene Speicher-Struktur eines Unternehmens zu nutzen, setzt aber voraus, dass die bestehende Speicher-Infrastruktur mit NVMe-oF kompatibel ist.

Doch dann kam NVMe-oF auf den Markt, das der 100 µs Latenzzeit von DSSD entspricht und Kunden ihre bestehenden Standard-Ethernet- und FC-Netzwerke nutzen lässt, eine Entwicklung, die PCIe für Rack-Umgebungen vorerst auf Eis legte. Das kann sich jedoch ändern, wenn man bedenkt, dass sich das Gen-Z-Konsortium auf die Entwicklung einer Rack-Scale-Infrastruktur konzentriert, die GPU und Memory sowie Storage und I/O-Karten gemeinsam nutzt.

Wie hilft NVMe-oF bei Scale-Out Storage?

Tools zur Skalierung einer Speicherarchitektur verwenden zusätzliche Server oder Knoten, um die Leistung und Kapazität zu erhöhen. In der Vergangenheit waren Scale-Out-Tools in der Regel komplex zu implementieren. Aber NVMe-oF ändert all das, indem es die Einschränkungen und Komplexitäten der traditionellen Speicherarchitektur umgeht.

Der Vorteil von NVMe-oF besteht darin, dass der Weg zwischen dem Host und dem Speichermedium direkter wird. Dadurch werden die Daten nicht über eine zentralen Controller übertragen. Dieser direktere I/O-Pfad reduziert die Länge des Pfades und ermöglicht es einem einzelnen Host, mit vielen Laufwerken zu kommunizieren und umgekehrt. Dieser Ansatz reduziert die Latenzzeiten von Speichersystemen und erhöht die Scale-Out-Funktionalität.

Lösen NVMe und NVMe-oF alle Probleme der Speicher-Performance?

Die NVMe-Technologie verbesserte die Leistung zwischen der Server- oder Storage-Controller-CPU und den angeschlossenen Flash-SSDs über SAS- und SATA-SSDs erheblich. Und NVMe-oF hat die Latenzzeit reduziert und die Leistung von Shared Storage verbessert. NVMe und NVMe-oF haben jedoch auch eine weitere Performance-Herausforderung hervorgerufen: den CPU-Chokepoint im Server oder im Storage Controller.

Die neuesten Prozessoren unterstützen eine steigende Anzahl von SSDs. Und da mehr Laufwerke verwendet werden, wird die unterstützende Hardware immer komplizierter, mit mehr CPUs, Laufwerken, Laufwerkseinschüben, Switches, Adaptern, Transceivern und Kabeln, die die IT-Abteilung bewältigen und verwalten muss. Mehr Hardware führt auch zu sinkenden Renditen auf die Gesamtleistung.

Die Ursache für dieses Performance-Problem bei der NVMe-oF-Implementierung ist, dass die Speichersoftware nicht auf CPU-Effizienz ausgelegt ist. Eine Möglichkeit, dieses Problem zu lösen, besteht darin, die Speichersoftware neu zu schreiben, um sie effizienter zu gestalten. Einige Anbieter, wie zum Beispiel StorOne, verfolgen diesen Ansatz. Andere versuchen alternative Lösungen, wie das Hinzufügen weiterer CPUs, das Setzen von dynamischem RAM-Caching vor NVMe-SSDs und die Verwendung von Computational Storage, um mehr Prozessoren und RAM auf NVMe-Laufwerken zu installieren.

Nächste Schritte

So umgehen Sie diese vier Probleme bei NVMe-Storage

Wie die CPU beim NVMe-Einsatz zum Bottleneck werden kann

Das Wichtigste zu NVMe over TCP

Erfahren Sie mehr über Flash Storage und SSD