pressmaster - stock.adobe.com
Leistung und Workloads entscheiden über die NVMe-Migration
NVMe-Speicher werden direkt mit dem PCIe-Bus verbunden, um eine höhere Leistung der Speicherinfrastruktur zu ermöglichen. Erfahren Sie mehr über NVMe-Produkte und Anwendungsfälle.
NVMe und NVMe over Fabric (NVMe-oF) werden die Storage-Infrastrukturen in den Rechenzentren dramatisch verändern, denn sie ermöglichen dichter gepackte, vollkommen neue Applikationen wie Machine Learning oder schnelle Analysen wie zum Beispiel Echtzeitanalysen. Die Infrastruktur mittels NVMe-Storage zu aktualisieren, erfordert sorgfältige Überlegung und Planung. Nur dann wird eine Organisation das Optimum erreichen und Geldverschwendung verhindern.
Als Flash auf den Markt kam, produzierten Hersteller zunächst SSDs, die SATA- und SAS-Drives emulierten. Das bedeutete Kompromisse bei der Leistung, um Kompatibilität und einfache Implementierung sicherzustellen. Als sich der Flash-Markt weiterentwickelte, brachten einige wenige Hersteller PCIe-basierten Flash-Speicher mit proprietären Treibern auf den Markt, die das SCSI-Protokoll umgingen. Das Problem bestand darin, dass diese Angebote inkompatibel zu anderen SSD-Typen waren und sich so die Storage-Umgebung im RZ in Richtung auf eine massive Fragmentierung bewegte.
Das änderte sich mit dem Standard-basierten NVMe-Protokoll, das speziell für Memory-basierte Storage entwickelt wurde. Es ersetzte traditionelle SCSI-Protokolle wie SAS und SATA. Sein größter Unterschied zu diesen Vorgängern besteht darin, wie ein NVMe-basiertes Laufwerk sich mit einem Server oder Storage-System verbindet.
Statt sich an einen SCSI-Adapter anzubinden, verbindet sich NVMe direkt mit dem PCIe-Bus. Das bedeutet Storage mit Direktzugriff auf die CPU. NVMe bietet erheblich mehr Warteschlangen, nämlich 64.000 – bei SCSI war es lediglich eine – und 64.000 Befehle in jeder dieser Warteschlangen. Die SCSI-Queue konnte nur 32 Befehle fassen, also um Dimensionen weniger.
Was ist NVMe-oF?
Das NVMe-Protokoll heilt deshalb viele der Leistungsprobleme, die mit Engpässen bei der Flash-I/O zusammenhängen. Allerdings bedeutet das Teilen eines NVMe-basierten Systems über Fibre Channel (FC) oder IP, dass wieder SCSI im I/O-Pfad ins Spiel kommt.
NVMe-oF löst dieses Problem, indem die Technologie das Storage-Netzwerk befähigt, NVMe vernetzt zu verwenden. Theoretisch sind Storage-Umgebungen mit NVMe von Ende zu Ende denkbar. Dafür müssen NVMe-Netzadapter im Applikationsserver, NVMe-Laufwerke und -Netzadapter im Storage-System stecken. Ein solches Netz sollte dieselbe Leistung und geringe Latenz liefern wie direkt angebundene NVMe-Laufwerke. In dem Maß, in dem NVMe-oF sich verbreitet, entfällt beinahe vollständig die Notwendigkeit von DAS-Konfigurationen.
Gut ist, dass die Arbeiten an NVMe-oF nahezu abgeschlossen sind. Bei den meisten Netzwerk-Switches, die in den vergangenen zwei Jahren ausgeliefert wurden, sollte die Firmware auf NVMe-oF migrierbar sein. Zusätzlich werden FC und IP unterstützt. Gegenwärtig hat FC den Vorteil, dass die Technologie sowohl NVMe als auch traditionell FC-basiertes SCSI mittels desselben Netzwerk-Switches unterstützt.
Wie wird NVMe heute ausgeliefert?
Die verbreitetste Form von NVMe sind NVMe-Laufwerke, die im Server installiert werden. In den meisten Midrange- oder Highend-Server – sogar in sehr leistungsfähigen Laptops – stecken heute NVMe-Drives oder sind als Erweiterungsoption verfügbar. NVMe-All-Flash-Storages-Systeme gibt es ebenfalls.
Die Mehrheit der All-Flash-Storage-Systeme unterstützt allerdings heute nur traditionelle FC- oder IP-Verbindungen zum Storage-Netzwerk, nicht aber NVMe-oF.
Trotzdem leisten sie schon erheblich mehr als traditionelle Hardware, sind aber nicht so gut wie Ende-zu-Ende-Lösungen. Die meisten traditionellen Systeme sind nicht auf NVMe aktualisierbar. Kunden sollten sich bei der Auswahl einer NVMe-Lösung deshalb darüber bewusst sein, dass sie wohl immer in einer gemischten Umgebung arbeiten werden.
Es gibt nur einige wenige Ende-zu-Ende-Protokollangebote für NVMe. Die meisten von ihnen verwenden eine IP-basierte NVMe-oF-Konfiguration und unterstützen relative wenige Supportoptionen. Nur wenige Ende-zu-Ende-NVMe-oF-Produkte sind offener, erfordern aber FC, eine zusätzliche Investition, falls die Technologie im Unternehmen nicht ohnehin genutzt wird.
Wann lohnt sich der Umstieg auf NVMe?
Damit sich eine Investition in NVMe aus Leistungsgründen rechtfertigen lässt, sollte eine Organisation relativ konstant 300.000 bis 700.000 IOPs benötigen. Dafür brauchen Organisationen bei traditionellen Workloads, etwa virtuellen Umgebungen und Bare-Metal-Datenbankapplikationen, sehr dichte Applikationsinfrastrukturen.
Das bedeutet bei virtuellen Maschinen wahrscheinlich doppelt oder dreimal so viele VMs pro physischem Server, als heute üblich sind. Die meisten Server haben überreichlich CPU-Power, aber relativ wenig Storage oder RAM. NVMe unterstützt nicht nur die Storage-I/O, sondern relativiert auch die Begrenzungen beim RAM, weil die Technologie mit ihren virtuellen Memory-Swap-Pools nahezu RAM-Leistung bietet.
Eine hyperkonvergente Infrastruktur sollte sogar noch mehr von Clusterknoten mit NVMe-Storage profitieren, insbesondere, wenn die HCI-Storage-Software die Primärdaten jeder VM im selben Server wie die VM halten kann. Obwohl die Schreib-I/O wahrscheinlich noch über das Netzwerk repliziert wird, um die Daten zu schützen, gewinnt die VM die volle NVMe-Leistung für Schreibzugriffe.
Die meisten Organisationen brauchen heute kein Ende-zu-Ende-NVMe. Einige Ausnahmen sind Anwendungen wie KI, Machine Learning, Deep Learning und Hochgeschwindigkeits-Datenanalyse. Sie involvieren häufig das Scannen von Millionen oder sogar Milliarden kleiner Dateien. Hierfür sind die Geschwindigkeit und eine geringe Latenz des Storage-Systems wichtig. Denn die Leistung dieser Workloads zählt, insbesondere, wenn sie skaliert werden und in Produktivumgebungen laufen.
Teilweise wird die Entscheidung über eine Migration zu NVMe von den Herstellern bestimmt. In dem Umfang, in dem sich Preisunterschiede zwischen vollständig NVMe-basierten Arrays und SAS-basierten Arrays nivellieren, wird es sich ganz einfach empfehlen, ein NVMe-System zu kaufen, sogar, wenn seine Leistung noch nicht unmittelbar benötigt wird.
Der Umgang mit durch NVMe deutlich gewordenen Leistungsengpässen
Nach den aktuellen Standards hat NVMe keine Leistungsengpässe, legt diese aber anderswo offen, weil die Medien selbst so wenig Latenz haben. Das NVMe-Protokoll macht die Leistung anderer Komponenten überdeutlich, insbesondere die der Software, die bisher hinter der Medienlatenz in der Umgebung verborgen blieb. Storage-Anbieter versuchen auf drei Wegen, die Leistung der Storage-Software zu verbessern:
- Storage unverändert lassen, aber sie mit leistungsfähigeren Prozessoren kombinieren. Das Problem bei dieser Herangehensweise besteht darin, dass die Standard-Intel-Prozessoren, auf denen die meisten dieser Softwares laufen, ihre Leistung durch mehr Cores steigern, nicht durch eine Leistungserhöhung jedes Cores. Wenn die Software kein effektives Multithreading (Aufbau und parallele Abwicklung mehrerer Befehlswarteschlangen) auf diesen Prozessoren beherrscht, bedeuten mehr Cores nicht mehr und vielleicht sogar weniger Leistung, falls die Zahl der Cores steigt.
- Software durch Hardware wie Field-Programmable Gate Arrays (FPGAs, programmierbare Logikbausteine) oder sogar ASICs (anwendungsspezifische Schaltkreise) ersetzen. Dieser Weg ermöglicht Storage-Services, die auf dedizierter Hardware laufen und Daten verarbeiten. Das FPGA oder der anwendungsspezifische Schaltkreis erhöhen die Kosten gegenüber den Standard-Intel-CPUs. Sie erschweren zudem Software-Upgrades. Weiter müssen FPGAs im Storage-System periodisch re-programmiert werden.
- Software neu schreiben, um vollen Vorteil aus den Veränderungen der Hardwaretechnologie zu ziehen. Das Neuschreiben beginnt damit, tatsächlich parallele Threads zu konstruieren, die die Verarbeitung über die Cores verteilen, statt nur auf einem Core abzulaufen. Eine Neuprogrammierung der Software sollte auch die Algorithmen für den Datenschutz, die Datenplatzierung, Snapshots und das Volume Management umfassen. Während eine Neuprogrammierung der Software wahrscheinlich die beste langfristige Lösung ist, ist sie auch die schwierigste und zeitraubendste Herangehensweise.
Kostet NVMe mehr?
NVMe-Laufwerke erreichen schnell das Preisniveau von SAS-Flash-Speicher. Um jedoch die vollen Leistungsvorteile dieser Laufwerke zu nutzen, muss das Ökosystem um NVMe herum leistungsfähiger und damit teurer sein als das Ökosystem um ein SAS-basiertes All-Flash-Array. Typischerweise verfügt ein NVMe-basiertes Speichersystem über viel leistungsfähigere Prozessoren und anspruchsvollere Motherboards mit zusätzlichen PCIe Lanes und RAM. Alle diese Komponenten können zu erheblichen Kosten für eine NVMe-Investition führen. Wenn sich ein Unternehmen für die Verwendung einer End-to-End NVMe-Protokollarchitektur entscheidet, können auch neue Netzwerkadapter erforderlich sein.
Der Übergang des Marktes zu NVMe
Innerhalb der nächsten drei Jahre werden die meisten Systeme auf dem Markt das NVMe-Protokoll verwenden, und die Kostendifferenz zwischen einem Midrange-SAS-Flash-Array und einem NVMe-Array wird sich so weit verringern, das sie zu vernachlässigen ist. Zunächst wird man NVMe-Arrays an das bestehende traditionelle Netzwerk anbinden. Allerdings werden Netze werden tendenziell langsamer aktualisiert als Storage.
Daher hängt die Geschwindigkeit von NVMe-Arrays in einem SCSI-basierrten Netzwerk davon ab, wie schnell im Lauf der Zeit die Geschwindigkeit des Netzwerks nach oben angepasst wird. Das Netzwerk wird innerhalb der nächsten fünf bis sechs Jahre Schritt für Schritt auf NVMe migrieren, also etwa nach zwei Storage-Zyklen. Ab dann dürfte im Array und in seiner Umgebung mit NVMe gearbeitet werden.
Zwei Arten von Organisationen müssen schneller auf NVMe migrieren: die, die unbedingt eine rasche Leistungssteigerung brauchen und die, die ihr Storage innerhalb der nächsten beiden Jahre erneuern wollen. Wenn die volle NVMe-Leistung sofort benötigt wird, sollte man ein Ende-zu-Ende-Angebot trotz der Neuheit des Protokolls erwägen. Hier sind schnellere Resultate jedes potentielle Risiko hinsichtlich der Zusammenarbeit mit Storage-Start-ups und des Umgangs mit einer neuartigen Netzwerk-Infrastruktur wert.
Die unterschiedlichen NVMe-Anbieter am Markt
Anbieter nehmen am NVMe-Markt auf mehreren Ebenen teil, je nach ihren Fähigkeiten.
Die erste Ebene sind Lieferanten – darunter Intel, Kingston Technology, Micron Technology, Samsung, Seagate Technology, Toshiba und Western Digital – die das NVMe-Laufwerk oder die Medien selbst liefern. Diese Anbieter unterscheiden sich durch Leistung, Konsistenz der Leistung unter Last, Programmierbarkeit für bestimmte Workloads und Dichte (Anzahl der Terabyte pro Laufwerk).
Die meisten Unternehmen werden sich nicht direkt mit Entscheidungen auf Laufwerksebene befassen, da die nächste Klasse von Anbietern, die NVMe-Array-Anbieter, diese Entscheidungen für sie treffen werden. NVMe Array-Anbieter fallen in eine der folgenden beiden Kategorien:
- Bestehende Anbieter von Speicher-Arrays. Dazu gehören DataDirect Networks (Tintri), Dell EMC, Hewlett Packard Enterprise, NetApp, Pure Storage, Western Digital (Tegile) und viele andere, die aktiv am All-Flash-Array-Markt teilnahmen, als er ausschließlich auf SAS-basiertem Flash basierte. Derzeit haben die meisten dieser Anbieter eine NVMe-Version ihrer Produkte veröffentlicht, und in den meisten Fällen ist das Gerät eine Aktualisierung ihres existierenden Angebots, jedoch mit PCIe-verbundenen NVMe-Laufwerken. Einige wenige haben ihre Speichersoftware geändert, um die Vorteile der verbesserten Befehlsanzahl und Warteschlangentiefe von NVMe zu nutzen. Andere, wie Kaminario, verwenden NVMe-oF, um ihre Backend-Speicherknoten mit Frontend-Speicher-Controllern zu vernetzen.
- Start-ups. Dazu gehören Anbieter wie Apeiron Data Systems, E8 Storage, Excelero, Pavillion Data Systems und Vexata, die End-to-End-NVMe-Storage anbieten. Die meisten dieser Angebote sind IP-basierte NVMe-oF, aber einige wenige unterstützen NVMe-oF auf Fibre Channel.
Für Organisationen, die ein SAS-Flash-Array nutzen und aktualisieren müssen, sollten Hersteller gewählt werden, die ein NVMe-Array mit Standard-Connectivity ans Netz anbinden können. Solche Geräte gehören zum Portfolio mehr oder weniger aller etablierten Hersteller. Für sie muss das Netz nicht geändert werden.
NVMe und NVMe-oF repräsentieren einen wichtigen Schritt vorwärts für Speicher-basiertes Storage, und das neue Protokoll wird von der Industrie schnell eingesetzt.
Viele Organisationen nutzen ihre SAS-All-Flash-Arrays nicht bis an die Grenzen aus, daher spielt die Zeit den IT-Spezialisten in die Hände. So lange keine Workloads auf Systemen laufen, die die volle Leistung der NVMe-Architektur beanspruchen, sollte man sich die Zeit nehmen, das Protokoll zunächst genau zu verstehen und eine Migrations-Roadmap für die Organisation zu erstellen.