Stor IT Back - Ihr Speicherspezialist
Storage Tiering V1.5 (c) Stor IT Back 2023
Der Begriff Tiering kommt aus dem Englischen und bedeutet
so viel wie Abstufen oder Staffelung. Diese
Worte beschreiben die Technologie sehr gut. Bei Speichermedien gibt es Performance-
und damit auch Preisunterschiede. Die SSDs (und NVMe) sind am schnellsten, leider aber auch am
teuersten. Die SAS-Festplatten (heute meist mit 10k) sind am zweit-schnellsten,
kostengünstiger als SSDs, aber trotzdem noch recht teurer bei großen Kapazitäten. Danach kommen die
NL-SAS bzw. SATA-Festplatten mit 7.200 Umdr./min und dann Tape als Auslagerung.
Es wäre also die preislich günstigste Lösung bei bester Performance, wenn man die SSD-Platten nur für
hochperformante Daten nutzen würde, die wichtigen und performanten Daten auf SAS Festplatten und alles andere wird auf
den NL-SAS oder SATA-Platten.
Und genau das ist der Ansatz von Tiering: Maximale Leistung bei minimalen Kosten. Wichtige und performante Daten auf
die erste Stufe (Tier 0) und selten genutzte Daten auf die dritte Stufe (Tier
2). Daten die zwischen maximaler Performance und seltener Nutzung liegen, kommen auf Tier 1.
Übrig bleibt, was eigentlich nicht mehr genutzt wird (aber natürlich niemand
löschen möchte, es könnte ja noch mal gebraucht werden), dies kommt
auf Tier 3 oder sogar Tier 4. Tier 4 können dann z.B. die langsamen SATA-Platten sein, die
zum Beispiel nur dann laufen, wenn auch wirklich Daten gebraucht werden. Neben
der Kostenoptimierung kann also zusätzlich auch Energie
eingespart werden.
Anmerkung zu SSDs:
Sie haben einen großen Nachteil: Auf SSDs kann nicht unendlich häufig
geschrieben werden, einzelne Blöcke fallen bei vielen Schreibzugriffen schneller aus.
Aber beim Tiering ist das kein Problem, eine Optimierung kann zusätzlich auch noch auf
die Zugriffsart erfolgen. Schreibzugriffe gehen zum Beispiel erst immer auf Tier 1 und es erfolgt
dann eine Umlagerung auf Tier 0, wenn häufig gelesen wird.
Kurz: Storage Tiering ist das Verschieben von Daten auf verschiedene Typen von Speichermedien nach vordefinierten Regeln.
Anmerkung zu den Tiers:
Als der Begriff Tiering mit den Abstufungen erfunden wurde, gab es noch keine SSDs. Daher wurde als Tier 1 die
damals schnellsten FC- und SCSI-Platten festgelegt. Als dann die schnelleren SSDs auf den Markt kamen, behielten
die anderen Stufen ihre Namen, die SSDs wurden zu Tier 0.
Beim File Tiering, also dem dateibasierten Verschieben,
wird immer die ganze Datei betrachtet. Zum Beispiel in einem Fileserver: Es
gibt Dateien die häufig genutzt werden, Dateien die selten genutzt werden
und viele Daten die eigentlich nur einmal geschrieben werden, aber danach nie
wieder genutzt werden. Da kann die Aufteilung auf die einzelnen Storage-Tiers
sehr einfach erfolgen. Es muss nur die Änderungs- und Zugriffshäufigkeit
der Datei ermittelt werden und dann eine Verschiebung auf die unterschiedlichen
Plattengruppen vorgenommen werden. Dies wird schon sehr lange unter dem Begriff
HSM (Hierarchisches Speicher-Management)
eingesetzt. Die HSM-Funktion nutzt also das Tiering.
Ein manuelles File-Tiering ist auch möglich. Auf einem Fileserver muss
nur nach alten und nicht genutzten Dateien gesucht werden und diese können
dann verschoben werden. Dann tritt allerdings das Problem auf, das keine die
Daten später wieder finden kann. Also braucht man doch eine HSM Software,
die den Zugriff über die Tiers ermöglicht.
Beim File-Tiering war die Unterscheidung noch sehr einfach, beim Block Tiering
wird es komplizierter. Das File Tiering hat der Fileserver übernommen und
der brauchte nur die Filesystem-Informationen auszuwerten. Beim Block Tiering übernimmt
es das Speichersubsystem und das kennt weder Filesystem noch Dateien, es
kennt nur Blöcke auf den Festplatten.
Und genauso wie im Filesystem ermittelt die Tiering-Anwendung im Speicher-Controller
die Zugriffshäufigkeit von Blöcken und verschiebt mit diesen Informationen
die Blöcke zwischen den Festplatten-Tiers.
Ein Beispiel einer Datenbank: Die Datenbanken bestehen auf der Festplatte aus
Blöcken, die entweder häufig genutzt werden oder aus Blöcken
die nur selten gelesen werden. Ermittelt der Controller eine kleine Nutzungsfrequenz,
so werden die Blöcke auf SATA-Platten (oder NL-SAS) ausgelagert. Bei häufigen Zugriffen
bleiben sie auf schnellen SAS-Platten oder werden später darauf verschoben.
Ist auch SSD-Speicher oder NVMe vorhanden, so können extrem häufig gelesene
Daten auch auf diese SSDs oder NVMe verschoben werden. Da SSDs aber nicht so häufig
beschrieben werden sollen, werden alle Write-I/Os erstmal auf die SAS-Platten
geschrieben und dann analysiert. Das Migrationsverhalten (Tiering)
ist von außen konfigurierbar.
Welche Vorteile bringt diese Methode? Für die Performance wichtige Blöcke
sind auf schnellen Platten, schnelle Platten sind aber teurer in der Anschaffung.
Also sollten sie auch nur für hochperformante Daten genutzt werden, alles
andere geht auf NL-SAS-Platten und spart teuren Speicherplatz. Auch SSDs lassen
sich ideal einsetzen. Wenig Speicherplatz für extrem performante Daten
und wenig Schreibzugriffe auf die SSDs. Ideale Bedingungen
für die SSDs, der Speicherplatz wird passend genutzt und die Schreibzugriffe
werden reduziert.
Beim Block Tiering ist allerdings keine manuelle Verschiebung der Blöcke
möglich, dies muss eine Anwendung im Speicherkontroller vollständig
erledigen. Probleme können auftreten, wenn der Anwender mit der Verteilung
nicht einverstanden ist. Wird zum Beispiel eine Datenbank auf den nächtlichen
Batchbetrieb automatisch optimiert, kann es sein das beim Online-Betrieb am
Tag das Tiering nicht ideal ist. In den meisten Fällen lassen sich solche
Schwankungen durch eine passende Konfiguration verhindern.