SSD-Karten mit PCIe

Einsatzszenarien von Flash-Speicher im Server

16.02.2015 von Christian Groll
Flash-Speicher im Server beschleunigt die Applikationen deutlich. Doch wie sieht die Integration in Hochverfügbarkeitsszenarien und das Zusammenspiel mit dem SAN aus? Lesen Sie, was es beim Einsatz von PCIe-Flash-Karten im Server zu beachten gilt.

Den mit Abstand größten Markt für PCIe-basierte Flash-Technologie stellten in den letzten Jahren große Web2.0 Unternehmen beziehungsweise Hyperscale-Rechenzentren wie Facebook, Google oder Amazon dar. Diesen Unternehmen geht es in erster Linie um Latenzzeit außerhalb klassischer Hochverfügbarkeitsszenarien - beispielsweise im Bereich Caching von Web-Content.

Mit Ausnahme dieser Special-Purpose-Designs fand "Server-Side-Flash" (Flash-Speicher im Server integriert) bei Unternehmen bislang nur sporadisch Anwendung, etwa als Read-Cache-Device. Als entscheidende Inhibitoren wurden insbesondere die schwierige Integration in Hochverfügbarkeitsszenarien genannt, sowie der Nachteil des "Local- vs. Shared-Storage". Eine neue Generation von Software- und Virtualisierungslösungen, angeboten von einigen Flash-Herstellern oder als funktionale Erweiterung der Server-Virtualisierung, adressiert nun genau diese Situation. Damit soll das Zusammenspiel von Flash-Speicher im Server und konventionellem HDD-basiertem Shared Storage optimiert werden.

Warum findet Flash zunehmend Verwendung im Rechenzentrum?

In den vergangenen zehn Jahren wurde die Leistungsfähigkeit der meisten Komponenten im Rechenzentrum drastisch verbessert. Die Prozessorleistung hat sich um den Faktor 10 bis 100 erhöht, die Geschwindigkeit der Systembusse wurde um den Faktor 20 gesteigert; der Netzwerkdurchsatz verhundertfacht. Zudem verdoppelt sich die Menge der Daten alle zwei Jahre - die Anforderung ist, immer größere Datenmengen in kurzer Zeit zu verarbeiten.

Die Performance-Steigerung der Festplatte sieht mit 20 Prozent innerhalb der letzten zehn Jahre allerdings äußerst bescheiden aus und entwickelt sich immer mehr zum Flaschenhals. Mit Antwortzeiten im Millisekundenbereich ist die Festplatte um den Faktor 100.000 langsamer als DRAM, dessen Antwortzeit im zweistelligen Nanosekundenbereich liegt.

Die immer größer werdende Performance-Lücke zwischen Festplatten und Server kann nur durch halbleiterbasierte Speichertechnologie überbrückt werden. Die Antwortzeit von NAND-Flash liegt im zweistelligen Mikrosekundenbereich, also genau zwischen DRAM und Festplatte, daher ist Flash derzeit die einzige in diesem Kontext relevante Technologie. Die beschriebene Entwicklung hat die Nachfrage nach Flash angekurbelt. Durch die höhere Produktionsmenge sind die Preise gesunken. Dadurch ist die Nachfrage weiter angestiegen. Inzwischen findet sich NAND-Flash in unterschiedlichen Technologieansätzen im Rechenzentrum und ergänzt konventionelle HDD-basierte Technologie in performance-kritischen Bereichen.

Flash Technologie für Geschäfts-Applikationen -
Automatische Datenverteilung.
Marktpositionierung von Flash-Speicher.
Definition der Tiering-Architektur.
Die Hybrid-Storage-Lösung im Detail.
Fluid-Cache_lösung für SAN.
Performance im Überblick.
Dynamisches Tiering.
Client- und Storage-Netzwerk.

Drei Flash-basierende Technologieansätze

