Thin Provisioning, Tiering, Deduplizierung

Ratgeber – Storage-Technologien sinnvoll einsetzen

26.02.2013 von Beate Herzog
Speichersysteme bieten eine Fülle an Funktionen wie Thin Provisioning, Tiering oder Deduplizierung. Werden die Storage-Technologien richtig genutzt, so lassen sich erstaunliche Leistungssprünge erreichen. Wir zeigen Ihnen, worauf Sie beim Einsatz achten müssen.

Speichersysteme bieten eine Fülle an Funktionen wie Thin Provisioning, Tiering oder Deduplizierung. Werden die Storage-Technologien richtig genutzt, so lassen sich erstaunliche Leistungssprünge erreichen. Wir zeigen Ihnen, worauf Sie beim Einsatz achten müssen.
von Beate Herzog
Disk-Systeme sind längst keine dummen Plattenstapel mehr, die man bei Bedarf an mehr Kapazität einfach ins Rechenzentrum schiebt. Vielmehr kamen in den vergangenen Jahren zahlreiche nützliche Funktionen dazu, die die Effizienz der Speichersysteme steigern. Das war auch nötig, nachdem viele Anwender im Serverumfeld mittels Virtualisierung ihre Systeme konsolidierten.

Die Vorteile der Virtualisierung müssen sich aber auch bis in das Backend der EDV-Umgebung ausrollen lassen. Hierfür ist vor allem eine leistungsfähige Storage- und Netzwerk-Infrastruktur notwendig. Der Angebotskatalog ist besonders bei den Speichersystemen umfangreich, die Geräte versprechen viel.

Doch was bringen die einzelnen Features der Storage-Systeme? Wir geben Ihnen in diesem Artikel einen Überblick, wofür Speichervirtualisierung, Tierung, Thin Provisioning und Co. eigentlich geeignet sind und worauf Sie achten müssen.

Speichervirtualisierung

Eigentlich ist Speichervirtualisierung ein alter Hut und nicht wirklich etwas Neues. Die Abstraktion komplexer Systeme gegenüber dem Nutzer wurde bereits mit dem ICDA (Integrated Cached Disk Array, heute "Symmetrix") von EMC 1989 eingeführt. Allerdings hat es mehr als 20 Jahre gedauert, bis sich die Hersteller einig waren, was unter Virtualisierung tatsächlich zu verstehen ist und welche Produkte man dafür anbietet.

Die Speichervirtualisierung bietet die Möglichkeit, die Grenzen physischen Speichers aufzuweichen und verschiedene Storage-Einheiten, beispielsweise Festplatten oder gar ganze Speichersysteme, zu einem Speicher-Pool zusammenzufassen. Dieser Pool lässt sich zentral verwalten, und die Ressourcen können so besser verteilt und genutzt werden.
Einige Anbieter integrieren auch Fremdspeicher, also Systeme von Drittanbietern, in einen solchen Speicher-Pool, was die Konsolidierung der Storage-Umgebung effizienter macht. Dazu gehört unter anderem die Hitachi Unified Storage VM von HDS. Für die jeweiligen Anwendungen, Server oder Nutzer ist die Virtualisierung ein transparenter Layer, der sich nicht auf die bisherige Speicherung oder die üblichen Arbeits-/Sicherungsprozesse auswirkt.

In der Regel wird die Speichervirtualisierung über Storage-Systeme oder Software realisiert. Bei der Virtualisierung über Speichersysteme wird die Verwaltung direkt über die Oberfläche der Arrays durchgeführt. Auch die angeschlossenen Speicher von Drittanbietern werden hier zusammengefasst. Für die Virtualisierung über Software wird ein separater Server mit entsprechender Verbindung zu den Speichersystemen benötigt, was in Kombination mit einer weiteren Benutzeroberfläche die Arbeit mit der Gesamtarchitektur meist nicht vereinfacht.

Storage Tiering

Storage-Geräte, die mehr als nur eine Festplattentechnologie nutzen, lassen sich mittels Storage Tierung effizienter auslasten. In der Regel verbauen Hersteller heute SATA-Laufwerke für großvolumige Daten, FC- oder SAS-Laufwerke für mittlere Leistungsanforderungen und SSD-Laufwerke für Daten mit höchster I/O-Belastung.

