sdecoret - stock.adobe.com

NVMe-oF meistert die Herausforderungen von Scale-Out Storage

NVMe-oF braucht verschiedene Standards, um per FC, Ethernet oder InfiniBand übertragen zu werden. Start-ups bieten NVMe-oF-Lösungen an, darunter E8 Storage, Excelero und WekaIO.

Im Allgemeinen gibt es zwei anerkannte Wege, Storage-Architekturen zu erweitern: Scale-Up und Scale-Out. Scale-Up-Produkte erhöhen die Kapazität und Leistungskraft einer einzelnen Hardwareplattform, während Scale-Out-Tools die Fähigkeiten durch weitere Server und Knoten hochschrauben. Historisch betrachtet ist die Scale-Out-Methode komplexer zu implementieren gewesen, aber mit dem Aufkommen von NVMe over Fabrics (NVMe-oF) könnte sich dies ändern.

Zunächst entwickelt, um den Performance Overhead in einem Fabrics Network zu verringern, kann Non-Volative (nicht-flüchtiger) Memory Express over Fabrics (NVMe-oF) dazu benutzt werden, die Grenzen einiger Scale-Out Storage-Architekturen hinter sich zu lassen. In dem Maße, wie sich immer mehr Unternehmen für hohe Skalierbarkeit interessieren, beginnen Hersteller damit, die NVMe-oF-Technologie in ihre Produkte einzubauen, um so noch bestehende Probleme bei Scale-Out Storage in den Griff zu bekommen.

Das Scale-Out-Szenario

Scale-Out Storage zerfällt in der Regel in zwei Kategorien:

Tightly coupled: Storage Nodes oder Server sind bei Features wie Shared Memory und proprietären Highspeed Backplanes eng aneinander gebunden. Einige Produkte, die als monolithische oder Scale-Up-Produkte gelten, bestehen eigentlich aus Scale-Out-Architekturen – zum Beispiel PowerMax von Dell EMC.

Loosely coupled: In diesem Szenario sind die Nodes nicht eng miteinander verbunden, sondern können getrennt arbeiten. Die Nodes sind über ein schnelles Netzwerk – in der Regel Ethernet – verbunden, das nicht direkt in die Plattform eingebaut ist. Ein gutes Beispiel hierfür sind die SolidFire-Systeme von NetApp, die mehrere 1U-Server und den Netzwerkstandard 10-Gigabit-Ethernet+ (GbE) verwenden.

Scale-Out-Produkte, die „tightly coupled“, also eng verbunden sind, bieten im allgemeinen bessere Ausfallsicherheit und gleichmäßigere Performance, während „loosely coupled“-Architekturen skalierbarer sind, aber unter der Gefahr leiden, dass es sowohl auf der Storage-Seite als auch bei den Nodes zu Ausfällen kommen kann.

Scale-Out Storage zu implementieren, ist deshalb problematisch, weil die Daten zugleich geschützt und konsistent sein müssen. Deshalb müssen Techniken in die Plattform integriert werden, die Nodes-Ausfälle feststellen oder vorhersagen, und es müssen mehrfache Data-Protection-Mechanismen über einen Scale-Out-Cluster eingerichtet werden, die greifen, falls es zu Geräte- oder Node-Ausfällen kommt.

Was ist NVMe-oF?

Seitdem Performance-Ansprüche in den Rechenzentren gestiegen sind, sind Storage-Systeme zu einem dauerhaften Engpass bei der Bereitstellung schneller und effizienter Anwendungen geworden. NVMe wurde als eine Technologie entwickelt, um den Performance Overhead von Storage-Protokollen bei Solid-State-Medien zu reduzieren. NVMe-basierte SSDs, die über PCIe (Peripheral Component Interconnect Express) mit einem Server verbunden sind, liefern eine wesentlich größere Bandbreite im Sinne von IOPS und Durchsatz und eine wesentlich niedrigere Latenz als SAS und SATA SSDs. 

Funktionsweise von NVMe over Fabrics
Abbildung 1: Funktionsweise von NVMe over Fabrics

Der nächste logische Schritt in der NVMe-Entwicklung bestand darin, das Protokoll für eine Fabric oder ein Netzwerk funktionsfähig zu machen. NVMe-oF beschreibt eine Gruppe von Standards, die für die Übertragung des NVMe-Protokolls über ein Fibre-Channel (FC)-, Ethernet- oder InfiniBand-Netzwerk entwickelt wurden.

Heute existieren Produkte für NVMe over FC, NVMe-oF mit Remote Direct Memory Access over Converged Ethernet (RoCE), NVMe over InfiniBand und NVMe/TCP mit standardmäßigen Ethernet Network Interface Cards.

Wie hilft NVMe-oF bei Scale-Out Storage?

Oft gibt es eine Art Auflösung der Komponenten in einer typischen Storage Appliance oder eine Auflockerung der Verbindungen zwischen ihnen. Eine solche Architektur führt zu einem direkteren Pfad zwischen dem Host und den Speichermedien, indem die Datenübertragung durch einen zentralisierten Controller umgangen wird. Sogar gegenwärtige Scale-Out-Produkte besitzen diese Restriktion, die zu einer unvollständigen Auslastung der SSD-Fähigkeiten führen kann. Indem ein direkterer I/O-Pfad zur Verfügung gestellt wird, kann ein einzelner Host zu vielen Geräten sprechen – und umgekehrt gilt das Gleiche. Dies reduziert Latenzen und erhöht die Scale-Out-Fähigkeiten.

