Ratgeber: Die richtige Flash-Technologie auswählen und einsetzen

Flaschenhälse im Storage beseitigen Sie am besten mit Flash-Technologie. Ob Caching oder Tiering hängt davon ab, wo genau Flash eingesetzt wird.

Ihre Applikation sehnt sich womöglich nach Flash-Storage-Technologie. Allerdings müssen Sie entscheiden, an welcher Stelle Sie diese einsetzen, wie viel Sie davon benötigen und wie sie genau genutzt wird.

Flash-Storage hört sich möglicherweise nach einer einfachen Antwort auf Performance-Probleme bei Applikationen an. Wesentlich komplizierter ist hingegen, welches Flash-Produkt Sie kaufen sollten und an welcher Stelle Sie es genau einsetzen.

Die Entscheidung, welche Art an Solid-State Storage Sie erwerben und einsetzen, sowie die dafür benötigte Kapazität sollten weder auf theoretischen Szenarios noch anhand von Statistiken erfolgen. Führen Sie Analysen in Hinblick auf die derzeitige Umgebung durch. Das hilft bei der Definition der Probleme, die Sie mithilfe von Flash-Storage lösen möchten. Im Grunde genommen müssen Sie evaluieren, wo sich die Flaschenhälse befinden, wie die betroffenen Workloads aussehen und was Sie außer der Storage-Performance noch verbessern wollen. Ebenso müssen Sie realistische Einschränkungen in Betracht ziehen, die mögliche Optionen einschränken könnten.

Die Flash-Optionen sind nicht immer offensichtlich

Es wäre toll, wenn wir eine Matrix hätten, die Anwendungsfälle auf einer Achse zeigten und die optimalen Flash-Optionen auf der anderen. Das wäre dann genauso wie bei VDI (Virtual Desktop Infrastructure), Server-Virtualisierung, Big-Data-Analysen und so weiter. Allerdings ist dies fast unmöglich, da es zu viele Variablen gibt, die nichts mit dem jeweiligen Anwendungsfall zu tun haben. Allerdings stehen sie in Wechselbeziehungen zueinander.

Zum Beispiel bestimmt der Storage-Flaschenhals in der Regel, an welcher Stelle man die Flash-Technologie einsetzt. Das könnte zum Beispiel der Host oder das Storage-Array sein. Allerdings hat das weniger mit einem bestimmten Anwendungsfall zu tun, sondern ist von der momentan eingesetzten Storage-Infrastruktur abhängig. Wo die Technologie zum Einsatz kommt, beeinflusst wiederum, welche Art an Flash man benutzen sollte. Hier kommen unter anderem SSD (Solid-state Drive) oder Flash auf Mikrochip-Karten wie PCIe (PCI Express) in Frage. Weiterhin muss man sich entscheiden, ob die Technologie als Cache oder Storage-Tier zum Einsatz kommt. Die Art des eingesetzten Flash-Geräts hat wiederum Auswirkungen auf die notwendige Kapazität. Dabei verlangt Tiering natürlich mehr als Caching. Die Kosten und das verfügbare Budget limitieren möglicherweise die gewünschte Kapazität ebenfalls.

Die Frage nach der richtigen Flash-Storage-Technologie (Single-level Cell, Multi-level Cell) ist heutzutage nicht mehr so entscheidend, wie das noch vor einigen Jahren der Fall war. Sie finden weitere Informationen dazu in der Textbox „Die Debatte MLC gegen SLC: Ist das immer noch relevant?“. Für eine Entscheidung sind Faktoren wie Datenrisiko, Notwendigkeit nach Hochverfügbarkeit und schnelles Datenwachstum in allen Anwendungsfällen wesentlich wichtiger. Sie sollten sich aus diesem Grund weniger auf Anwendungsfälle und Datenblätter stützen, sondern die momentan im Einsatz befindliche Umgebung genau analysieren und die vorhandenen Probleme identifizieren. Dann können Sie sich besser für eine Flash-Storage-Technologie entscheiden.

Die Debatte MLC gegen SLC: Ist das immer noch relevant?

Als Flash auf den Markt kam, war eine wichtige Kaufentscheidung, welche Flash-Technologie man erwerben sollte. SLC (Single-level Cell) war am zuverlässigsten und am schnellsten. Allerdings war diese Technologie auch am kostspieligsten. MLC (Multi-level Cell) hatte eine kürzere Lebensdauer und eine schlechtere Performance. Auf das GByte gerechnet kostete diese Flash-Technologie allerdings wesentlich weniger. Irgendwo in der Mitte reite sich eMLC (Enterprise MLC) ein.

Die Technologie hat sich im Lauf der Zeit entwickelt. Das gilt im Speziellen für den Flash-Controller. Aus diesem Grund ist es heutzutage nicht mehr so wichtig, welche Flash-Technologie man nutzt.

