Vom RAM-Baustein zum All-Flash-Array
Mit zunehmender Verbreitung von Datenbankanwendungen und insbesondere der Server-Virtualisierung kam Decoupled Storage auf, das den Datenstrom in zwei bis drei Speicherkategorien aufteilt: Der Performance-Tier enthält „heiße“, hochperformante Daten, wie sie vor allem in Netzen mit großen Datenbanken und/oder in Virtual-Desktop-Umgebungen vorkommen. Der Kapazitäts-Tier speichert die „kalten“ Daten. Er hat eine deutlich größere Kapazität bei niedrigen Zugriffsraten. In der Regel sind etwa 80 % der Daten diese zeitlich unkritischen Daten. Es ist sinnvoll, diese auch weiterhin auf herkömmlichen Medien abzuspeichern. Der dritte Tier umfasst die langfristige Archivierung der Daten.
Schnelle Operations, geringe Latenzzeiten
Der Performance-Tier entspricht in etwa dem Arbeitsspeicher. Hier werden alle Datenzugriffe auf Anwendungen unmittelbar zwischengespeichert. Herausfordernd sind Situationen, in denen viele Anwender gleichzeitig auf einen Server zugreifen, etwa beim morgendlichen Einloggen. Für solche Fälle sind die schnellen Flash-Speicherbausteine prädestiniert.
Die Hersteller von neueren Flash-SSDs erreichen für ihre Komponenten IOPS-Werte (Input/Output Operations Per Second), die bis zu mehreren Zehnerpotenzen über denen von Festplatten liegen können – mit entsprechend niedrigen Latenzzeiten. Allerdings ist die Speicherkapazität begrenzt, bei RAM-Bausteinen sind es derzeit 10 TByte. Appliances, wie sie zum Beispiel Atlantis anbietet, erreichen 25 TByte. Außerdem haben Flash-Komponenten eine geringere Lebensdauer als Festplatten und sind erheblich teurer, auch wenn sich das mit zunehmender Verbreitung verbessern wird.
Schwarz auf Weiß
Dieser Beitrag erschien zuerst in unserer Magazinreihe. Einen Überblick mit Download-Links zu sämtlichen Einzelheften bekommen Sie online im Pressezentrum des MittelstandsWiki.
Aufgrund der hohen Kosten setzen viele Netzbetreiber auf hybride Decoupled-Storage-Lösungen. Bei einem SAN entscheidet oft noch ein Storage-Controller, welche Daten über den Performance-Tier gespeichert werden und welche im SAN. Doch allein der mit der Einbindung in das SAN verbundene Protokoll-Overhead kostet Zeit. Zudem sitzt der SAN-Controller bei den Speicherkomponenten und nicht in Servernähe. Auch das kostet Zeit. Insgesamt sind hier Latenzzeiten von 1 bis 2 ms üblich. Aus diesem Grund haben sich in virtuellen Server-Umgebungen Lösungen durchgesetzt, die den Flash-Speicher möglichst nahe an den Server-CPUs platzieren und das Speicher-Controlling auf dem Hypervisor aufsetzen. Ein zusätzlicher SAN-Controller ist damit unnötig.
3D XPoint und NAND in CPU-Nähe
Damit beim Speichern der Daten keine Zeit verloren geht, sollten Performance-Daten möglichst unmittelbar im Server gespeichert werden. Es gibt Lösungen, bei denen der Flash über PCIe oder RAM-DIMM-Slots direkt an die Server-CPU angebunden ist. Auf diese Weise sind Latenzzeiten von 60 µs erreichbar.
Und EMC² zum Beispiel kaufte 2014 das Start-up-Unternehmen DSSD, das Techniken entwickelt, mit denen sich Flash-RAM-Bausteine für High-Perfomance-Computing bündeln lassen, um die Speicherkapazität zu erweitern. Die Daten werden parallel und als Objekte aufgezeichnet, sodass man noch schnellere IOPS-Werte erzielt und Datenverluste vermeiden kann.
2016 will Intel mit Micron die 3D-XPoint-Entwicklung auf den Markt bringen. Diese nichtflüchtige Speichertechnik basiert auf unterschiedlichen Widerständen und nicht auf Spannungsunterschieden wie NAND. Die Daten werden in mehreren Ebenen abgespeichert. Der Flash-Speicher soll tausendmal schneller sein als die heute für Speicherkarten und Solid State Drives verwendete NAND-Technik. Außerdem soll sie langlebiger sein und eine bis zu zehnmal höhere Dichte aufweisen. Die ersten 3D-Xpoint-Speicher werden laut Ankündigung vom Sommer 2015 eine Kapazität von 128 GByte pro Die haben. 3D-NAND-Chips des gleichen Herstellerduos erreichen maximal 48 GByte pro Die. Intels Datacenter-Chefin Diane Bryant versprach auf dem Intel Developer Forum im Sommer 2015, dass 3D-XPoint-Flash-Technik zudem nur halb so viel kosten werde wie DDR4.
Einbindung in den Hypervisor
Bei virtuellen Server-Umgebungen sind hochperformante I/O-Prozesse keine Seltenheit. Deshalb bieten sich hier möglichst CPU-nahe Flash-Speicher an. Und wenn der Controller auf dem Hypervisor aufsetzt, kann er Anwendungsdaten aus dem Hypervisor für Analysen heranziehen und noch schneller und eindeutiger festlegen, ob Prozesse in den Performance- oder den Kapazitäts-Tier gehören. Um Datenverluste durch Komponentenfehler zu vermeiden, werden die Daten einer Virtual Machine wie bei RAID-Systemen parallel auf mehrere Server im Hypervisor-Cluster abgespeichert.
Der Administrator arbeitet laut Angaben der Hersteller in einer auf den Hypervisor angepassten Oberfläche und hat wenig Konfigurationsaufwand. Jedem Server ist ein Flash zugeordnet, der mit der Serverzahl linear mitwachsen kann. Die Speicherkapazitäten werden im Pool über die virtuelle Oberfläche verwaltet, sodass das System die volle Kapazität der angeschlossenen Speicherlösungen ausnutzen kann.
Lösungen auf dem Markt
Es gibt mittlerweile eine Reihe von Lösungen auf dem Markt: Die Speichersoftware FVP 3.0 von PernixData ist eine der bekanntesten; sie unterstützt vSphere 6. FVP ist auf VMware-Umgebungen zugeschnitten und kann nach PernixData-Angaben ohne Einschränkung mit allen VMware-Funktionen zusammen genutzt werden. Der Hersteller bietet auch eine freie Version seiner Software an.
Die Software USX von Atlantis hat Deduplizierung und Kompression der Daten integriert und lässt sich laut Hersteller in vSphere 6 und den Citrix XenServer einbinden. Der Hersteller hat auch All-Flash-Arrays als Appliance im Programm. Die 19-Zoll-Einschübe können in zentralen Switchen CPU-nah das komplette Storage übernehmen.
EMC² bietet verschiedene Software- und Appliances auf Flash-Basis an, für Flash-Server-, Hybrid-Array- und All-Flash-Array-Lösungen. Die Software läuft ebenfalls unter dem Hypervisor (VMware oder Citrix). Die Brick-basierte SAN-Lösung EMC XtremIO All-Flash Scale-out Array arbeitet mit 25 SSD-Drives pro Brick, wobei die Storage-Appliance bis zu 8 Bricks im Cluster verwalten kann. Ein Brick fasst je nach Ausführung zwischen 5 und 40 TByte. Die Lösung ist skalierbar auf bis zu 320 TByte.
Software und Storage schaukeln sich hoch
Die Lösung ist nicht billig, und die Lebensdauer erreicht mit NAND-Flash wahrscheinlich nicht die von Festplatten. Doch mit neuer Flash-Technik und sinkenden Preisen wird klar, wohin die Reise geht. Derzeit erscheint das noch sehr überdimensioniert: Welcher Server hat heute ein derart hohes performantes I/O-Datenaufkommen, dass ein Flash-Array erforderlich wäre? Aber mit der zunehmenden Etablierung von Flash-Speicher im Storage ändern sich auch die Anwendungen, weil Entwickler keine Rücksicht mehr nehmen müssen. Das wiederum hat Auswirkungen auf die gesamte Netzwerkstruktur, die dann in Sachen Performance mitziehen muss. In diesem Szenario sind Fibre Channel und Festplatten Auslaufmodelle.