SSD-Karten mit PCIe

Einsatzszenarien von Flash-Speicher im Server

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.
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.