ra2 studio - Fotolia
Sieben Fehler beim NVMe-Einsatz und wie man sie vermeidet
Die NVMe-Implementierung erfordert sorgfältige Vorüberlegungen, insbesondere eine Analyse der darauf zugreifenden Workload-Profile, damit die erwartete Performance auch eintritt.
Werden falschen NVMe-Typ für eine bestimmte Applikation verwendet oder die richtige Technologie falsch implementiert, kann Probleme bekommen: Die Leistung ist geringer als erwartet und es ergeben sich sinnlose zusätzliche Kosten, von den daraus resultierenden Erschwernissen ganz zu schweigen.
Glücklicherweise lassen sich die meisten verbreiteten Fehler rund um NVMe vermeiden, indem man zuvor etwas genauer nachforscht. Damit ein NVMe-Projekt nicht zur Enttäuschung wird, sollte man sich vor den folgenden sieben Fehlern hüten und sie möglichst vermeiden.
1. Direkt angebundene NVMe-SSD-Inseln in Servern implementieren
SSD-Storage sollte als gemeinsame Ressource für das gesamte Rechenzentrum implementiert werden. Dazu rät Eran Kirzner, Gründer und CEO von Lightbits Labs. Das Unternehmen hat eine Technologie entwickelt, die Compute und Storage trennt, so dass beide unabhängig voneinander skalieren. Ein SSD-Pool wird hier als SSD-Cache vor hoch kapazitiven Laufwerken genutzt, um kosteneffizient höhere Leistung sicherzustellen. Ohne diese Vorkehrung kann die Performance leiden. Die Kommunikation läuft über TCP.
„Technologien wie NVMe/TCP schaffen beinahe die Leistung von Direct Attached SSD, gleichzeitig sind sie aber flexibel und ermöglichen die dynamische Bereitstellung von Storage“, sagte Kirzner.
2. Keine Unterschiede zwischen NVMe-SSDs machen und nur nach dem Preis auswählen
Große Unterschiede zwischen NVMe-SSDs gibt es hinsichtlich der Haltbarkeit, I/O-Konsistenz und der Servicequalität. „Der allgemeine Trend geht in Richtung niedrigerer Kosten, aber die gehen oft zulasten der Haltbarkeit und der Leistung“, erklärt Kirzner. „Mit der richtigen intelligenten Softwareschicht, die alle SSDs in der Box verwaltet, können Haltbarkeit und Leistung preisgünstigerer SSDs dramatisch steigen.“
Käufer müssen sich besser über Einsatzszenarien informieren, sagt Caitlin Gordon, Vice President Storage Product Marketing bei Dell EMC. „Im Wesentlichen gibt es einige wenige Ebenen, auf denen ein Storage Array NVMe unterstützt. Deshalb müssen Anwender verstehen, was eine Lösung anbietet und wie das zu den Anforderungen ihrer Workloads passt.“ Beispielsweise gibt es NVMe-basierte Storage Drives – entweder mit NVMe-basiertem Flash oder mit NVMe-basierten Storage Class Memory (SCM). „Letztere können als Cache oder als persistente Medien eingesetzt werden“, sagt Gordon. „SCM-Drives, die neben Flash als persistente Medien verwendet werden, sind entscheidend für eine Leistungssteigerung.“
3. Nicht vollständig standardkonforme NVMe-Storage-Produkte einsetzen
Von manchen NVMe-Produkten behaupten ihre Hersteller, sie wären vollständig standardkonform, doch in Wirklichkeit handelt es sich lediglich um proprietäre Angebote mit viel Marketinggeschrei. Diese Produkte können oft nicht die erwartete Leistung bringen, halten kürzer und senken nicht die Kosten.
Laut Kirzner ist es wichtig, sich davon zu überzeugen, dass ein NVMe-Produkt die Spezifikation vollständig erfüllt. „Man sollte sicherstellen, dass eine angepeilte Lösung mit den Produkten anderer Anbieter zusammenarbeitet, der NVMe-Spezifikation entspricht und die Konformitätstests des UNH-IOL (University of New Hamsphire InterOperability Laboratory) absolviert hat“, rät er.
4. Versuchen, eine eigene NVMe-SSD zu bauen
Viele große Rechenzentren hoffen, die Storage-Kosten durch den Bau ihrer eigenen NVMe-SSDs senken zu können. Dabei finden sie häufig nur heraus, dass sie nicht genügend NAND auf dem Markt kaufen können, da die NAND-Bestände begrenzt sind. „Außerdem wird ihnen schnell klar, dass sie nicht mit den Veränderungen der NAND-Technologie mithalten können“, erklärt Kirzner. Er schlägt vor, sich auf generische NVMe-Funktionen zu konzentrieren, einige passende SSD-Lieferanten zu qualifizieren und die TCO dadurch zu verringern, dass die Infrastruktur durch die Trennung von SSD-Storage und Compute optimal ausgenutzt wird.
5. Vergessen, die Leistungsanforderungen von Applikationen zu analysieren
Eine Kosten-/Nutzen-Analyse für alle neuen Technologieinvestments und -bereitstellungen ist dringend zu empfehlen. Insbesondere bei NVMe-Storage sollte man sicherstellen, dass die Kosten bei der Überführung der Infrastruktur durch die Leistungsanforderungen der entsprechenden Anwendungs-Workloads gerechtfertigt sind.
„Um festzustellen, ob NVMe sinnvoll ist, muss man die Profile der Anwendungs-Workloads messen und analysieren“, sagt Henry He, Direktor Produktmanagement bei Virtual Instruments, einem Unternehmen, das sich auf Software für das Infrastruktur-Performancemanagement in Storage-Umgebungen spezialisiert hat. Die Workload-Profile können dann zusammen mit einer Workload-Simulationsplattform verwendet werden, um die Leistungsgewinne zu analysieren und festzustellen, ob die Kosten für jede einzelne Workload gerechtfertigt sind. Wenn die Kosten zu groß scheinen, sollten Anwender sich statt dessen darauf konzentrieren, ihren existierenden Fibre Channel zu optimieren oder auf All-Flash-Arrays migrieren, rät er.
6. NVMe auf den Architekturen bereitstellen, die sonst für Flash verwendet werden
Die Schlüsselthemen sind hier Latenz und Engpässe im Controller. „Traditionelle Controller-basierte Architekturen können nur in geringem Umfang I/O verarbeiten, bevor sie langsamer werden, was die Latenz steigert und schließlich die Leistung beeinträchtigt“, warnt Josh Goldenhar, Vice President Customer Success bei Excelero, einem Hersteller von Systemen mit verteiltem Block-Storage.
Aktuelle Controller können nur ein einziges NVMe-Laufwerk sinnvoll unterstützen; die meisten Enterprise-Drives bringen laut Goldenhar 750.000 IOPS. Jede Organisation, die überlegt, NVMe einzusetzen, sollte daran denken, eine verteilte Architektur ohne Controller aufzubauen. Mit dieser Herangehensweise leidet die Leistung nicht unter den traditionellen Grenzen der Controller, denn Geräte und Netzbandbreite skalieren.
7. NVMe für eine neuen Medientyp halten
Da die Begriffe Flash Storage und Flash Drive meistens austauschbar verwendet werden, ist es einfach, davon auszugehen, dass alle NVMe-Storage-Devices oder -Arrays NVMe verwenden. Doch der Begriff NVMe bezeichnet derzeit eine Schnittstelle und ein Storage-Protokoll, nicht ein Speichermedium. „Es gibt NVMe-Devices, die andere Arten persistenten Speichers verwenden, beispielsweise Intels Optane-Technologie und durch Batterie oder eine Superkapazität gesicherten DRAM (Dynamischen RAM)“, sagt John Kim, Director Storage Marketing bei Mellanox, einem Spezialisten für Storage- und Netzwerktechnologie, der kürzlich für 6,9 Milliarden Dollar von Nvidia aufgekauft wurde. „Wahrscheinlich werden wir in Zukunft sogar noch mehr Medientypen in NVMe-fähigen Storage-Systemen sehen“, prognostiziert er.