Die drei meist verbreiteten Technologieansätze für Flash-Storage sind SSDs, All-Flash-Arrays und PCIe-Flashkarten. Es gibt noch weitere Ansätze wie Flash auf dem DIMM-Socket oder auf dem HBA, diese trifft man im Markt aber derzeit kaum an.

SSDs (SATA) sind ein vergleichsweise preigünstiger Ansatz, leicht zu integrieren und werfen auch hinsichtlich des Themas Support üblicherweise keine Fragen auf, nutzen aber das Performance-Potential der Flash-Technologie nicht effektiv. All-Flash-Arrays haben zweifellos Ihre Daseinsberechtigung, stellen aber noch immer eine erhebliche Investition dar und sind vor diesem Hintergrund nicht für jede performance-kritische Kundenumgebung eine ernstzunehmende Option.

PCIe-Karten zeichnen sich im Vergleich zu SSDs durch eine extrem geringe Latenz und eine hohe Performance im Hinblick auf Datendurchsatz und IOPS aus. PCIe-Karten sind SSDs im Hinblick auf den I/O-Preis überlegen. Wir werden nachfolgend einen genaueren Blick auf die PCIe-basierte Flash-Karte werfen.

Fokus auf die PCIe-Karte, wie setzt man sie in der Praxis ein?

Die PCIe-Karte sitzt unmittelbar an der CPU und umgeht den gesamten Storage-Protokoll-Stack, wodurch sich sehr geringe Antwortzeiten ergeben. Die Tatsache, dass es sich bei PCIe-Karten um "Local Storage" handelt, der sich auch nicht ohne weiteres in gängige Hochverfügbarkeitskonzepte integrieren ließ, hat den Einsatz der PCIe-Flash-Karten in der Vergangenheit limitiert. Angestoßen durch neue Software-Technologien befindet sich der Markt jedoch derzeit im Umbruch. Es gibt prinzipiell zwei Arten PCIe-Flash einzusetzen: Die Verlagerung von Teilen der Applikation oder die Verlagerung ganzer Applikationen auf die Flash-Karte.

1. Szenario: Teile der Applikation werden auf die Flash-Karte verlagert

Hier geht es darum, diejenigen Teile der Applikation oder der Daten auf den Flash-Layer zu verlagern, die einen besonders großen Einfluss auf die Gesamt-Performance haben. Bei der Verlagerung von Teilen der Applikation auf Server-Side-Flash lässt sich zwischen einem statischen und einem dynamischen Ansatz unterscheiden.

Beim statischen Ansatz werden Teile der Applikation oder der Daten auf der Flash-Karte gespeichert und nicht im zumeist HDD-basierten Backend. Im Falle einer SQL-Datenbank könnte dies die tempDB sein, bei Oracle Datenbanken beispielsweise die Redo Logs. Es gibt hier keinen standardisierten Ansatz, die Entscheidung muss abhängig von der verwendeten Datenbank/Applikation und der individuellen Implementierung erfolgen.

Beim dynamischen Ansatz wird eine Intelligenz benötigt, die dynamisch entscheidet, welche Daten zu welchem Zeitpunkt sinnvollerweise auf dem Flash-Tier liegen sollten, also eine Caching- oder Autotiering-Engine. Entsprechende Features finden sich als Bestandteil von Betriebssystemen (beispielsweise RedHat Cache FS), als Feature der Speichervirtualisierung (zum Beispiel DataCore Autotiering), der Servervirtualisierung (wie VMware vSAN), als Funktionalität von Datenbanken (etwa Oracle Smart Flash Cache) oder als Software des Flash-Herstellers selbst (OCZ ZD-XL und WXL).