Während der Nutzer bis vor wenigen Jahren seine Daten und die hierfür benötigte Leistungsklasse (Tier) selbst bewerten und die Informationen hierhin manuell verschieben musste, bieten viele Hersteller heute automatisches Storage Tiering an.
Hierbei analysieren die Betriebssysteme der Arrays ständig die durch die Daten verursachten I/O-Raten und verschieben die Informationen auf Basis vorgegebener Algorithmen zwischen den Speicherklassen in bestimmten Abständen. Damit ist immer gewährleistet, dass die Daten automatisch in der jeweils benötigten und damit auch betriebswirtschaftlich gerechtfertigten Speicherklasse liegen. Die meisten Hersteller arbeiten derzeit mit drei oder vier Speicherklassen.

Automatisches Storage Tiering mit SSDs
Gegenüber einem traditionellen Storage-Pool teilt das Tiering das Speicherarray in verschiedene Leistungsklassen auf.
Automatisches Storage Tiering mit SSDs
Tier 1 ist für Performance-kritische Applikationen vorgesehen, wo hohe IOPS und kurze Antwortzeiten gefragt sind. Hier sollten im Idealfall SSDs zum Einsatz kommen.
Automatisches Storage Tiering mit SSDs
Automatisiertes Storage Tiering verlagert die Daten je nach Nutzungsgrad.

Wurden früher ganze logische Laufwerke und deren Leistungsverhalten betrachtet, zerlegen die Hersteller diese heute in kleinere Abschnitte (Chunks), die beliebig im Backend verteilt werden können. Dadurch liegen nur die tatsächlich leistungshungrigen Daten auf den schnellen SSD-, FC- oder SAS-Laufwerken, während der größte, allerdings nicht oder nur gering genutzte Teil auf SATA-Platten gehalten wird.
Je kleiner die Abschnitte sind, desto feiner lassen sich die Daten im Backend verteilen. Je kürzer die Zeitabstände der Bewertung sind, desto besser passt sich das System an die aktuellen Gegebenheiten an.

Allerdings muss auch beachtet werden, dass das Array umso mehr belastet wird, je mehr Funktionalitäten es in kürzerer Zeit ausführt. Darüber hinaus sollte das System über eine manuelle Einstellmöglichkeit für Laufwerke und Algorithmen und einen Scheduler verfügen.
Die Daten für ein Backup oder für einen Warehouse-Load sollten sich schon in einer entsprechenden Speicherklasse befinden, wenn der entsprechende Job losläuft, und nicht erst reaktiv dorthin gebracht werden müssen. Das kostet nur Zeit und Backend-Leistung.

Thin Provisioning und Zero Space Reclaim

Belegten in einfachen Speichersystemen alle logischen Laufwerke den vollen ihnen zugewiesenen Speicherplatz im System, so gehen immer mehr Hersteller dazu über, nur so viel Platz zu beschreiben, wie tatsächlich von Daten belegt wird. Damit bleibt das restliche, noch nicht genutzte Volumen für die Nutzung durch andere Systeme frei.

Grundlage dieser Thin Provisioning genannten Technologie ist der Einsatz von Speicher-Pools. In einem Array wird hierfür nicht mehr ein logisches Laufwerk auf einer RAID-Gruppe im Backend angelegt. Vielmehr wird der gesamte Speicherplatz zunächst einem Pool von kleinen Teilen (Chunks) zugewiesen, aus dem dann die logischen Laufwerke definiert werden.
Hierzu gibt der Anwender die gesamte Größe und den zunächst zugewiesenen logischen Speicherplatz für eine LUN an. Das Array stellt nun das logische Laufwerk in seiner gesamten Größe nach außen dar, während intern nur die festgelegte Mindestgröße belegt ist. Das ermöglicht es dem Speichermanager, wesentlich mehr logische Laufwerke auf seinem System unterzubringen als noch zu Zeiten des Standard oder Thick Provisioning.

