vladimircaribb - Fotolia

So können Sie das Optimum aus NVMe Flash Storage herausholen

Flash und NVMe bieten Geschwindigkeitsvorteile. Allerdings müssen einige Hürden überwunden werden, um alle Verbesserungen effektiv zu nutzen.

Persistentes Storage ist eine wesentliche Anforderung aller Computersysteme. Daten bleiben darin auch nach Server-Neustarts erhalten, während Daten im Hauptspeicher in der Regel verloren sind.

Während der vergangenen 60 Jahre haben wir uns auf Tapes und Festplatten als primären Ort für unsere Daten verlassen. Doch keines von beiden Medien bietet die Performance von Flash Storage. Deshalb sehen wir derzeit einen Übergang hin zu Flash als dem Speichermedium der Wahl für das Rechenzentrum.

Flash wird häufig schon mit Non-volatile Memory Express (NVMe) verbunden. NVMe ist eine Technik, welche das Potential hat, Solid-State Storage (SSD) zu seiner vollen Entfaltung zu bringen. Aber welche Installationsmöglichkeiten gibt es gegenwärtig? Und welche Hindernisse liegen noch auf dem Weg hin zu voll funktionsfähigen Storage Arrays auf NVMe-Basis? 

Veraltete Protokolle: SATA, SAS, Fibre Channel, SCSI, AHCI

Speichergeräte sind intern mit dem Server über physikalische Schnittstellen wie zum Beispiel Serial-Attached SCSI (SAS) oder Serial-ATA (SATA) und extern mit Shared-Storage-Systemen über Ethernet oder Fibre Channel verbunden.

Diese Protokolle bestimmen den physikalischen Transport, während auf einem höheren Niveau SCSI (via SAS oder Fibre Channel) oder AHCI (für SATA) benutzt werden, um Daten zu speichern und abzurufen.

Sowohl das Small Computer System Interface (SCSI) als auch das Advanced Host Controller Interface (AHCI) wurden zu einer Zeit entwickelt, als standardmäßige Speichergeräte (Festplatten und Tape) nur dazu in der Lage waren, mit einer einzigen Input-/Output-Anfrage auf einmal zurechtzukommen.

Tapes sind linear aufgebaut, während auf Festplatten ein Lese-/Schreibkopf so positioniert werden muss, dass er Zugang zu Daten auf einer Spur der Platte bekommt. Das hatte zur Folge, dass traditionelle Speicherprotokolle so entwickelt wurden, eine einzige Warteschlange für Speicheranfragen zu verwalten.

Für AHCI umfasst diese Warteschlange 32 Befehle, während sie bei SCSI wesentlich länger ist, aber aufgrund bestimmter Protokolleigenschaften in der Regel irgendwo zwischen 128 und 256 Befehlen liegt.

Bei Festplatten benutzen beide Protokolle Techniken, um den Durchsatz in ihren Warteschlangen zu verbessern – zum Beispiel Tagged Command Queuing (TCQ) oder Native Command Queuing (NCQ), die die I/O-Prozesse neu ordnen.

Diese Neuordnung benutzt einen eingebauten Cache, um Anfragen zu buffern, während der physikalische Lese-/Schreib-Prozess auf dem physikalischen Speichermedium optimiert wird. TCQ und NCQ mildern manche der physikalischen Zugangsmerkmale zu einer Festplatte, indem sie im Allgemeinen den Gesamtdurchsatz, aber nicht die Latenz verbessern.

Flash und der Protokoll-Flaschenhals

Wenn man den Weg hin zu Flash beschreitet, wird das Speicherprotokoll zu einem Flaschenhals. Flash besteht aus Solid-State-Storage ohne sich bewegende Teile und kommt mit viel mehr gleichzeitigen I/O-Anfragen zurecht, als die gegenwärtig üblichen SAS- und SATA-Verbindungen erlauben.

SATA ist begrenzt auf einen Durchsatz von 6 Gbps und SAS auf 12 Gbps, obwohl sich einige Performance-Verbesserungen am Horizont abzeichnen.

Das größte Problem besteht jedoch darin, nur eine relativ kleine Anzahl von Warteschlangen (Queues) bewältigen zu können. Und da Flash Drives an Kapazität zunehmen, wird dieser Flaschenhals zu einem immer größeren Problem.

Auftritt NVMe

