Wenn man die Technologien zur Beschleunigung von Ein- und Ausgabeoperationen in Bezug auf Speicherlösungen betrachtet, die in , kann man nicht umhin, auf eine sehr beliebte Option wie Auto Tiering zu kommen. Obwohl die Arbeitsweise dieser Funktion bei verschiedenen Herstellern von Speichersystemen ziemlich Àhnlich ist, werden wir die Besonderheiten der Implementierung von Tiering am Beispiel von .

Zu den vielfĂ€ltigen Daten, die in Speichersystemen gespeichert werden, lassen sich diese in mehrere Gruppen unterteilen, basierend auf ihrer NutzungshĂ€ufigkeit. Auf die am hĂ€ufigsten verwendeten (âheiĂenâ) Daten ist es von groĂer Bedeutung, maximal schnellen Zugang zu gewĂ€hrleisten, wĂ€hrend die Verarbeitung weniger hĂ€ufig genutzter (âkalterâ) Daten mit einer geringeren PrioritĂ€t erfolgen kann.
Um ein solches Schema zu organisieren, wird die Tiering-Funktion verwendet. In diesem Fall besteht das Datenspeicher-Array nicht aus einheitlichen Festplatten, sondern aus mehreren Gruppen von Speichermedien, die unterschiedliche Speicherlevels (Tiers) bilden. Ein spezieller Algorithmus sorgt dafĂŒr, dass die Daten automatisch zwischen diesen Levels verschoben werden, um die maximale Gesamtleistung sicherzustellen.

Speichersystem unterstĂŒtzen bis zu drei Speicherlevel:
- Tier 1: SSD, maximale Leistung
- Tier 2: HDD SAS 10K/15K, hohe Leistung
- Tier 3: HDD NL-SAS 7.2K, maximale KapazitÀt
Der Auto Tiering-Pool kann sowohl alle drei Levels als auch nur zwei in beliebigen Kombinationen enthalten. Innerhalb jedes Tiers werden die Speichermedien in gĂ€ngige RAID-Gruppen zusammengeschlossen. FĂŒr maximale FlexibilitĂ€t kann das RAID-Level in jedem Tier unterschiedlich sein. Das bedeutet zum Beispiel, dass es nichts hindert, eine Struktur wie 4x SSD RAID10 + 6x HDD 10K RAID5 + 12 HDD 7.2K RAID6 zu organisieren.
Nach der Erstellung von Volumes (virtuellen Festplatten) auf -Pool beginnt die Hintergrundsammlung von Statistiken ĂŒber alle Ein- und Ausgabeoperationen. Dazu wird der Speicher in Blöcke von 1GB (sog. sub LUNs) unterteilt. Bei jedem Zugriff auf einen solchen Block wird ihm ein Koeffizient von 1 zugewiesen. Danach sinkt dieser Koeffizient im Lauf der Zeit. Nach 24 Stunden, ohne weitere Ein- und Ausgabeanfragen an diesen Block, wird er bereits 0,5 betragen und wird weiterhin jede Stunde weiter fallen.
Zu einem bestimmten Zeitpunkt (standardmĂ€Ăig jeden Tag um Mitternacht) werden die gesammelten Ergebnisse der sub LUN-AktivitĂ€t basierend auf ihren Koeffizienten rangiert. Auf dieser Grundlage wird entschieden, welche Blöcke verschoben werden und in welche Richtung. AnschlieĂend erfolgt die Relokation der Daten zwischen den Ebenen.