Thin Provisioning: Kapazität wird den Anwendungen flexibel je nach Bedarf aus einem Storage-Pool zugewiesen.
Foto: Infortrend

Viele Hersteller ergänzen Thin Provisioning durch einen Automatismus, der bei Erreichen der Füllgrenze des physikalisch zugewiesenen Speicherplatzes diesen automatisch durch Hinzufügen weiterer Chunks aus dem Pool erweitert. Das verhindert ein "Überlaufen" der Laufwerke, das bei den ersten Systemen mit Thin Provisioning und vollständig manueller Bedienung eine tägliche Gefahr darstellte. Die nächste Stufe ist dann die automatische Verkleinerung des physikalischen Speicherplatzes, verbunden mit einer Lösung namens Zero Space Reclaim. Hier sucht das Array nach Chunks, die zwar noch beschrieben sind, allerdings durch das Dateisystem des Rechners nicht mehr logisch genutzt werden.

Diese Chunks werden durch das System von der LUN abgekoppelt und wieder in den Pool zurückgelegt. Damit stehen sie für die Nutzung durch andere Rechner zur Verfügung. Eine Vorstufe hierzu haben einige Hersteller bereits implementiert. Hier sucht das Betriebssystem des Arrays nach sogenannten Nullmustern, von denen es annimmt, dass sie ebenfalls keine Informationen mehr enthalten. Die Chunks, die diese Nullmuster enthalten, werden durch Zurücklegen in den Pool ebenfalls wieder anderen Rechnern zur Verfügung gestellt. Allerdings birgt dieses Verfahren die Gefahr, dass Nullmuster eben in seltenen Fällen auch Echtdaten sein können, die im Falle des Zurücklegens in den Pool verloren gehen könnten.

Deduplikation und Kompression

Zwei weitere Verfahren zur effizienteren Nutzung des vorhandenen physikalischen Speicherplatzes sind die Deduplikation und die Kompression. Bei der Deduplikation betrachtet das Betriebssystem des Arrays alle gespeicherten Daten und untersucht diese auf sich wiederholende Abschnitte. Die erste gespeicherte Version eines Abschnittes bleibt erhalten, während alle sich wiederholenden Abschnitte durch einen Verweis auf die erste Version ersetzt werden. Hierdurch lassen sich je nach Art der Daten nach Herstellerangaben zwischen 50 und 90 Prozent des genutzten Speichers zurückgewinnen.

Vor allem im Backup-Umfeld lassen sich hiermit große Volumengewinne erzeugen. Deduplikation wird entweder bereits während des Schreibens der Daten auf das Array oder aber erst nach deren vollständiger Speicherung durchgeführt. Während die erste Option wesentlich weniger physikalischen Speicherplatz, aber höhere Prozessorleistung direkt am Speicherkanal benötigt, speichert die zweite die Daten zunächst unbehandelt ab und benötigt dazu wesentlich mehr physikalischen Speicher. Auf der anderen Seite sind die Prozessorlast und die Belastung am Datenkanal selbst wesentlich geringer.

Die Kompression arbeitet ähnlich wie die Deduplikation, allerdings sucht sie nach den am häufigsten vorkommenden Zeichensequenzen innerhalb einzelner Dateien und ersetzt die am häufigsten gefundenen Abfolgen durch die kürzest möglichen Repräsentanzen sowie weniger häufig gefundene durch längere Repräsentanzen. Damit verkleinert das Array einzelne Dateien und verringert damit deren Platzbedarf auf den Festplatten. Hersteller geben hierfür je nach Umfeld zwischen 25 und 75 Prozent Ersparnis an.

Management

Das Gebiet der Verwaltung von Speichersystemen ist das noch am proprietärsten gestaltete der Branche. Egal, ob man kleinere, Midrange- oder Enterprise-Systeme betrachtet, jeder Hersteller bringt seine eigenen Oberflächen und Philosophien bei der Steuerung seiner Arrays mit. Zwar hat man sich branchenweit auf einigermaßen gleiche Bezeichnungen für einzelne physikalische und logische Komponenten eines Systems geeinigt, jedoch meint jeder Anbieter, den Nutzer mit einer eigenen Umgebung zur Verwaltung beglücken zu müssen.

