FAST VP in Unity Storage: So funktioniert es

Heute werden wir über eine interessante Technologie sprechen, die in Unity / Unity XT-Speichersystemen implementiert ist - FAST VP. Wenn Sie zum ersten Mal von Unity gehört haben, können Sie sich über den Link am Ende des Artikels mit den Eigenschaften des Systems vertraut machen. Als Dell EMC-Projektteam arbeite ich seit über einem Jahr an FAST VP. Heute möchte ich mehr über diese Technologie sprechen und einige Details ihrer Implementierung offenlegen. Natürlich nur diejenigen, die offenbaren dürfen. Wenn Sie sich für die effiziente Datenspeicherung interessieren oder die Dokumentation noch nicht vollständig verstanden haben, ist dieser Artikel sicherlich nützlich und interessant.



Ich muss sofort sagen, was nicht im Material enthalten sein wird. Es wird keine Suche nach Wettbewerbern und Vergleichen mit ihnen geben. Ich habe auch nicht vor, über ähnliche Technologien aus Open Source zu sprechen, da ein neugieriger Leser bereits über sie Bescheid weiß. Und natürlich werde ich nichts bewerben.

Storage Tiering. Ziele und Vorgaben von FAST VP


FAST VP steht für Fully Automated Storage Tiering für Virtual Pool. Ist es kompliziert? Nichts, jetzt werden wir es herausfinden. Tiering ist eine Methode zum Organisieren der Datenspeicherung, bei der diese Daten auf mehreren Ebenen (Ebenen) gespeichert werden. Jeder hat seine eigenen Eigenschaften. Das Wichtigste: Leistung, Volumen und Kosten der Speicherung einer Informationseinheit. Natürlich besteht eine Beziehung zwischen ihnen.

Ein wichtiges Merkmal der Schichtung besteht darin, dass der Zugriff auf Daten unabhängig von der aktuellen Speicherebene einheitlich bereitgestellt wird und die Poolgröße der Summe der darin enthaltenen Ressourcen entspricht. Hier liegt der Unterschied zum Cache: Die Größe des Caches addiert sich nicht zur Gesamtmenge der Ressource (in diesem Fall zum Pool), und die Cache-Daten duplizieren alle Daten auf dem Hauptmedium (oder werden dupliziert, wenn die Daten aus dem Cache noch nicht geschrieben wurden). Außerdem ist die Verteilung von Daten nach Ebenen für den Benutzer nicht sichtbar. Das heißt, er sieht nicht, welche Art von Daten sich auf jeder Ebene befindet, obwohl er sie indirekt beeinflussen kann, indem er Richtlinien festlegt (dazu später).

Schauen wir uns nun die Funktionen der Implementierung von Storage Tiering in Unity an. Einheit unterscheidet 3 Ebenen oder Tier'a:

  • Extreme Leistung (SSDs)
  • Leistung (SAS-Festplatte 10k / 15k U / min)
  • Kapazität (NL-SAS HDD 7200 U / min)

Sie werden in absteigender Reihenfolge von Leistung und Preis dargestellt. Extreme Leistung umfasst ausschließlich Solid State Drives (SSDs). Bei zwei anderen Tier'a-Magnetplattenlaufwerken, die sich in Drehzahl und entsprechend Leistung unterscheiden.

Speichermedien von einer Ebene und einer Größe werden zu einem RAID-Array zusammengefasst und bilden eine RAID-Gruppe (kurz RAID-Gruppe - RG). Verfügbare und empfohlene RAID-Level finden Sie in der offiziellen Dokumentation. Aus RAID-Gruppen aus einer oder mehreren Ebenen werden Speicherpools gebildet, aus denen dann freier Speicherplatz zugewiesen wird. Und bereits aus dem Pool wird Speicherplatz für Dateisysteme und LUNs zugewiesen.



Warum brauche ich Tiering?


Kurz und kurz: Um mit einem Minimum an Ressourcen bessere Ergebnisse zu erzielen. Insbesondere wird das Ergebnis normalerweise als eine Reihe von Merkmalen von Speichersystemen verstanden - Geschwindigkeit und Zugriffszeit, Speicherkosten und andere. Mit einem Minimum an Ressourcen sind die geringsten Kosten gemeint: Geld, Energie und so weiter. FAST VP implementiert nur Datenumverteilungsmechanismen auf verschiedenen Ebenen in Unity / Unity XT-Speichersystemen. Wenn Sie mir glauben, können Sie den nächsten Absatz überspringen. Im Übrigen erzähle ich Ihnen etwas mehr.