In der Qsan-Speicherlösung ist das Management des Tiering-Prozesses durch eine Vielzahl von Parametern hervorragend umgesetzt, was eine sehr flexible Anpassung der endgĂŒltigen Leistung des Arrays ermöglicht.
FĂŒr die Bestimmung des Ursprungstandorts der Daten und der primĂ€ren Richtung ihrer Verschiebung werden Richtlinien verwendet, die fĂŒr jedes Volume separat festgelegt werden:
- Auto Tiering â Standardrichtlinie, wobei der ursprĂŒngliche Standort und die Verschiebungsrichtung automatisch festgelegt werden, d.h. âheiĂeâ Daten streben die oberste Ebene an, wĂ€hrend âkalteâ Daten nach unten verlagert werden. Der ursprĂŒngliche Standort wird basierend auf dem verfĂŒgbaren Platz auf jeder der Ebenen ausgewĂ€hlt. Es ist jedoch zu beachten, dass das System in erster Linie darauf abzielt, die schnellsten SpeichergerĂ€te maximal zu nutzen. Daher werden die Daten bei vorhandenem Freiraum auf den oberen Ebenen platziert. Diese Richtlinie eignet sich fĂŒr die meisten Szenarien, in denen die Datenanforderung nicht vorhersehbar ist.
- Starten von oben, dann Auto-Tiering â der Unterschied zur vorherigen besteht nur im ursprĂŒnglichen Standort der Daten (auf der schnellsten Ebene)
- Maximal hohe Ebene â Daten streben immer an, die schnellste Ebene einzunehmen. Wenn sie im Arbeitsprozess nach unten verschoben werden, werden sie bei der ersten Gelegenheit zurĂŒckbewegt. Diese Richtlinie eignet sich fĂŒr Daten, auf die ein maximal schneller Zugriff erforderlich ist.
- Minimaler Ebene â Daten streben immer an, die unterste Ebene einzunehmen. Diese Richtlinie eignet sich hervorragend fĂŒr selten verwendete Daten (zum Beispiel Archive).
- Keine Verschiebung â das System bestimmt automatisch den ursprĂŒnglichen Standort der Daten und fĂŒhrt keine Verschiebung durch. Dennoch werden weiterhin Statistiken gesammelt, falls spĂ€ter eine Relokation erforderlich ist.
Es ist wichtig zu beachten, dass, obwohl die Richtlinien bei der Erstellung jedes Volumes festgelegt werden, sie wĂ€hrend des Lebenszyklus des Systems mehrfach âliveâ geĂ€ndert werden können.
Neben den Richtlinien fĂŒr den Tiering-Mechanismus wird auch die Frequenz und das Tempo der Datenbewegung zwischen den Ebenen eingestellt. Es kann eine spezifische Bewegungszeit festgelegt werden: tĂ€glich oder an bestimmten Wochentagen, und das Intervall zur Sammlung von Statistiken kann auf wenige Stunden verkĂŒrzt werden (die minimale Frequenz betrĂ€gt 2 Stunden). Wenn es notwendig ist, die Dauer der Datenbewegungsoperation zu begrenzen, können Zeitrahmen (Bewegungsfenster) festgelegt werden. DarĂŒber hinaus wird auch die Relokationsgeschwindigkeit angegeben â 3 Modi: schnell, mittel, langsam.

