Der Streit ist nicht neu. All-Flash-Produzenten rechnen mit der neuen Formel "Kosten pro I/O" und versuchen damit, alles bisher da gewesene als veraltet hinzustellen.
SSD-Arrays andererseits - mit ihrer Kombination aus Standard-Flash-Medien und einer herkömmlichen Speicherarchitektur - holen sich aus beiden Welten das Beste und wollen so All-Flash-Arrays vor allem preislich in ihre Schranken weisen. Aber welche Versprechungen stimmen nun wirklich, welche Systeme bringen dem Anwender den höchsten Gebrauchsnutzen in der Welt außerhalb der Marketingversprechungen?
Ansprüche der Anwender wachsen schneller als das Datenvolumen
Ganz entgegen der seit einiger Zeit geführten Diskussion hat das schiere Volumen der zu speichernden und zu verarbeitenden Daten in den letzten 15 Jahren nicht so schnell zugenommen wie die Bandbreiten der Netze, die Volumen der Speichergeräte oder die Rechenleistung der Mainstream-Prozessoren.
Das einzige, was zugenommen hat, sind die Ansprüche der Nutzer, mit welchen noch so abstrusen Anwendungen Daten in mannigfaltigen Formaten an noch so abgelegenen Orten der Welt erfasst, gespeichert, geändert oder ausgegeben werden sollen.
Der erste, dritte und vierte Punkt (Erfassung, Änderung und Ausgabe) stellt kein Problem dar, da der jeweilige Vorgang am Client - also einem Terminal, einem Tischrechner oder im schlimmsten Falle einem mobilen System - stattfindet und lediglich dessen Kapazitäten und die Netzwerkverbindung belastet.
Die Speicherung der Ergebnisse allerdings wird spätestens dann zur Herausforderung , wenn die Daten dezentral erfasst, allerdings zentral gespeichert, gesichert und archiviert werden sollen.
Zwischen diesen dreien besteht durchaus ein Unterschied, auch wenn dieser heute nicht mehr beachtet wird. Und genau an diesem Punkt streiten sich nun die Hersteller von SSD- und Flash-Arrays, wessen Lösung die beste, leistungsfähigste und preiswerteste ist.
Marketing lässt Nutzeranliegen außer Acht
Dieser Wettbewerb zwischen den Marketing- und PR-Abteilungen geht allerdings in den meisten Fällen an den Bedürfnissen der EDV in der richtigen Welt vorbei: Was nützen einem RZ-Leiter bunte Torten- und Säulendiagramme und blumige Analystenkommentare, wenn er mit dem angepriesenen System nicht das erreichen kann, was er nach Vorgabe seiner Geschäftsführung zu erreichen hat?
Es geht eben nicht nur darum, was das reine Gigabyte an Kapazität kostet, was das System an Energie aufnimmt oder an Wärme abgibt. Es geht nicht nur darum, ob der Speicherplatz durch Deduplikation oder Kompression vorgeblich besser ausgenutzt wird oder mit wie vielen Repliken sich der Hauptspeicher zupflastern lässt.
Nein, in den heutigen Produktionsumgebungen geht es vor allem darum, wie viele Dinge man zusätzlich tun kann, weil die verwendeten Systeme leistungsfähig genug sind, genügend Kapazitäten zur Verfügung stellen und vor allem unterbrechungsfrei durchlaufen.
Die Frage in den meisten Umgebungen ist nicht mehr, was der Speicherplatz kostet, sondern was ich mit besseren und schnelleren Systemen verdienen kann. Und natürlich, was der Ausfall der Systeme kosten würde. Vor diesem Hintergrund betrachten wir hier die beiden Architekturen.
SSD-Arrays
Im Jahr 2008 versuchte EMC als erster Hersteller, seine Symmetrix-Arrays mit Solid-State-Laufwerken (SSD) nachzurüsten und die Lebensdauer der Architektur mit deren Hilfe noch einmal um einige Jahre zu verlängern. Alle großen Hersteller gingen denselben Weg, und heute gibt es kein Enterprise- oder Midrange-System mehr, in dem nicht auch oder sogar ausschließlich SSDs angeboten würden.
Allerdings führen diese 10-12mal schnelleren Laufwerke die Architekturen noch schneller an ihre Grenzen als die übergroßen Festplatten aus dem Nearline-Bereich. Hier ist es nicht die schiere Masse an Daten, über die mittels herkömmlicher Schnittstellen mit ihren höchstens 6 Gbit pro Sekunde zugegriffen werden muss, sondern die theoretisch möglichen Operationen jedes einzelnen Mediums.
Knackpunkte
Alle Enterprise- und Midrange-Arrays, die heute am Markt verfügbar sind, entstammen in ihren Ursprüngen aus einer Zeit, in der niemand über den Einsatz von SSDs auch nur nachgedacht hat. Und so kämpfen die Hersteller nicht nur mit den mangelhaften Durchsätzen ihrer Backends, sondern ebenso mit dem Problem, dass die Laufwerke ebenso schnell oder sogar schneller sind als der zwischengeschaltete Cache.
Zwar lassen sich allzu heiße Stellen im Backend durch den Ersatz einiger Festplatten-RAID-Gruppen durch SSDs abkühlen und so die gesamte Maschine deutlich entlasten. Zwar besteht dadurch eine gute Chance, ein Array für gewisse Zeit sogar wesentlich schneller zu machen als nur mit herkömmlichen Laufwerken. Aber zu welchem Preis?
Erstens schlagen die SSDs mit einem Preis-pro-Kapazität-Faktor von mindestens drei gegenüber Standardplatten zu Buche. Zweitens sind die Schnittstellen wie SATA oder SAS überhaupt nicht für die Bewältigung der zehntausenden von I/Os ausgelegt, die moderne SSDs zu leisten in der Lage sind. Und drittens wird die theoretisch erreichbare Leistung der neuen Komponenten durch verwaltungstechnischen Overhead wie zum Beispiel Deduplizierung teilweise oder sogar gänzlich zunichte gemacht.
Multi-Tiering soll´s richten
Hier versuchen die Hersteller nun, mit automatisierten Multi-Tiering-Lösungen gegenzusteuern. Die Arrays analysieren ständig die Zugriffe auf die gespeicherten Daten und verschieben diejenigen mit den meisten Zugriffen auf die schnellsten Laufwerke, sprich auf die SSDs.
Die Idee dahinter ist nicht schlecht, allerdings überfrachtet eine solche Technik im schlimmsten Falle eine überalterte Architektur mit ihren wenigen Prozessorkernen so sehr, dass zusätzliche CPUs, mehr Cache und breitere interne Kanäle eingesetzt werden müssen. Außerdem liegt auf der Hand, dass der ständige Backend-Datenverkehr nicht gerade zu einer Steigerung der Gesamtleistung des Systems beiträgt.
Versprechen der Newcomer
Viele kleinere Hersteller von dedizierten SSD-Arrays sind angetreten, all diese Probleme zu eliminieren, die der SSD-Betrieb in herkömmlichen Architekturen mit sich bringt. Diese Anbieter propagieren stets, dass ihre Systeme aufgrund einer völlig neuen Herangehensweise für den Betrieb der Festspeichermedien optimiert seien.
Meist beschränkt sich diese Optimierung allerdings auf das Weglassen des nun nicht mehr notwendigen Caches, die Einführung mehr oder weniger unnötiger Ballast-Features wie Deduplikation und die Verbesserung der Schreibvorgänge nach den Bedürfnissen des verwendeten Speichermediums.
Aber: durch die Deduplikation beispielsweise wird die Nutzung der ohnehin preiswertesten Komponente des Systems durch einen unnötig hohen Aufwand verbessert. Außerdem müssen im Hintergrund Algorithmen laufen, die Prozessoren, Speicher und beim Wiederauslesen auch die Back- und Frontendkanäle höher belasten.
Tarnmanöver bemänteln die Nachteile
Durch die Verwendung dieser Technologie wollen die Hersteller von SSD-Arrays über das Problem hinwegtäuschen, dass in ein System meist nicht mehr als 25 2,5-Zoll-Medien mit höchstens einem Terabyte Speicherplatz passen. Netto nach Abzug der für den RAID-Schutz benötigten Kapazitäten bleiben hier höchstens 15-18 TByte netto übrig.
Weitere Einschränkungen erfahren SSD-Arrays durch die Tatsache, dass sie entgegen aller Versprechungen der Hersteller eben doch lediglich SAS- oder SATA-Systeme sind, in denen zufällig nur SSDs verbaut sind.
Hieraus ergibt sich, dass die auf den Medien gespeicherten Daten ausschließlich über herkömmliche Verfahren, also RAID-5, RAID-6 oder Unterarten zu schützen sind. Datenkorruption, versagende Zellen und Verschleiß können nur über die üblichen Kanal-Kommandos oder die TRIM-Funktionalitäten der Laufwerke festgestellt und daher nur sehr eingeschränkt vom System überwacht werden.
Beim Ausfall eines Mediums muss der Standard-Wiederherstellungsprozess angestoßen werden, der Daten schon seit dreißig Jahren rettet.
Und bei dieser Wiederherstellung zeigt sich die größte Einschränkung der SSD-Arrays: die Verwendung der Standard-Festplattenschnittstellen mit höchstens 6 Gbit pro Sekunde Durchsatz. Das heißt für den Betrieb schlichtweg, dass jedes Medium höchstens 750 MByte pro Sekunde abzüglich Protokolloverhead transportieren kann. In jedem Fall befindet sich hier ein Flaschenhals, der auch die Wiederaufnahme des Normalbetriebes nach Ausfall einer SSD unnötig hinauszögert.
Fazit und Zukunft
Im Wesentlichen gelten für Standard-Arrays mit SSDs dieselben Kriterien und damit dieselben Prognosen wie für reine Plattenlösungen. Der Einsatz von SSDs war gerechtfertigt, um bestehende Architekturen im Enterprise- und Midrange-Bereich für einige wenige Jahre weiter vernünftig nutzbar zu machen.
Allerdings treiben die Festkörperspeicher diese Systeme noch schneller an ihre Leistungsgrenzen, so dass auch und gerade bei Einsatz zusätzlicher Eigenschaften wie Deduplikation das Ende der sinnvollen Nutzung noch schneller ansteht.
Viele der Anwender, denen diese Arrays heute noch gute Dienste leisten, werden sich für ihre Produktionslösungen wegen der immer weiter zunehmenden Last durch Datenbank- und Analysewerkzeuge innerhalb kurzer Zeit in Richtung All-Flash bewegen. Da sich SSDs für den Einsatz als Backup- oder gar Archivziel auch in den kommenden Jahren allein preislich und kapazitiv nicht eignen werden, wird den SSD-Systemen heutiger Prägung kaum eine lange Verweildauer auf dem Markt beschert sein.
All-Flash-Systeme
2013 war das große Jahr der Einführung von All-Flash-Systemen. Zur Definition sei hier gesagt, dass ein All-Flash-System eben kein SATA- oder SAS-Array ist, in dem zufällig nur SSDs verbaut sind. Dies sind und bleiben Hybrid-Lösungen, denen eben nur die konventionellen Festplatten fehlen, und kranken wie bereits beschrieben nicht nur an den unzureichend leistungsfähigen Plattenkanälen.
Nein, All-Flash-Arrays binden ihre Medien über wesentlich leistungsfähigere Wege an, nämlich beispielsweise über PCIe, also mit bis zu 32 GByte pro Sekunde.
Zum Vergleich: SAS mit 12 Gbit bewegt brutto gerade einmal 1,5 GByte pro Sekunde, also über 20 mal weniger, 6 Gbit entsprechend sogar über 40 mal weniger. Die meisten "echten" All-Flash-Lösungen verzichten auf Cache außerhalb des eigentlichen Mediums und bieten damit Zugriffszeiten von unter 100 Mikrosekunden.
Wiederum zum Vergleich: Standard-SSD-Arrays können lediglich Zugriffszeiten von 500 Mikrosekunden erreichen.
Zwar bieten die aktuellen Angebote kaum interne Fähigkeiten wie Replikation, Fernspiegelung oder Deduplikation, sind dadurch auf der anderen Seite aber kompromisslos schnell. In Kombination mit einer Virtualisierungslösung - idealerweise mit integrierter, Array-übergreifender Multi-Tiering-Funktion - und einem separaten Standard-Platten- oder Hybridsystem für Massendaten stellen diese Geräte die heute schnellste und effiziente Speicherlösung dar.
Veränderte Kostenrechnung
Allerdings muss der Anwender bei der Kostenfrage einen Perspektivwechsel durchführen. Nicht mehr die Kosten pro Kapazität sind ausschlaggebend für den Gebrauchsnutzen dieser Systeme, sondern die Kosten pro I/O. Und diese sind bei Leistungen von 600.000 und mehr I/Os in kleinen Systemen mit kaum 50 TByte Kapazität zigfach niedriger als in herkömmlichen Architekturen.
Im Vergleich zu SSD-Arrays bieten die Systeme mit PCIe-Anbindung wesentlich bessere Möglichkeiten des Datenschutzes und der Wiederherstellung: Neben den Standard-RAID-Verfahren können die Medien in mehreren Dimensionen intern überwacht werden, so dass sich Fehler und Unregelmäßigkeiten schneller und effizienter finden lassen als mit den herkömmlichen Kanalbefehlen. Dass die Wiederherstellung eines ausgefallenen Mediums mit 20- bis 40-facher Geschwindigkeit wesentlich eher den normalen Alltagsbetrieb ermöglicht, muss hier nicht erwähnt werden.
Fazit und Zukunft
All-Flash-Systeme ohne den Hemmschuh langsamer Festplattenkanäle sind derzeit der einzige Weg, Höchstleistungsspeicher mit optimal vielen I/Os zu vergleichsweise geringen Anschaffungs- und Betriebskosten zu bekommen. Infrastrukturen bestehend aus reinen Flash- und reinen Plattensystemen mit übergeordneten Virtualisierungs- und Multi-Tiering-Appliances werden in den kommenden Jahren Standard und die Rechenzentren nachhaltig erobern. Wer heute neue Anschaffungen für den Online-Speicher plant, kommt um dieses Konzept nicht herum und wird bis auf weiteres auch kein besseres finden.
Sonderwege und Nischenprodukte
Wie bei allen anderen technischen Herausforderungen auch, so bringt das Bedürfnis nach schnellstem Speicher zum günstigsten Preis auch mehr oder weniger brauchbare Speziallösungen hervor. Es handelt sich hier im Flash-Bereich vor allem um die Nutzung von PCI-Steckkarten direkt im Server oder aber um die Kannibalisierung des rechnereigenen Hauptspeichers, vor allem im Datenbankbereich.
Beide Ansätze bringen zwar den heute schnellsten Massenspeicher hervor, haben allerdings neben dem horrend schlechten Preis-Leistungs-Verhältnis einige weitere fatale Nachteile.
So lassen sich die Kapazitäten auf PCI-Steckkarten kaum oder nur mit einem erheblichen programmiertechnischen Aufwand logisch oder physikalisch gegen Ausfall und Datenverlust schützen. Der Ansatz einiger Hersteller, diese ins Multi-Tiering einzubinden und die schreibenden Operationen sowohl auf die interne Speicherkarte als auch auf ein extern angeschlossenes Speichersystem durchzuführen, sind kontraproduktiv und berauben die Architektur in diesem Bereich jeglicher Vorteile. Alle Betriebssysteme müssen für den Einsatz solcher Karten mit zusätzlichen Treibern versehen werden, die im Nachgang das Gesamtsystem anfälliger und die Wartung über Jahre komplexer gestalten.
Die Nutzung von Teilen des Hauptspeichers für Massenspeicheraufgaben ist weder neu noch elegant. Erstens wird die teuerste Komponente heutiger Server hierzu geschmälert, und zweitens ist der logische oder physikalische Datenschutz hier noch weniger möglich als bei PCI-Steckkarten. Der Vorteil der Beschleunigung vor allem von Datenbank- und Analysevorgängen wird durch die wesentlich höheren Anfangsinvestitionen mehr als aufgefressen.
Es gibt noch weitere Ansätze, schnelle Speichermedien vor allem in bestehende Enterprise-Architekturen zu integrieren. Manche Hersteller betreiben beispielsweise Experimente mit separater Flash-Anbindung über Infiniband oder andere Hochleistungskanäle an die bestehenden Controller. Allerdings handelt es sich hier durchgehend um Notlösungen, die die Lebens- und Nutzungsdauer bestehender Architekturen künstlich verlängern, ohne einen gesteigerten Gebrauchsnutzen zu erzeugen. (rb)