jules - Fotolia
So optimieren Sie die Storage-Leistung mit SSD-Caching und SSD-Tiering
Wir erklären, wie SSDs als Cache benutzt werden können und wie sich Caching von Tiering unterscheidet und wie man mit beiden mehr Leistung erzielt.
Oft werden die Begriffe Caching und Tiering als gleichbedeutend betrachtet. In Wirklichkeit handelt es sich aber um unterschiedliche Storage-Technologien. Beide Technologien platzieren oft benutzte („heiße“) Daten auf Hochleistungsmedien wie Flash, aber dort enden die Ähnlichkeiten bereits.
Die Beschleunigung des Datenzugangs ist der Hauptgrund dafür, Caching oder Tiering einzusetzen. Bei Caching kommt die Leistungssteigerung durch den beschleunigten Datenzugang, der sich dadurch ergibt, dass Daten mit hohen Zugriffsraten auf Solid State Disks (SSDs) mit hoher Geschwindigkeit zwischengespeichert werden, bevor sie auf Primär-Storage geschrieben (Schreibzugriff) oder in die System-Memory übertragen werden (Lesezugriff).
Beim Tiering werden die Daten mit hohen Zugriffsraten auf das schnellste Medium geschrieben, die mit mittleren Zugriffsraten auf Standard-Storage und die mit geringen auf langsames Storage.
Die meisten Hersteller von Storage-Systemen bieten heute sowohl Caching- als auch Tiering-Funktionen an. Aber wenn beides nicht korrekt eingerichtet ist, kann es tatsächlich die Storage-Leistung mindern. Nur ein erfahrener Storage-Administrator kann die Einrichtung im Do-it-youself-Verfahren bewältigen.
Drei Arten des SSD Caching
Caching in der einfachsten Form ist nicht mehr als das Kopieren von Daten mit hohen Zugriffsraten oder neu aufgerufenen Daten von Standard-Storage auf ein Hochgeschwindigkeitsmedium. Wenn Caching eingesetzt wird, erkennt das System Dateien als heiße Daten und überträgt sie auf das schnellste Medium.
Es gibt eine Reihe von Varianten von Caching, aber die drei bekanntesten sind write-through, write-around und write-back Cache.
Beim write-around SSD Caching werden Daten direkt auf Primär-Storage geschrieben und laufen anfänglich am Cache vorbei. Sie werden erst in den Cache geschrieben, wenn sie als heiß identifiziert sind. Diese Methode hat den Vorteil, dass nur die Daten in den Cache geschrieben werden, die am meisten vom Cache profitieren. Der Nachteil besteht im Fehlen von Cache für Schreiboperationen.
Vom write-through SSD Caching profitieren Anwendungen, die Daten schreiben und sofort neu lesen. Das write-through SSD Caching schreibt die Daten auf die SSD und sofort danach auf die Primär-Storage. Der Vorteil liegt darin, dass alle neu geschriebenen Daten in den Cache wandern. Aber das System kann dabei durch hohe Latenzen für Schreiboperationen ausgebremst werden, weil die Daten gleichzeitig auf zwei unterschiedliche Orte geschrieben werden und auf das Ende beider Schreibvorgänge gewartet werden muss.
Das write-back Cache ist ähnlich zum write-through SSD Caching, weil alle Schreiboperationen gecached werden. Beim write-back Cache werden aber die Daten sofort zur Verfügung gestellt, selbst bevor sie auf dem Primär-Storage ankommen. Das reduziert die Latenz, birgt aber das Risiko eines Datenverlustes, wenn der Cache ausfällt. Deswegen bieten Hersteller, die write-back Cache offerieren, oft Sicherheitsmechanismen wie redundante SSDs oder batteriegestütztes RAM an.
Vergleich Caching und Tiering
Obwohl Ähnlichkeiten zwischen Caching und Tiering bestehen, gibt es doch große Unterschiede. Caching nutzt das Schreiben auf ein Hochgeschwindigkeitsmedium, während Tiering die Daten zwischen verschiedenen Storage-Geräten verschiebt. Wenn Daten mit hohen Zugriffsraten per Tiering angesprochen werden, werden heiße Daten identifiziert und nicht nur kopiert, sondern auf das schnellste Medium verschoben. Wenn die Zugriffszahlen im Laufe der Zeit abnehmen, werden die Daten auf das Standard-Tier verschoben. Das Hochgeschwindigkeits-Tier steigert die Leistung, aber unter dem ständigen Daten-Transfer mit zusätzlichen IOPS kann diese wiederum leiden.
Sollte also der Anwender Caching oder Tiering vorziehen oder beide kombinieren? Dafür muss man den Workload betrachten und den Speicherplatzbedarf für das Cache oder Hochgeschwindigkeits-Tier. So könnte es etwa sinnvoll sein, Cache für Server und Tiering für Storage einzusetzen. Es hängt vom Server-Workload ab, ob es zu einer Leistungsbeeinträchtigung durch Double Caching kommt.
Herausforderungen
Bei Caching und Tiering tritt oft das Problem auf, dass Daten auf eine Weise behandelt werden, die unvorteilhaft ist und sogar kontraproduktiv sein kann. So kann Double Caching die Leistung beeinträchtigen.
Dies kann etwa beim Backup vorkommen. Wenn die Konfiguration fehlerhaft ist, kann das Backup-Ziel versuchen, das ganze oder Teile des Backup-Repositories in den Cache oder Hochgeschwindigkeits-Tier zu schreiben. Das ist zwar nicht unbedingt ein Problem, aber eine Verschwendung von Ressourcen, weil es unwahrscheinlich ist, dass die Backup-Daten in naher Zukunft gelesen werden. Die begrenzten Cache-Ressourcen sollten besser dafür genutzt werden, heiße Daten zu verarbeiten.
Eine Lösungsmöglichkeit besteht in Policies, die kontrollieren, welche Anwendungen Caching oder Tiering nutzen dürfen.
Caching und Tiering können für geeignete Workloads große Vorteile bringen. In naher Zukunft werden SSDs als schnellstes Medium wohl von neuen Technologien wie non-volatile-Flash-Dual-Inline-Memory-Module (NVDIMM) verdrängt werden.
Folgen Sie SearchStorage.de auch auf Twitter, Google+, Xing und Facebook!