Ein Teil der NVMe-Spezifikation stellt das Feature-Set zur Verfügung, mit dem diese Tools arbeiten können. Bei SAS- und SATA-Drives werden die I/O-Pfade in eine einzige Schlange gepackt, was zu Bottlenecks beim Lesen zu und von den internen NAND-Medien führt. NVMe führt die Fähigkeit von 65.535 Schlangen ein, wobei jede von ihnen bis zu 65.535 Queue-Elemente aufnehmen kann. Damit kann eine stark parallelisierte Many-to-Many-Architektur zwischen Host und Drives implementiert werden, mit einer getrennten Queue für jede Host-Drive-Beziehung.

Der NVMe-Transport ist ein abstrakter Protokoll-Layer, der NVMe-Kommandos und Datenzulieferung bereit stellt.
Abbildung 2: Der NVMe-Transport ist ein abstrakter Protokoll-Layer, der NVMe-Kommandos und Datenzulieferung bereit stellt.

Zu den Herstellern, die diese Art von Architektur implementieren, gehört E8 Storage mit seinen E8-NVMe-Appliances und Host-basierten Software-Treibern. Die Appliance dient als ein Metadatenserver und als Ethernet-to-PCIe-Bridge, wobei traditionelle Speicheraufgaben wie Snapshots zu jedem verbundenen Host ausgelagert werden.

Excelero verfügt über ein softwarebasiertes Produkt, das viele Server in einem Netzwerk von Storage-Konsumenten und -Providern miteinander verbindet. Die NVMesh-Software versetzt jeden Storage-Konsumenten in die Lage, auf jedes Laufwerk auf jedem Server zuzugreifen, ohne dass dazu der Weg über die CPU des Ziel-Servers gegangen werden muss. Das Ergebnis ist eine Architektur, in der das Hinzufügen von weiterer Kapazität mit nur geringem Overhead für bestehende Anwendungen erreicht werden kann.

WekaIO benutzt eine ähnliche Technik, um eine Scale-Out File-System-Architektur mit Namen „Matrix“ zu liefern. Die niedrigen Latenzen von NVMe über das Netzwerk hinweg, kombiniert mit verteiltem Processing, verschaffen dem Matrix File System eine Geschwindigkeit, die schneller als bei lokalen Drives ist.

Hardwarefokus

Die Hersteller haben sich auch auf die Konstruktion von Hardware-only Tools konzentriert, die hohe Skalierbarkeit erlauben.

Pavillon Data Systems hat eine Plattform entwickelt, die bis zu 20 spezielle Blade Server und 72 NVMe-Laufwerke einsetzt, um eine Rack-Scale Architektur zu schaffen, die eine Bandbreite von 120 Gigabytes per Second mit 100 Mikrosekunden unterstützt. Die Application-Hosts nutzen Standard 40-GbE oder 100-GbE-RoCE Netzwerkadapter und NVMe-oF Driver.

Vexata hat eine Architektur entwickelt, die standardmäßige Hardwarekomponenten verwendet, um Kapazität und Performance rund um eine Ethernet Midplane zu skalieren. Die Backend-Skalierbarkeit wird durch hardwarebasierte Enterprise Storage Module (ESMs) erreicht, während die Frontend-Connectivity NVMe-oF-Fähigkeiten und einen direkten Hardware-I/O-Path mit I/O-Modulen (IOMs) bietet. Bestehende Implementierungen bieten gegenwärtig bis zu 16 ESMs und zwei IOMs, obwohl die Architektur eigentlich viel weiter skalieren kann.

Apeiron Data Systems ist ein anderes Start-up, das dem Hardware-Modell folgt. Die Apeiron ADS1000-Plattform nutzt NVMe over Ethernet und spezielle Host Bus Adapter, um eine Scale-Out-Architektur zur Verfügung zu stellen, die wachsen und Tausende von Laufwerken in einer einzigen Konfiguration unterstützen kann.

NVMe-oF ist in der Lage, die Beschränkungen einer traditionellen Architektur zu überwinden und Produkte zu erzeugen, die naturgemäß verteilter sind. Der gemeinsame Grundgedanke aller dieser Angebote von Seiten der Hersteller besteht darin, die Länge und die Auswirkungen des I/O-Pfads vom Host zu den Medien zu reduzieren. Dies wird mit Sicherheit zu einem wesentlichen Feature künftiger Storage-Modelle werden, da die Latenzen auch weiterhin zu den größten Herausforderungen der Storage-Technologie zählen.

Folgen Sie SearchStorage.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

NVMe over Fabrics weit schneller und leistungsfähiger als PCIe

Kostenloser E-Guide: Alles, was Sie über NVMe wissen müssen

Bei der Migration auf NVMe sind wichtige Dinge zu beachten

Erfahren Sie mehr über Datenschutz und Compliance