Fehlerkorrektur und andere Prozesse für erhöhte Zuverlässigkeit wurden sehr stark verbessert. Aus diesem Grund lässt sich nun auch kostengünstigeres MLC-Flash erfolgreich in Enterprise-Storage-Produkten einsetzen. In einigen Designs setzt man auch SLC oder sogar DRAM als Schreib-Puffer ein, um die Auswirkungen auf MLC-Medien weiter zu reduzieren. Im Grunde genommen liegt die Entscheidung beim Hersteller, welche Flash-Technologie Sie einsetzen sollen. Die Anbieter bestimmen, welche Arten an Flash sie in Ihren Produkten verwenden.

Fangen Sie mit dem Storage-Flaschenhals an

Solid-state Storage wird am häufigsten eingesetzt, um die Performance-Probleme von Applikationen zu adressieren. Man beschleunigt in diesem Fall die Datentransaktionen mit den Servern, auf denen die eben erwähnten Applikationen laufen. Irgendwo muss sich ein Flaschenhals in der Storage-Infrastruktur befinden. Die Analyse, mit der Sie den Flaschenhals identifizieren, ist der Startpunkt für eine spätere Entscheidung für eine angemessene Lösung.

Damit Flash die richtige Lösung ist, weisen eine oder mehrere der nachfolgenden Ressourcen in der Regel geringere Auslastungsraten auf:

  • Die CPU des Hosts
  • Der Arbeitsspeicher des Hosts
  • Die CPU des Storage-Systems
  • Die Netzwerk-Bandbreite

Möchten Sie herausfinden, welche der Ressourcen überlastet sind, müssen Sie die Auslastungs-Raten über einen gewissen Zeitraum überwachen. Im Anschluss vergleichen Sie die Resultate mit der Performance der Applikationen. Sollte die CPU des Hosts am Anschlag sein, ist logischerweise nicht das Storage das Problem. In diesem Fall sollten sich Administratoren auf die Computing-Ressourcen oder die Applikations-Architektur konzentrieren. Ist die Auslastung der CPU im Host allerdings relativ gering, zum Beispiel unter 40 Prozent, aber die Applikation ist dennoch langsam, weist das auf einen Flaschenhals irgendwo in der Storage-Infrastruktur hin.

Array-basiertes Flash

„Langweilt“ sich ein Storage-Controller während dieser Zeitspanne, könnte das ein Indiz sein, dass das Storage-System auf die Festplatten wartet. Es handelt sich also um ein Latenz-Problem hinsichtlich der Storage-Medien. Aus diesem Grund könnte es helfen, wenn Sie dem Storage-Array SSD-Technologie spendieren. Wurde das Array aber nicht ausdrücklich für die Unterstützung von Flash entwickelt, ist das Hinzufügen von SSDs keine sehr effiziente Lösung. Ein Einschub voll mit SSDs könnte in diesem Fall bewirken, dass der Controller zum Flaschenhals wird.

Ähnlich dazu gilt auch, dass SSDs in einem Storage-System wenig Sinn ergeben, dessen Controller bereits nahe an der maximalen Belastbarkeit ist. Gehen wir davon aus, dass das Netzwerk nicht für den Flaschenhals verantwortlich ist. Dann ist es wahrscheinlich eine vernünftige Lösung, sich ein Storage-System anzuschaffen, das SSDs unterstützt. Hierbei könnte es sich um ein hybrides oder All-Flash Array handeln. Ist die Netzwerk-Bandbreite allerdings der limitierende Faktor oder kommt der Kauf eines weiteren Storage-Systems nicht in Frage, könnten Sie sich überlegen, Flash-Storage im Host-Server zu installieren.

Serverseitiges Flash

Flash im Host-Server kann bestehen aus SATA- oder SAS-SSDs, PCIe-Flash-Karten oder auch Flash, dass via DIMM (Dual Inline Memory Modules) eingebaut wird. Durch all diese Methoden bringen Sie die Flash-Performance für die Applikationen näher an die CPU als mit einem Netzwerk-verbundenen Array. Diese Lösung bietet die bestmögliche Storage-Performance, weil die Storage-Latenz reduziert wird. Im Laufe der Zeit hat sich gezeigt, dass SSDs unter diesen drei Formfaktoren am wirtschaftlichsten sind. Oftmals eigenen sich Solid-State Drives auch am besten, wenn beim jeweiligen Anwendungsfall die Kapazität im Mittelpunkt stehet. PCIe-Karten bieten bessere Performance als SSDs, kosten aber auf das Gigabyte umgerechnet normalerweise mehr. Der neue Form-Faktor „ Flash via DIMM“ ist eine weitere Option mit geringer Latenz, was wiederum einige neue Anwendungsfälle hervorbringen dürfte.

