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 SAS- und FC-Festplatten sind am schnellsten,
haben leider aber auch den größten Preis pro GB. Danach kommen die
SATA-Festplatten mit 7.200 Umdr./min und dann die 5.400er SATA Platten. Es wäre
dann also das preislich effektivste, wenn man die SAS- und FC-Platten nur für
wichtige und hochperformante Daten nutzen würde und alles andere wird auf
den SATA-Platten gespeichert.
Und das genau ist der Ansatz von Tiering. Wichtige und performante Daten auf
die erste Stufe (Tier 1) und selten genutzte Daten auf die zweite Stufe (Tier
2). Alles was eigentlich nicht mehr genutzt wird (aber natürlich niemand
löschen möchte, es könnte ja noch mal gebraucht werden), kommt
auf Tier 3. Tier 3 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.
Seit dem Praxiseinsatz von SSD-Speichern (Solid State Drive)
wird auch Tier 0 definiert. Die SSD Speicher sind extrem schnell, also eigentlich
ideal für extrem performante Daten (zum Beispiel Datenbanken). Sie haben
jedoch einen großen Nachteil: Auf SSDs kann nicht unendlich häufig
geschrieben werden, sie gehen bei vielen Schreibzugriffen schneller kaputt.
Aber beim Tiering ist das ja kein Problem, dann kommen auf die SSDs eben nur
Daten die häufig gelesen werden, also alles was sich zum Beispiel bei Datenbanken
nicht ändert, aber immer wieder gelesen wird.
Kurz: Storage Tiering ist das Verschieben von Daten auf verschiedene Typen von Speichermedien nach vordefinierten Regeln.
Beim File Tiering, also dem dateibasierenden 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 basiert also auf dem 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
brauchte nur die Filesystem-Informationen auszuwerten. Beim Block Tiering übernimmt
es aber 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 ausgelagert. Bei häufigen Zugriffen
bleiben sie auf schnellen SAS-Platten oder werden später darauf verschoben.
Sind auch SSD-Speicher vorhanden, so können extrem häufig gelesene
Daten auch auf diese SSDs 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. Werden die Blöcke extrem häufig gelesen,
so verschiebt den Controller sie auf die SSDs. 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 SATA-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.
Die Deduplizierung verfolgt ähnliche Ziele wie das Tiering. Es soll der vorhandene Speicherplatz möglichst effektiv genutzt werden. Aber der Ansatz bei der Deduplizierung ist anders. Alle Daten die schon einmal im System gespeichert sind, müssen nicht ein zweites Mal gespeichert werden. Und das ist der Ansatz der Deduplizierung. Wie beim Tiering ist auch die Deduplizierung auf Datei- und Blockebene möglich. In beiden Fällen werden die Daten nur einmal gespeichert, alle weiteren (doppelte) Daten sind Verweise. Je nach Datenstruktur kann sehr viel Plattenplatz eingespart werden.
Diese Anwendung ist sehr leicht zu implementieren. Kommt eine neue Datei hinzu, so muss die Anwendung nur schauen, ob diese Datei schon auf der Platte vorhanden ist. Wenn ja, wird nur ein Verweis auf die vorhandene Datei gespeichert, wenn nicht, dann wird die Datei gespeichert und eine eindeutige Checksumme wird gebildet. Über diese Checksumme werden dann neue Dateien abgeglichen. Die zeitliche Verzögerung hält sich in Grenzen, da ja immer nur Schreibzugriffe kontrolliert werden müssen. Das Einsparpotential ist aber enorm, je mehr Daten vorhanden sind, desto größer ist auch die Wahrscheinlichkeit auf doppelte Dateien zu stoßen. Neben einem Fileserver ist die Deduplizierung auch bei der Datensicherung (Backup) möglich. Dort gibt es die größten Einsparpotentiale, da die Daten häufiger gesichert werden. Es ist die gleiche Datei in vielen Vollsicherungen vorhanden. Und wenn dies eingespart werden kann, dann sind finanzielle Vorteile schnell ersichtlich.
Diese Funktion kontrolliert doppelte Daten auf Blockebene.
Sie kann nicht nur gleiche Dateien identifizieren, sondern sogar Teile von Dateien.
Wir also z.B. eine Textdatei ergänzt und neu abgespeichert, so belegt nur
der Teil der Datei wirklich Speicherplatz, der hinzugekommen ist. Aber nicht
nur innerhalb eines Fileservers oder eines Backup-Servers werden die Blöcke
verglichen, sondern über ein gesamtes Speichersystem.
Jetzt ist auch ein Vergleich zwischen den Blöcken von Filedaten und Blockdaten
des E-Mail Servers möglich. So kann zum Beispiel erkannt werden, dass ein
Mail-Anhang auch noch auf dem Fileserver gespeichert wurde. Da die Blöcke
aber schon in der Mail vorhanden sind, belegt sie für den Fileserver keinen
Platz mehr auf dem Storage.
Bei diesen Deduplizierungen muss die zeitliche Verzögerung bei Speichervorgängen
genau beobachtet werden, gerade bei Datenbanken und performancekritischen Anwendungen
kann dies einen Einfluss haben. Bei Fileservern, Archivierungen, Datensicherungen
und speicherintensiven Anwendungen spielt die Performance häufig eine kleinere
Rolle und der Sparvorteil überwiegt.
![]() Übersicht |
![]() nach oben |
![]() Angebote |
Kontakt |
![]() Suche |
![]() Navigation |