Um das Performance-Problem bei den Storage-Protokollen zu lösen, haben Teile der IT-Branche eine neue Interface-Spezifikation für Geräte und ein neues Protokoll eingeführt, das als Non-Volatile Memory Express (NVMe) bekannt ist und den PCI Express Bus (PCIe) benutzt.

NVMe Flash Drives sind wie PCIe Expansion Cards untergebracht, als 2,5-Zoll-Laufwerke oder als kleine Plug-in-Module mit einem Format, das als U.2 bezeichnet wird. Der PCIe-Bus liefert eine sehr große Bandbreite von ungefähr 984 Gbps per Spur, so dass ein typisches PCIe-Gerät 3.0 x4 (vier Spuren) über 3,94 Gbps an Bandbreite verfügt.

NVMe optimiert  I/O-Warteschlangen und unterstützt bis zu 65.535 Warteschlangen, wobei jede von ihnen 65.535 Befehle ausführen kann. Intern löst NVMe einige der Probleme mit parallelen Abfragen klassischer Speicherprotokolle, indem wirksamere Interrupt-Prozesse ausgeführt werden und indem die Anzahl der internen Kommandosperren reduziert wird.

Die Vorteile von NVMe kann man in einigen Gerätespezifikationen verdeutlichen.

Intels SSD DC P4600 zum Beispiel, das PCIe NVMe 3.1 x4 benutzt, bietet sequentiellen Durchsatz von 3.270 Mbps (Read) und 2.100 Mbps (Write) mit 694.000 (Read) und 228.000 (Write) IOPS.

Wenn man NAND Flash hinter sich lässt und neuere Technologien wie Optane von Intel betrachtet, wird man demnächst sogar noch schnellere Performance-Zahlen sehen. Intel spricht bereits von 500.000 IOPS mit Optane bei einem Read/Write-Workload im Verhältnis von 70:30. 

NVMe im Server

Es gibt drei Möglichkeiten, NVMe für die Verbesserung der Storage-Performance einzusetzen. Die erste besteht darin, NVMe-Laufwerke im Server zu benutzen. 

Offensichtlich muss der Server die Geräte physikalisch und auf der BIOS-Ebene unterstützen. Das Betriebssystem muss ebenfalls NVMe unterstützen, aber so gut wie alle modernen Versionen der Betriebssysteme unterstützen bereits NVMe. Plattformen wie Virtual SAN (vSAN) von VMware bieten schon seit mehr als 18 Monate NVMe Support und bieten einen guten Upgrade-Pfad für die Performance. 

NVMe im Array

Eine zweite Möglichkeit ist es, dass Storage-Anbieter NVMe-Laufwerke in ihre Arrays einbauen.

Heutzutage umfassen die meisten Storage Arrays Serverhardware mit einigen kundenspezifischen Komponenten. SAS-Drives durch NVMe zu ersetzen, kann zu einem Schub bei Performance und Durchsatz führen. Array-Anbieter haben solche Änderungen schon einige Male zuvor gemacht, zum Beispiel bei dem Übergang von SATA zu SAS und Fibre Channel. Sie waren immer angetrieben davon, Performance, Zuverlässigkeit und Einfachheit zu verbessern. Dies erforderte dann auch ein Upgrade bei internen Komponenten wie zum Beispiel den Storage Controllern.

Vor kurzem haben Lieferanten von Storage Arrays damit begonnen, NVMe-Unterstützung für ihre Produkte anzukündigen. Pure Storage brachte im April 2017 die //X-Reihe von FlashArray-Produkten mit NVMe-Unterstützung heraus. HPE hat angekündigt, dass die 3PAR-Plattform NVMe-Unterstützung für Backend-Connectivity liefern wird. NetApp bringt NVMe Flash Storage als einen Read Cache (Flash Cache) auf seiner jüngsten Hardware-Plattform.

E8 Storage hat bereits funktionsfähige NVMe Modelle mit 10.000.000 IOPs an Kunden verkauft.

Der Array-Controller bleibt ein Flaschenhals für NVMe

Bei NVMe innerhalb von Storage Arrays wird das Betriebssystem nun zum Flaschenhals innerhalb des Systems.

Als Festplatten langsam waren, konnte sich die Softwareseite es leisten, relativ ineffizient zu sein, aber jetzt sind Hersteller gezwungen, sich an schnellere Speicherhardware anzupassen.

EMC zum Beispiel musste 2013 den Code für VNX neu schreiben lassen (MCx genannt), um Multi-Processing zu unterstützen – das sollte auch die Grundlage für schnellere Geräte sein.