Im Falle eines Bedarfs an sofortiger Relokation von Daten besteht die Möglichkeit, diese jederzeit manuell auf Befehl des Administrators durchzufĂŒhren.
Es ist klar, dass je hĂ€ufiger und schneller die Daten zwischen den Ebenen verschoben werden, desto flexibler wird das SAN sich an die aktuellen Betriebsbedingungen anpassen. Gleichzeitig sollte man jedoch auch daran denken, dass die Bewegung eine zusĂ€tzliche Belastung darstellt (vor allem fĂŒr die Festplatten), daher sollte man Daten nicht ohne zwingende Notwendigkeit âhin- und herbewegenâ. Es ist besser, die Bewegung auf Zeiten mit minimalen Lasten zu planen. Wenn jedoch das Arbeiten des SAN stĂ€ndig hohe Performance im 24/7-Betrieb erfordert, sollte das Tempo der Relokation auf das Minimum gesenkt werden.
Die FĂŒlle an Tiering-Einstellungen wird fortgeschrittene Benutzer ohne Zweifel erfreuen. Doch auch fĂŒr diejenigen, die zum ersten Mal mit einer solchen Technologie konfrontiert werden, gibt es nichts zu befĂŒrchten. Man kann getrost den Voreinstellungen (Auto Tiering-Richtlinie, Bewegung mit maximaler Geschwindigkeit einmal tĂ€glich nachts) vertrauen und im Laufe der Zeit die Statistiken sammeln, um bestimmte Parameter zur Erreichung des gewĂŒnschten Ergebnisses anzupassen.
Im Vergleich zu einer nicht weniger beliebten Technologie zur Leistungssteigerung, wie , sollte man die unterschiedlichen Arbeitsprinzipien ihrer Algorithmen beachten.
SSD-Caching
Auto Tiering
Die Geschwindigkeit, mit der der Effekt eintritt
Fast sofort. Aber der sichtbare Effekt tritt erst nach dem âAufwĂ€rmenâ des Caches (Minuten-Stunden) ein.
Nach der Datensammlung (von 2 Stunden, idealerweise â einem Tag) plus Zeit fĂŒr die Datenbewegung
Dauer des Effekts
So lange, bis die Daten durch eine neue Charge verdrÀngt werden (Minuten-Stunden)
So lange, wie die Nachfrage nach den Daten besteht (einen Tag und mehr)
Anwendungsbereiche
Sofortige Leistungssteigerung fĂŒr kurze Zeit (Datenbanken, Virtualisierungsumgebungen)
Leistungssteigerung ĂŒber einen lĂ€ngeren Zeitraum (Dateiserver, Webserver, Mailserver)
Eine der besonderen Eigenschaften von Tiering ist auch die Möglichkeit, es nicht nur fĂŒr Szenarien wie âSSD + HDDâ, sondern auch fĂŒr âschnelle HDD + langsame HDDâ oder sogar alle drei Ebenen zu verwenden, was im Fall von SSD-Cache grundsĂ€tzlich unmöglich ist.
Tests
Um die Funktionsweise der Tiering-Algorithmen zu ĂŒberprĂŒfen, haben wir einen einfachen Test durchgefĂŒhrt. Ein Pool aus zwei Ebenen SSD (RAID 1) + HDD 7.2K (RAID 1) wurde erstellt, auf dem ein Volumen mit der âMinimal-Levelâ-Politik platziert wurde. Das bedeutet, dass die Daten immer auf den langsamen Festplatten abgelegt werden sollen.


Die VerwaltungsoberflÀche zeigt anschaulich die Platzierung der Daten zwischen den Ebenen.
Nach dem BefĂŒllen des Volumens mit Daten haben wir die Platzierungspolitik auf Auto Tiering geĂ€ndert und den IOmeter-Test gestartet.

Nach mehreren Stunden Test, in denen das System Statistiken sammeln konnte, begann der Relokationsprozess.

Nach Abschluss der Datenverschiebung war unser Testvolume vollstĂ€ndig auf die oberste Ebene (SSD) âumgezogenâ.


Urteil
Auto Tiering ist eine groĂartige Technologie, die es ermöglicht, mit minimalen finanziellen und zeitlichen Aufwand die Leistung des Speichersystems durch intensivere Nutzung schneller Speicher zu steigern. In Bezug auf die einzige Investition ist die Lizenz, die einmalig und dauerhaft ohne EinschrĂ€nkung auf die Anzahl/Volumen der Platten/Regale/etc. erworben wird. Diese FunktionalitĂ€t bietet so viele umfangreiche Einstellungen, dass sie nahezu alle geschĂ€ftlichen Anforderungen erfĂŒllen kann. Und die Visualisierung der Prozesse in der BenutzeroberflĂ€che ermöglicht eine effektive Verwaltung des GerĂ€ts.
Quelle: habr.com
