Hauptsache schnell - Hybrid Storage Pools nutzen die jeweiligen Stärken von HDD, SSD und DRAM Hauptsache schnell - von Heiko Wüst, Sales Engineer Nexenta Systems

Wie balanciert man Kosten und Leistung beim Speicher mit verschiedenen Speichermedien optimal aus? 

  • 10 years ago Posted in

Das wichtigste dabei ist die Konzentration auf das ‘Working Size Set’, also die Daten, die tatsächlich genutzt werden.

In den letzten Jahren kristallisierte sich ein Problem moderner Speichersysteme mehr und mehr heraus: Normale Systeme konnten mit dem ungeheuren Bedarf moderner Applikationen nach immer mehr Leistung nicht Schritt halten. Die Leistungsschübe auf der Prozessorseite waren enorm, die Speicherseite ihrerseits stagnierte. Um diese Lücke zu schließen, mussten teure HDDs angeschafft werden um einen moderaten Schub an Leistung in Form von kürzerer Latenzzeit zu erreichen oder es musste mehr Kapazität eingekauft werden als eigentlich nötig war, um die Leistung zu erhöhen.


Eine Möglichkeit, dieses Problem zu lösen, besteht grundsätzlich darin, Flash-Speicher zu nutzen. Jedoch sprechen die hohen Kosten in der Praxis oft dagegen. Nun, da die Preise für Flash langsam fallen, integrieren immer mehr Hersteller von Speicherhardware Flash in ihre Produkte. Ein architektonisch viel sinnvollerer Ansatz, Flash zu nut-zen, liegt jedoch im Dateisystem. Dieses sollte verschiedene Speichermedien automatisch, effizient und intelligent nutzen – nicht zuletzt, um die hohen Investitionen in Flash-Speicher zu rechtfertigen.

Hybrid Storage Pools holen das Beste aus den Speicherressourcen heraus
Eine Technologie, die es schafft, Flash effizient zu nutzen ist der Hybrid Storage Pool (HSP) im Open Source Dateisystem ZFS. Dieser Pool integriert DRAM, SSDs und rotierende HDDs zu einem einzigen virtuellen beschleunigten Speichermedium. Der Hybrid Storage Pool ist ein Standard in ZFS-basierten Produkten, das man in vielen anderen Dateisystemen vergeblich sucht. Um maximale Effizienz und Performance zu erreichen, werden die Daten in einem Hybrid Storage Pool hierarchisch über drei unterschiedliche Pfeiler verteilt.

DRAM ist die erste Wahl
Die „beste Adresse“ für alle geschriebenen Daten in einem solchen Pool ist der schnelle Adaptive Replacement Cache (ARC), der sich im DRAM befindet. Dies ist die Quelle für das Lesen von Daten mit der geringsten Latenz. ZFS prüft bei einer Anfrage nach Daten zuerst, ob sich diese im ARC befinden. Sind diese dort, können sie innerhalb von Nanosekunden gelesen werden und erreichen somit sehr schnell die Anwendung, die die Daten benötigt. Welche Daten innerhalb des ARC vorgehalten werden, entscheidet ZFS automatisch nach den Kriterien ‘Most Recently Used’ (MRU) und ‘Most Frequently Used’ (MFU).

SSD ist zweite Anlaufstation
Der zweite Pfeiler ist das ‘Level 2 ARC’ (L2ARC), das aus SSDs besteht. Ohne L2ARC müssten alle Daten, die im ARC keinen Platz finden, von langsamen Festplatten gelesen werden. SSDs überbrücken den Geschwindigkeitsunterschied zwischen DRAM und HDDs, der mehrere Millisekunden beträgt. SSDs sind teurer als HDDs; es ist aber deutlich günstiger, hunderte Gigabyte Flashspeicher in Form von SSDs anzuschaffen, als die gleiche Menge in DRAM. Die I/Os auf SSDs sind zwar langsamer als bei DRAM, der Durchsatz ist jedoch bekanntermaßen deutlich höher als bei Festplatten. Der dritte Pfeiler des Hybrid Storage Pools sind schließlich HDDs. Welche Daten auf der zweiten Cache-Ebene gespeichert werden, entscheiden wiederum intelligente Algorithmen innerhalb von ZFS. Auf den HDDs schließlich befinden sich alle Daten, auch die gecoachten. Dies ist ein entscheidender Unterschied zu Tiered Storage, wo die Originaldaten zwischen schnelleren und langsameren Daten verschoben werden müssen.

Latenzzeiten senken und dabei Datenintegrität garantieren
Ähnlich wie beim Lesen funktioniert der Hybrid Storage Pool auch beim Schreiben. ZFS handhabt mittels Caching die synchronen Schreibvorgänge verschiedener Protokolle (beispielsweise NFS, SMB/CIFS). Die Schreibvorgänge werden im das ZFS Intent Log (ZIL) protokolliert, bis sie an nicht-volatilen Stellen im Speicher abgelegt sind.