Durch die korrekte Verteilung der Daten nach Speicherebenen können Sie die Gesamtkosten des Speichers einsparen, indem Sie die Zugriffsgeschwindigkeit auf einige selten verwendete Informationen opfern und die Produktivität steigern, indem Sie häufig verwendete Daten auf schnellere Speichermedien verschieben. Hier kann jemand argumentieren, dass der normale Administrator auch ohne Tiering weiß, wo er welche Daten, welche wünschenswerten Eigenschaften des Speichersystems für seine Aufgabe usw. ablegen muss. Dies ist zweifellos richtig, aber die manuelle Datenverteilung hat ihre Nachteile:

  • Es braucht Zeit und Aufmerksamkeit des Administrators;
  • Es ist nicht immer möglich, Speicherressourcen für sich ändernde Bedingungen neu zu zeichnen.
  • Ein wichtiger Vorteil verschwindet: Einheitlicher Zugriff auf Ressourcen auf verschiedenen Speicherebenen.

Um Speicheradministratoren weniger Sorgen um die Arbeitsplatzsicherheit zu machen, möchte ich hinzufügen, dass auch eine kompetente Ressourcenplanung erforderlich ist. Nachdem die Aufgaben des Tierings kurz beschrieben wurden, wollen wir sehen, was Sie von FAST VP erwarten können. Hier ist die Zeit, um zur Definition zurückzukehren. Die ersten beiden Wörter - Vollautomatisiert - werden wörtlich übersetzt als "vollautomatisiert" und bedeuten, dass die Verteilung der Ebenen automatisch erfolgt. Nun, Virtual Pool ist ein Datenpool, der Ressourcen aus verschiedenen Speicherebenen enthält. So sieht es aus:

Bild

Mit Blick auf die Zukunft werde ich sagen, dass FAST VP Daten nur innerhalb eines Pools und nicht zwischen mehreren Pools verschiebt.

Aufgaben FAST VP löst


Lassen Sie uns zuerst abstrakt sprechen. Wir haben einen Pool und einen Mechanismus, der Daten innerhalb dieses Pools neu verteilen kann. Wir erinnern uns daran, dass es unsere Aufgabe ist, maximale Leistung zu erzielen, und fragen uns: Wie kann dies erreicht werden? Es kann mehrere davon geben, und hier hat FAST VP dem Benutzer etwas zu bieten, da die Technologie mehr als nur Speicherebenen ist. Hier sind einige Möglichkeiten, wie FAST VP die Poolleistung steigern kann:

  • Verteilung von Daten nach verschiedenen Festplattentypen, Ebenen
  • Verteilen von Daten auf Laufwerke des gleichen Typs
  • Verteilung der Poolerweiterungsdaten

Bevor wir analysieren, wie diese Aufgaben gelöst werden, müssen wir einige notwendige Fakten über die Arbeit von FAST VP kennen. FAST VP arbeitet mit Blöcken einer bestimmten Größe - 256 Megabyte. Dies ist der kleinste fortlaufende „Datenblock“, der verschoben werden kann. In der Dokumentation heißt es: Slice. Aus Sicht von FAST VP bestehen alle RAID-Gruppen aus einer Reihe solcher „Teile“. Dementsprechend werden alle E / A-Statistiken für solche Datenblöcke akkumuliert. Warum wird diese Blockgröße gewählt und wird sie reduziert? Der Block ist groß genug, aber dies ist ein Kompromiss zwischen der Granularität der Daten (kleinere Blockgröße - genauer die Verteilung) und den verfügbaren Rechenressourcen: Unter den bestehenden strengen Einschränkungen für RAM und eine große Anzahl von Blöcken können diese Statistiken zu viel beanspruchen, und die Anzahl der Berechnungen wird proportional zunehmen.

Wie FAST VP Daten in einen Pool legt. Politiker


Um die Platzierung von Daten in einem Pool mit aktiviertem FAST VP zu steuern, existieren die folgenden Richtlinien:

  • Höchste verfügbare Stufe
  • Auto Tier
  • Starten Sie Hoch und dann Auto-Tier (Standard)
  • Niedrigste verfügbare Stufe