Die ersten Flash-Geräte in Form von DIMMs waren nicht logisch mit dem Speicher-Bus verbunden. Vielmehr hat man sie mit freien SATA-Steckplätzen auf dem Mainboard gekoppelt. Das hauptsächliche Verkaufsargument dieser Produkte war Platz. Viele kleine Blade-Server hatten nur wenige oder gar keine Einschubschächte für SATA-Datenträger, aber nicht benutzte Einsteckplätze für Arbeitsspeicher. In der jüngeren Vergangenheit haben Hersteller Flash-Module entwickelt, die logisch durch den Speicherbus verbunden sind. Gegenüber PCIe ist die Latenz hier noch geringer und man nutzt den Vorteil der freien DIMM-Steckplätze. Diese „Memory Channel“-Technologie steht immer noch am Anfang. Zusammen mit NVDIMM (Non-Volatile DIMM) eröffnen sich allerdings spannende neue Anwendungsmöglichkeiten für serverseitiges Flash.

Netzwerk-Traffic

Rüsten Sie den Server mit Solid-State Storage anstelle eines über das Netzwerk angeschlossenen Storage-Systems aus, hat das noch einen weiteren Vorteil. Sie reduzieren damit den SAN-Traffic. Kann eine Applikation die notwendigen Daten aus einem Flash-Cache oder Flash-Tier direkt vom Server beziehen, müssen diese Informationen nicht über das Netzwerk übertragen werden. Somit hat das gemeinsam genutzte Storage-Array möglicherweise weniger Arbeit. Dadurch werden wiederum Ressourcen frei, um andere Server zu unterstützen. Die Reduzierung von Netzwerk-Traffic macht serverseitiges Flash verglichen mit dem Kauf eines weiteren Storage-Systems zu einer sehr attraktiven Alternative.

Tiering oder kein Tiering?

Sobald Sie eine Entscheidung über den Einsatzort gefällt haben, sollten Sie sich Gedanken über die Flash-Implementierung machen. Es geht hier um das „Wie“ bei der Verwendung des Solid-State Storages. Sehen wir von All-Flash Arrays ab, fokussieren sich die Implementierungs-Methoden darauf, die relevantesten Daten in den Flash-Speicher zu bekommen, bevor diese gebraucht werden. Im Hintergrund wird dann sichergestellt, dass dieser Umstand auch so bleibt. Tiering schafft im Grunde genommen einen Hochgeschwindigkeits-Storage-Bereich für die wichtigsten Daten oder Untergruppen. Dazu gehören Datenbankindexe oder Changelogs. Anhand vordefinierter Policies wird der Flash-Speicher befüllt. Für Tiering brauchen Sie in der Regel mehr Kapazität als für Caching. Sollte das Budget oder der physische Platz knapp sein, ist diese Herangehensweise möglicherweise nicht angemessen. In solchen Fällen ist Caching, das Sie so oder so in jedem Anwendungsfall in Betracht ziehen sollten, wahrscheinlich die bessere Option.

Flash-Cache

Caching-Software ist bei Storage-Systemen oftmals als Funktion enthalten. Man setzt Sie als Methode ein, um die in einem herkömmlichen Storage-Array installierte Flash-Kapazität zu maximieren. Sofern verfügbar, ist das eine überzeugende Option. Für den Anwender ist es im Grunde genommen transparent und der notwendige Konfigurations-Aufwand ist minimal. Caching kann auch in Form einer PCIe-Karte vorhanden sein, die man im Host-Server installiert.

Eine Alternative ist eine Caching-Lösung, die als alleinstehende Software Einsatz findet. Damit beschleunigen Sie Applikationen auf einem speziellen Server. Diese Lösungen bringen eine gewisse Flexibilität mit sich. Sie können damit die Flash-Produkte eines jeden Anbieters verwenden. Weiterhin werden unterschiedliche Flash-Produktreihen unterstützt. Wie schon angesprochen, kann es sich hier um PCIe, SSD oder DIMM handeln. Einige unterstützen sogar den Zusammenschluss von Flash-Datenträgern. Somit können Sie neue SSDs transparent einer existierenden Infrastruktur hinzufügen.

Allerdings gibt es auch potenzielle Nachteile. Im Vergleich mit Tiering ist die Cache-Performance weniger gut vorhersehbar. Ist die Fluktuation der Daten sehr hoch, kann sich das negativ auf die Lebensdauer von Solid-State Storage auswirken. Schreib-Cache birgt außerdem ein gewisses Risiko. Wir gehen darauf genauer im Abschnitt „Wachstum, Risiko und Hochverfügbarkeit“ ein.