Die Latenz von synchronen Schreibvorgängen zu reduzieren, hat einen direkten Einfluss auf die Leistung, denn Datenbanken setzen gewöhnlich voraus, dass Daten auf einem dauerhaften Speicher geschrieben sind, bevor sie den Vorgang abschließen können. Während alle Schreibvorgänge, sowohl synchrone als auch asynchrone, auf DRAM in den ARC geschrieben werden, werden synchrone zusätzlich auch auf den ZIL auf SSD geschrieben.

ZFS bündelt regelmäßig alle neuen Schreibvorgänge im ARC und verteilt diese auf die Festplatten. Ab diesem Moment werden die Protokolle auf dem ZIL nicht länger benötigt und können überschrieben werden, da die Daten ihre finale Stelle auf einem lang-ristigen, nicht-volatilen Medium erreicht haben. Unter normalen Umständen wird das ZIL also nicht benötigt. Es wird nur gelesen, wenn synchrone Schreibvorgänge aus dem ARC nicht auf Festplatte geschrieben werden können, zum Beispiel nach einem Stromausfall oder bei Ausfall eines Controllers. Dann liest ZFS das ZIL und legt die Daten an-schließend wie geplant auf den Festplatten ab. Auf diese Weise ist der Verlust einer Transaktion oder die Inkonsistent zwischen Nutz- oder Paritätsdaten ausgeschlossen. Genau wie ARC und L2ARC wird das ZIL automatisch und intelligent von ZFS verwaltet, ohne jeglichen Eingriff eines Administrators.

Die richtige Balance zwischen Leistung und Kapazität
ARC, L2ARC und ZIL bestimmen im Wesentlichen die Leistung innerhalb eines ZFS Hybrid Storage Pools, da nur sehr wenige Datenzugriffe auf die dahinter liegenden Fest-platten erfolgen. Somit können Festplatten dafür eingesetzt werden, wofür sie am besten geeignet sind: Günstige Speicherkapazität mit hoher Dichte. Eine Balance zu finden zwischen DRAM und Flash für die Performance einerseits und HDDs für die Kapazität andererseits, ist über die Gesamtlaufzeit des Systems gesehen effizienter, als nur Flash und Festplatten zu nutzen. Dies wird so lange gelten, bis Flash und Festplatten auf dem gleichen Preisniveau angekommen sind.

Ein neuer Parameter für Storage: Das Working Size Set.
Um die wichtigen Parameter bei herkömmlichen Speichersystemen abzustecken, muss der Administrator Kapazität, IOPS und Datendurchsatz bestimmen. Anhand dieser Zahlen kann er einfach ausrechnen, wie viele Spindeln nötig sind, um auf die gewünschte Leistung zu kommen. Da die Speicherindustrie sich jedoch immer ausgeklügelteren Caching-Methoden in Speichersystemen zuwendet, ist ein neuer Parameter vonnöten, um den Bedarf an Speicher zu bestimmen: Das Working Size Set. Es beschreibt den Teil der Daten, mit dem aktiv gearbeitet wird. Dies ist meist der kleinste Teil des gesamten Datenvolumens. Beispielsweise kann das Working Size Set innerhalb eines Systems von insgesamt 20TB  aus 500GB bestehen. Kennt man die Größe, ist es möglich, die Kapazität von ARC, L2ARC und sogar HDDs entsprechend der Bedürfnisse eines Unternehmens zu spezifizieren.



Indem sie DRAM, Flash und HDDs intelligent gemeinsam nutzen, können Hybrid Storage Pools die richtige Balance zwischen Kosten und Leistung für jedes Working Size Set bringen. Auch können Hybrid Storage Pools die Notwendigkeit, das Speichersystem durch einen Administrator nach I/O-Engpässen zu überwachen, massiv reduzieren. Der Aufwand für automatisches oder manuelles Tiering der Daten wird hinfällig. Der wichtigste Grund für die Nutzung eines Hybrid Storage Pools ist jedoch die Performance: ZFS Hybrid Storage Pools sind einfach viel schneller als herkömmliche Speichersyste-me, da sie die Latenz sowohl für Schreib- als auch Lesevorgänge stark verkürzen.

 

On average, only 48% of digital initiatives meet or exceed business outcome targets, according to...
GPUaaS provides customers on-demand access to powerful accelerated resources for AI, machine...
TMF Group, a leading provider of critical administrative services for global businesses, turned to...
Strengthening its cloud credentials as part of its mission to champion the broader UK tech sector...
Nearly all UK IT managers surveyed (98%) state cloud investment is an organisational priority for...
LetsGetChecked is a global healthcare solutions company that provides the tools to manage health...
Node4 to the rescue.
Commvault provides cloud-first organisations with greater choice and flexibility to protect and...