Sie wirken sich sowohl auf die anfängliche Platzierung des Blocks (Daten wurden zuerst aufgezeichnet) als auch auf die anschließende Umverteilung aus. Wenn sich die Daten bereits auf den Datenträgern befinden, wird die Umverteilung gemäß Zeitplan oder manuell eingeleitet.

Die höchste verfügbare Stufe versucht, den neuen Block auf die produktivste Ebene zu bringen. Mit einem Mangel an Speicherplatz - auf der nächsten Leistungsstufe, aber dann können die Daten auf eine produktivere Ebene verschoben werden (wenn Speicherplatz vorhanden ist oder andere Daten verdrängt werden). Auto-Tier platziert neue Daten je nach Größe des verfügbaren Speicherplatzes auf verschiedenen Ebenen und verteilt sie je nach Bedarf und freiem Speicherplatz neu. Starten Sie Hoch, dann ist Auto-Tier die Standardrichtlinie und wird ebenfalls empfohlen. Bei der ersten Platzierung fungiert es als höchste verfügbare Stufe, und dann werden die Daten abhängig von ihrer Nutzungsstatistik verschoben. Die Richtlinie "Niedrigste verfügbare Stufe" versucht, Daten auf die am wenigsten produktive Ebene zu bringen.

Die Datenübertragung wird mit einer niedrigen Priorität durchgeführt, um die nützliche Arbeit des Speichersystems nicht zu beeinträchtigen. Es gibt jedoch eine Einstellung für die Datenverlagerungsrate, mit der die Priorität geändert wird. Es gibt eine Besonderheit: Nicht alle Datenblöcke haben die gleiche Umverteilungssequenz. Beispielsweise werden als Metadaten markierte Blöcke zuerst auf eine schnellere Ebene verschoben. Metadaten sind sozusagen „Daten über Daten“, einige zusätzliche Informationen, die keine Benutzerdaten sind, sondern deren Beschreibung speichern. Zum Beispiel Informationen im Dateisystem, in welchem ​​Block sich eine bestimmte Datei befindet. Dies bedeutet, dass die Geschwindigkeit des Zugriffs auf Daten von der Geschwindigkeit des Zugriffs auf Metadaten abhängt. Angesichts der Tatsache, dass Metadaten normalerweise viel kleiner sind, wird erwartet, dass mehr von der Umstellung auf produktivere Festplatten profitieren.

Kriterien, die Fast VP bei der Arbeit verwendet


Das Hauptkriterium für jeden Block ist, wenn auch sehr grob, das Merkmal der "Anforderung" der Daten, die von der Anzahl der Lese- und Schreibvorgänge des Datenfragments abhängt. Diese Eigenschaft wird als "Temperatur" bezeichnet. Es gibt heiße Daten, die heißer als nicht beansprucht sind. Sie wird standardmäßig in regelmäßigen Abständen mit einem Intervall von einer Stunde berechnet.

Die Temperaturberechnungsfunktion hat folgende Eigenschaften:

  • Wenn keine E / A vorhanden sind, "kühlen" sich die Daten mit der Zeit ab.
  • Bei mehr oder weniger gleicher Last steigt die Temperatur zuerst an und stabilisiert sich dann in einem bestimmten Bereich.

Ferner werden die oben beschriebenen Richtlinien und der freie Speicherplatz auf jeder Ebene berücksichtigt. Zur Verdeutlichung werde ich ein Bild aus der Dokumentation geben. Hier zeigen rote, gelbe und blaue Farben Blöcke mit hoher, mittlerer bzw. niedriger Temperatur an.

Bild

Aber zurück zu den Aufgaben. Wir können also anfangen zu analysieren, was getan wird, um die Probleme von FAST VP zu lösen.

A. Verteilung der Daten nach verschiedenen Festplattentypen und Ebenen


Eigentlich ist dies die Hauptaufgabe von FAST VP. Der Rest leitet sich gewissermaßen davon ab. Abhängig von der ausgewählten Richtlinie werden die Daten auf verschiedene Speicherebenen verteilt. Zunächst werden die Platzierungsrichtlinien berücksichtigt, dann die Blocktemperatur und die Größe / Geschwindigkeit der RAID-Gruppen.