DataCore führte 2016 eine „Parallel I/O“ genannte Technologie ein, um seine Software-definierte Speicherlösungen in die Lage zu versetzen, von der gestiegenen Performance von Servern und Speicherhardware zu profitieren.

Eine besondere Herausforderung für die Hersteller von Storage Arrays wird es sein, mit den Vorteilen von NVMe erstens die schnelleren Geräte wirklich auszunutzen, und zweitens daraus einen finanziellen Vorteil zu ziehen. Ein kleiner inkrementeller Aufwärtstrend bei der Performance wird nicht ausreichen, um die Kunden von einem Wechsel zu einer schnelleren Technologie zu überzeugen.

NVMe-over-Fabrics

Eine dritte Möglichkeit für eine NVMe-Implementierung ist der Einsatz von NVMe-over-Fabrics (NVMoF).

Dies kann NVMe-Befehle auf Motherboard/Laufwerks-Ebene über längere Strecken übertragen. Es funktioniert ähnlich wie die Art und Weise, in der SCSI in Fibre Channel oder Ethernet für den physikalischen Transport eingebunden wird – jeweils durch die Fibre-Channel- und iSCSI-Protokolle.

Mit NVMoF wird das NVMe-Protokoll in RDMA (Remote Direct Memory Access) oder in Fibre Channel eingebettet, entsprechend dem Angebot von physikalischer Anbindung über Infiniband oder Converged Ethernet.

Diese Lösungen bieten zwei interessante Szenarios.

Erstens könnten für heutige Fibre-Channel-Netzwerke Upgrades durchgeführt werden, um NVMe und SCSI als Speicherprotokolle zu unterstützen: Dadurch erhalten Kunden die Möglichkeit, existierende Technologie weiter zu benutzen. Dies kann zu einer Performance-Verbesserung führen, könnte aber letztlich doch begrenzt sein durch die gegebene Performance des Backend-Storage.

Die zweite Möglichkeit besteht darin, NVMoF für den Bau einer Storage Fabric zu benutzen, die als logisches Speicher-Array fungieren kann, oder NVMoF in einer hyperkonvergenten Variante zu betreiben.

Excelero ist ein Start-up, das eine NVMe-Fabric-Technologie mit Namen NVMesh entwickelt hat. Das Unternehmen ist vor kurzem eine Partnerschaft mit Micron eingegangen, um SolidScale herauszubringen, eine Scale-Out Storage-Plattform. Inzwischen gibt es mit Apeiron Data Systems ein anderes Start-up, das eine Scale-Out Speicher-Appliance mit NVMe-over-Ethernet anbietet.

Aber diese Lösungen offerieren nicht alle Features von Replikation, Data Protection, Snapshots und Speicherplatzeffizienz, wie wir sie von traditionellen Storage Arrays kennen.

Wird es Storage Arrays mit echten NVMe-Vorteilen geben?

NVMe-over-Fabrics bietet eine Zukunft mit hoher Performance und einem besseren Einsatz der NVMe-Technologie, als dies mit traditionellen Storage Arrays erreicht werden kann.

Aber traditionelle Speichersysteme fahren damit fort, die Vorteile der Konsolidierung von Ressourcen in Richtung eines einzigen Formfaktors zu bieten, mit fortgeschrittenen Speicherfeatures, wie sie viele Kunden von ihren Plattformen erwarten.

Gegenwärtig eignet sich NVMe vielleicht am besten als Direct-Attached-Storage im Server oder als Upgrade zu einem traditionellem Storage Array – zum Beispiel als Cache.

IT-Abteilungen mit besonderen Ansprüchen an Skalierung und High-Performance sind mittlerweile wohl jene Kunden, die mit NVMoF-Lösungen auf dem neuesten Stand der Technik zufrieden sind. 

Die Geschwindigkeitsvorteile von NVMe liegen klar auf der Hand, genauso wie die Pluspunkte, die mit NVMoF einhergehen. Die große Frage ist aber, ob die Vorteile von NVMe gegenüber den Features bestehen können, wie wir sie von den klassischen Storage Arrays gewöhnt sind.

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

Nächste Schritte

NVMe und 3D XPoint

Die NVMe-Technologie könnte das Konzept der Direct-Attached-Storage wiedererwecken

Neue Software-Architekturen mit NVMe und Direct-Flash können Grenzen überwinden

NVMe kann Queue-Depth Flaschenhälse beseitigen, das Storage-Array hindert

 

 
Artikel wurde zuletzt im August 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Disk-Arrays

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close