Nur wenige halten sich bereits durchgängig an den von der SNIA definierten Standard, noch weniger ermöglichen die Integration von Fremdhardware in ihre eigene Umgebung. Dies ist der Bereich, in dem die gesamte Branche noch die meiste Entwicklungsarbeit investieren muss.

Strom sparen mit MAID

Im Bereich des Archives und Backups nutzen die Hersteller traditioneller Bandsysteme den niedrigen Energieverbrauch ihrer Produkte als Hauptargument gegen Platten-Arrays. Dieser niedrige Verbrauch wird hauptsächlich dadurch erreicht, dass die Speichermedien nur einen sehr geringen Teil ihrer Lebenszeit bewegt und damit mit Strom versorgt werden müssen.

Dieses Prinzip machen sich immer mehr Anbieter von Plattensystemen zunutze, indem sie für eine bestimmte Zeit nicht genutzte Laufwerke entweder in ihrer Umdrehungszahl verringern oder gänzlich abschalten (MAID = Massive Array of Idle Disks). Werden Daten von diesen Platten angefragt, fahren die Laufwerke wieder hoch und ermöglichen nach kurzer Zeit den Zugriff.

Hierdurch können ähnliche Energieeinsparungen wie bei Bandbibliotheken erzielt werden, allerdings nur im Bereich der SATA-Laufwerke, da diese für den Betrieb mit häufigen Ein- und Ausschaltsequenzen entworfen wurden. Festplatten mit hoher Umdrehungszahl, also mit FC- oder SAS-Schnittstelle, sind für den Enterprise-Einsatz (Dauerbetrieb) entworfen und können durch ständiges Ein-/Ausschalten sogar beschädigt werden.

Optimieren durch neue HDDs und SSDs

Durch die aktuellen Entwicklungen vor allem bei den unterschiedlichen Datenträgern lassen sich auch bereits installierte Arrays noch weiter aufrüsten. Diese Aufwertung kann nicht nur in Richtung der Kapazität, also beispielsweise mit 3- oder 4-TByte-Festplatten erfolgen. Auch die Nutzung neuer I/O-Leistungen vor allem von SSD-Laufwerken mit ihren bis zu 30-fach höheren Durchsätzen eröffnen ganz neue Möglichkeiten bei der Nutzung von Speichersubsystemen.

Für den Betrieb mit leiseren, stromsparenden und stärker kühlenden 2,5-Zoll-Festplatten müssen die meisten Speichersysteme auch nicht umgerüstet werden. Laufwerke mit SAS- und SATA-Schnittstelle können mit entsprechenden Aufnahmeblechen in denselben Einschüben betrieben werden wie ihre großen Pendants, nur in Arrays mit FC-Schnittstelle kommt der Einsatz der kleinen Laufwerke nicht mehr infrage.

Schnelles und konvergentes Netzwerk

Waren noch vor wenigen Jahren 100-Mbit/s-Ethernet und 2-Gbit/s-Fibre-Channel Standard, so hat die Standardvernetzung mit 10 Gbit/s und den Protokollen iSCSI und FCoE das traditionelle SAN mit aktuell 8 Gbit/s überholt. Mit zwei und künftig noch mehr Gbit/s Vorsprung dürfte das bisher stärkste Argument der Fibre-Channel-Fraktion, nämlich der wesentlich geringere Protokoll-Overhead und die damit vergleichsweise höhere Leistung, der Vergangenheit angehören.

In Zukunft werden immer mehr Netze konvergent, also sowohl für den Speicher- als auch für den Rechnerbetrieb ausgelegt sein. Immer weniger Kunden werden sich die Mühe machen, eine - noch dazu völlig überteuerte - separate Hardware für die Kopplung ihrer Speichersysteme aufzubauen, das Personal darauf zu schulen und hohe Gebühren für Dienstleistung und Kundendienst zu bezahlen. Auch im WAN, also in der Überbrückung von Weitverkehrsstrecken, lassen sich die konvergenten Technologien einfach und ohne großen Aufwand einsetzen.

(Der Beitrag wurde von der CP-Schwesterpublikation TecChannel übernommen / rb)