Caching-Lösungen lassen sich außerdem für Applikationen maßschneidern. Wir sprechen hier zum Beispiel von Server-Virtualisierung, VDI oder Datenbanken. In diesem Fall setzt man auf eine Wissensdatenbank von applikationsspezifischen Datentypen und -Prozessen, um die Performance des Caches zu verbessern. Ein wichtiger Faktor für eine Entscheidung kann die Menge des benötigten Caches sein. Diese variiert womöglich signifikant von einem Anwendungsfall zum anderen.

Wie viel Flash ist genug?

Beim Tiering brauchen Sie genug Flash-Speicher, um die gesamte Applikation abdecken zu können. Zumindest sollte es so viel sein, dass die wichtigsten Datensätze darauf liegen. Aus diesem Grund ist die benötigte Kapazität recht einfach zu ermitteln. Die Bewertung von Caching-Kapazität ist hingegen wesentlich schwieriger. Faustregeln geben einen guten Anhaltspunkt. Allerdings werden Sie nicht um Tests in realen Umgebungen herumkommen. Nur so finden Sie sicher heraus, wie viel Flash Sie benötigen. Weiterhin stellen Sie sicher, dass Sie nicht überdimensionieren und somit Ressourcen verschwenden. Ein Flash-Anbieter mit einer eigenen Caching-Software nennt ein interessantes Beispiel anhand eines Kunden aus der Telekommunikations-Branche. Das Unternehmen betreibt mehrere sehr große Data Center, in denen wiederum mehrere VMware-Cluster und hunderte an virtuellen Servern laufen. Selbst mit den gut definierten Umgebungen für die virtuellen Server testet die Firma kontinuierlich neue Caching-Implementierungen. Zunächst nimmt sie fünf Prozent des primären Datensatzes in den Cache auf, dann zehn und schlussendlich 20 Prozent. Hieraus können wir lernen, dass man mit einer guten Schätzung der Caching-Kapazität anfangen soll. Allerdings müssen Sie für den Sprung in die reale Welt mit Monitoring-Ergebnissen vorbereitet sein.

Wachstum, Risiko und Hochverfügbarkeit

Es gibt noch andere Details oder Einschränkungen, die nicht mit der Performance zusammenhängen. Diese sollten Sie ebenfalls in die Einsatzentscheidung von Flash einfließen lassen. Ganz offensichtlich beeinflusst die existierende Infrastruktur die Flaschenhälse, die wiederum die Notwendigkeit von Flash verursachen. Ein weiterer Faktor ist das Risiko. Einige Schreib-Caching-Mechanismen können für Daten riskant sein, die sich noch nicht im sicheren primären Storage-Bereich befinden. Bevor Sie eine entsprechende Caching-Lösung auswählen, sollten Sie die Optionen verstehen, wie Sie diese Risiken adressieren können. Dazu gehört zum Beispiel das so genannte „Write-around Caching“.

Benötigen Sie Hochverfügbarkeit (High Availability), müssen die Daten auf dem Flash möglicherweise gemeinsam genutzt werden. In diesem Fall sollten Sie sich die Anschaffung eines SAN-Attached-Arrays oder einer Flash-Caching-Appliance überlegen. Auch einige serverseitige Flash-Lösungen benutzen Virtualisierungs-Software, um Failover zu unterstützen oder ein gemeinsames Nutzen der lokalen Flash-Ressourcen zu ermöglichen.

Das erwartete Wachstum der Daten ist ebenfalls ein wichtiger Punkt und eine potenzielle Einschränkung für eine serverseitige Lösung. In solchen Situationen muss das System mit einer angemessenen Kapazität ausgestattet sein und einen Erweiterungsprozess unterstützen. Die Anforderungen für die Betriebszeit (Uptime) sollten davon nicht betroffen sein.

Dem Flaschenhals den Garaus machen

Entscheiden Sie sich, Flash-Technologie in einer IT-Umgebung einzusetzen, ist der Auslöser meist ein Performance-Flaschenhals beim Storage. Identifizieren Sie, wo sich der Flaschenhals befindet, können Sie die erste Frage beantworten: Wo genau soll Flash eingesetzt werden? Sobald Sie das herausgefunden haben, sind Faktoren wie Kosten, Kapazität und Risiko relevant. Ebenso ist wichtig, ob Sie Tiering oder Caching verwenden möchten. Allerdings stehen diese Faktoren oftmals in einer Wechselbeziehung und deswegen können Sie die Punkte meist nicht einzeln betrachten. Wollen Sie die Kapazität in Caching-Implementierungen bestimmen, sollten Sie immer Tests in einer realistischen Umgebung durchführen.

Über den Autor:

Eric Slack ist Leitender Analyst bei Storage Switzerland, einem IT-Marktforschungsunternehmen in Fort Worth, Texas, das sich auf Speicher- und Virtualisierungs-Lösungen spezialisiert hat. Er hat mehr als 20 Jahre Erfahrung in der High-Tech-Industrie.

 

Artikel wurde zuletzt im Juli 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Solid-State-Speicher

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close