Dem statischen und dynamischen Ansatz gemein ist, dass hier mit geringem Aufwand beziehungsweise dem Einsatz geringer Flash-Kapazitäten und entsprechend niedrigen Kosten die Applikations-Performance bereits deutlich gesteigert werden kann. Einigen Aspekten sollte man hierbei jedoch ein besonderes Augenmerk widmen. So ist der Einfluss zum Beispiel die Performance von Caching stark abhängig vom Applikations- beziehungsweise I/O-Profil. Zudem kann es erforderlich sein, das Thema Hochverfügbarkeit in die Planungen einzubeziehen. Sollte die PCIe-Karte als Read/Write-Cache fungieren oder Daten darauf abgelegt werden, ist die Flash-Karte gegen Ausfall/Datenverlust zu sichern. Hierzu mehr im nächsten Abschnitt.

2. Szenario: Verlagerung der gesamten Applikation auf Flash

Die Verlagerung ganzer Applikationen auf Server-Side-Flash hat einen konkreten Vorteil: Es ist teilweise mit erheblichen Performance-Steigerungen zu rechnen.

Die potentiellen Nachteile liegen allerdings ebenfalls auf der Hand; da wären zunächst die anfallenden Kosten zu nennen. Bei einigen hundert Gigabyte ist dieser Punkt für die meisten Anwender vermutlich weniger relevant. Wenn jedoch viele Terrabyte benötigt werden, kann sich der Unterschied im Preis/Gigabyte bei der Anschaffung bereits erheblich auswirken. Ein weiterer potentieller Spielverderber ist das Thema Hochverfügbarkeit. Wer eine wichtige Business-Applikation auf Flash verlagert, erwartet ein zuverlässiges Konzept zur Disaster-Vermeidung.

Auf der Karte: Bei der Verlagerung ganzer Applikationen auf den Flash-Layer steht der Performance-Vorteil einem hohen Anschaffungspreis und bisher fehlenden Hochverfügbarkeitskonzepten gegenüber.
Foto: OCZ

An diesem Punkt sind entsprechende Einsatzszenarien in der Vergangenheit häufig gescheitert; es fehlte schlichtweg an Technologien, um "Server-Side-Flash" mit überschaubarem Aufwand und zu vertretbaren Kosten in effektive Hochverfügbarkeitskonzepte zu integrieren. Hier hat sich zuletzt allerdings einiges bewegt: VMware legt mit vSAN eine Technologie vor, mit der lokaler Speicher über mehrere Server repliziert und abgesichert wird. Auch Hersteller von Flash-Lösungen verfügen inzwischen selbst über ähnliche Ansätze.

Durch die Software (Software-defined) wird so aus lokalen Volumes hochverfügbarer "Shared Storage". Vor dem Hintergrund dieser neuen Möglichkeiten, ist nun die Verlagerung ganzer (Performance-kritischer) Applikationen aus dem SAN auf den Server ohne Einbußen in Bezug auf Datensicherheit und Applikationsverfügbarkeit möglich.

Fazit

Flash-Speicher im Server ist auf dem besten Weg, sich von der hochpreisigen Speziallösung für Web 2.0- und Hyperscale-Rechenzentren zu einem vollwertigen Storage-Tier für Organisationen sämtlicher Größen zu entwickeln. "Software-defined" können nun Flash-Volumes zwischen Servern synchron gespiegelt werden. Bei Ausfall einer Komponente erfolgt ein transparenter Failover. Zudem können weitere Server im Netz auf das Flash-Volume zugreifen. Hinzu kommen einige Aspekte in der TCO-Betrachtung, die für "Server-Side-Flash" sprechen:

Der anhaltende Sinkflug der Flash-Preise trägt ebenfalls dazu bei, dass breite Anwenderschichten Flash zunehmend als Storage-Tier in ihre Konzepte einbeziehen. Es ist zu erwarten, dass sich diese Entwicklung fortsetzt und in den kommenden Jahren der Anteil von Flash im Rechenzentrum rapide anwachsen wird.

Die Festplatte ist zwar noch lange nicht tot, aber sie wird ihren Weg in Richtung günstiger Massenspeicher unaufhaltsam weitergehen und dabei die Verantwortung für Daten und Applikationen mit hohem Performance-Anspruch zunehmend an die Flash-Technologie verlieren. (cvi)