Für Richtlinien mit der höchsten / niedrigsten verfügbaren Stufe ist alles recht einfach. Bei den beiden anderen ist dies der Fall. Auf verschiedenen Ebenen werden die Daten unter Berücksichtigung der Größe und Leistung von RAID-Gruppen verteilt, so dass das Verhältnis der gesamten "Temperatur" der Blöcke zur "bedingten maximalen Leistung" jeder RAID-Gruppe ungefähr gleich ist. Somit ist die Last mehr oder weniger gleichmäßig verteilt. Mehr nachgefragte Daten werden an schnelle Träger übertragen, die selten verwendet werden - an langsamere. Idealerweise sollte die Verteilung ungefähr so ​​aussehen:

Bild

B. Verteilung von Daten auf Festplatten des gleichen Typs


Denken Sie daran, dass ich zu Beginn geschrieben habe, dass Informationsträger aus einer oder mehreren Ebenen in einem Pool zusammengefasst sind. Im Fall einer einzelnen Ebene für FAST VP gibt es auch Arbeit. Um die Leistung auf jeder Ebene zu maximieren, ist es ratsam, die Daten gleichmäßig auf die Festplatten zu verteilen. Dies ermöglicht es (theoretisch), die maximale Anzahl von IOPS zu erhalten. Daten innerhalb einer RAID-Gruppe können als gleichmäßig auf Festplatten verteilt betrachtet werden. Zwischen RAID-Gruppen ist dies jedoch bei weitem nicht immer der Fall. Im Falle eines Ungleichgewichts verschiebt FAST VP Daten zwischen RAID-Gruppen proportional zu ihrer Größe und "bedingten Leistung" (in numerischen Begriffen). Aus Gründen der Klarheit werde ich ein Ausgleichsschema zwischen drei RAID-Gruppen zeigen:

Bild

B. Verteilung von Daten während der Poolerweiterung


Diese Aufgabe ist ein Sonderfall der vorherigen und wird ausgeführt, wenn dem Pool eine RAID-Gruppe hinzugefügt wird. Damit die neu hinzugefügte RAID-Gruppe nicht inaktiv bleibt, wird ein Teil der Daten an sie übertragen, was bedeutet, dass die Last aller RAID-Gruppen neu verteilt wird.

SSD Verschleißnivellierung


Mit dem Verschleißausgleich kann FAST VP die Lebensdauer einer SSD verlängern, obwohl diese Funktion nicht direkt mit dem Storage Tiering zusammenhängt. Da es bereits Temperaturdaten gibt, wird auch die Anzahl der Schreibvorgänge berücksichtigt, wir können Datenblöcke verschieben, es wäre logisch für FAST VP, dieses Problem zu lösen.

Wenn die Anzahl der Datensätze in einer RAID-Gruppe die Anzahl der Datensätze in einer anderen Gruppe erheblich überschreitet, verteilt FAST VP die Daten entsprechend der Anzahl der Schreibvorgänge neu. Dies entlastet einerseits die Last und spart die Ressource einiger Festplatten, andererseits erhöht es die Arbeit für weniger geladene Festplatten und erhöht die Gesamtleistung.

Somit übernimmt FAST VP die traditionellen Aufgaben des Storage Tiering und leistet ein wenig mehr. All dies ermöglicht es Ihnen, Daten effektiv in der Unity-Familie von Speichersystemen zu speichern.


  1. . best practices, . , , , . .
  2. FAST VP, . , . .
  3. . , Unity .
  4. , . , FAST VP . , . , 2.
  5. FAST VP, . RAID- , . «» . , «» , . , , , , . , FAST VP, .

Wenn Sie sich dieses Produkt genau ansehen, können Sie Unity in Business kostenlos testen, indem Sie die virtuelle Unity VSA-Appliance herunterladen.



Am Ende des Artikels teile ich einige nützliche Links:


Fazit


Ich würde gerne viel darüber schreiben, aber ich verstehe, dass nicht alle Details für den Leser interessant sein werden. Sie können beispielsweise detaillierter über die Kriterien berichten, nach denen FAST VP Daten überträgt, sowie über die Prozesse zur Analyse von E / A-Statistiken. Auch das Thema der Interaktion mit dynamischen Pools ist überhaupt nicht betroffen , und dies wird in einem separaten Artikel behandelt. Sie können sich sogar die Entwicklung dieser Technologie vorstellen. Ich hoffe es war nicht langweilig und ich habe dich nicht langweilig gemacht. Bis bald!

All Articles