Kapazität und Performance nach Bedarf skalieren

Big Data beherrschbar machen

17. Dezember 2013, 7:00 Uhr | Klaus Kupfer/pf, Senior Systems Engineer bei Nimble Storage.

"Big Data" stellt für Unternehmen eine große Herausforderung dar: Virtualisierung und moderne Business-Applikationen erfordern zunehmend mehr Speicherkapazität - zugleich aber auch höchste Performance beim Lese- und Schreibzugriffen. Beide Anforderungen gemeinsam lassen mit klassischen Storage-Systemen nur schwer oder mit hohen Kosten für Tiering-Modelle umsetzen. Die Alternative bildet ein "schlankeres" Konzept mit intelligentem Storage-Management.Während auf der Server-Seite die Technik durch die Entwicklung immer neuer CPUs mit den steigenden IT-Anforderungen leicht Schritt halten kann, ist dies auf Storage-Seite nicht so einfach. Das Problem sind veraltete Architekturen fast aller gegenwärtig angebotenen Storage-Systeme. Diese verlassen sich bei der Geschwindigkeit auf die Anzahl der sich darin arbeitenden Festplatten - ein Konzept, das den heutigen Anforderungen kaum noch gerecht wird: Denn die wirklich geschäftskritischen Anwendungen von Unternehmen stellen im weitesten Sinne Datenbanken dar. Diese schreiben und lesen aber nur relativ kleine Datenpakete im Bereich von wenigen KByte auf und von den Festplattensystemen in zufälliger Reihenfolge. Genau dort liegt die eigentliche Herausforderung für Storage-System.   Klassische Beschränkungen Um solche kleinen Datenpakete verarbeiten zu können, muss eine Festplatte zunächst den Schreib-/Lesekopf in die richtige Spur bewegen und dann warten, bis der richtige Block durch die Plattenumdrehung unter dem Kopf liegt. Die notwendige Zeit für einen solchen Vorgang liegt im Bereich von drei bis fünf Millisekunden - in der Datenverarbeitung eine Ewigkeit. Selbst schnell drehende Festplatten schaffen nicht mehr als 150 bis 180 dieser Operationen pro Sekunde. Innerhalb der letzten zehn Jahre hat sich die Kapazität der Festplatten zwar verhunderfacht, aber die Geschwindigkeit der einzelnen Festplatten ist kaum angestiegen. Storage-Systeme halten zwar dem Datenwachstum auf diese Weise stand, aber nicht den gestiegenen Geschwindigkeitsanforderungen. Da die klassischen Storage-Hersteller die Architekturen ihrer etablierten Produkte nicht so einfach ändern können, bieten sie verschiedene Strategien für die Problembehebung an. Diese haben alle das Medium Flash gemeinsam: Da Flash in Form von SSDs (Solid State Drives) oder PCIe-Karten keine beweglichen Teile besitzt, ist dessen I/O-Verhalten dem magnetischer Festplatten deutlich überlegen. Es lässt sich dabei von einer mindestens 100-fach höheren Lesegeschwindigkeit ausgehen - allerdings nur von einer etwa 30-fach höheren Schreibgeschwindigkeit. Leider ist es momentan nicht wirtschaftlich, große Mengen an Festplatten durch Flash zu ersetzen. Daher kommt Flash meist als zusätzliches "Tier" innerhalb von Storage-Systemen oder virtualisierten Umgebungen zum Einsatz oder als Schreib- und/oder Lese-Cache. Die Unzulänglichkeiten der langsamen Platten lassen sich so kaschieren, gleichzeitig ergeben sich jedoch Herausforderungen im Betrieb solcher Systeme.   Flash ist kein Allheilmittel Fortschrittliche Storage-Systeme, die ebenfalls Flash-Module kombiniert mit Festplatten nutzen, können das Problem allerdings bei der Wurzel packen. Und dies liegt nicht am Medium Festplatte oder Flash, sondern am Datenlayout auf diesen Medien. Datenblöcke, die von Anwendungen kommen, werden zum Beispiel nicht mehr einzeln geschrieben, sondern zu hunderten bis tausenden "Stripes" zusammengefasst und dann sequentiell auf alle Platten geschrieben. In diesem Fall muss der Schreibkopf der Platte nur einmal die Anfangsposition suchen und kann dann ohne Unterbrechung die Daten wegschreiben. Bei den Durchsätzen selbst langsam drehender und hochkapazitativer Platten lässt sich dadurch die Schreibgeschwindigkeit pro Platte theoretisch um den Faktor 50 bis 100 erhöhen. Wenn zusätzlich die zu schreibende Datenmenge durch Echtzeitkomprimierung reduziert ist, steigt die Geschwindigkeit weiter. Damit stellt sich nun nicht mehr die Frage, wie viele Platten vorhanden sind, um die Blöcke wegschreiben zu können, sondern wie schnell das Sortieren und Komprimieren stattfinden kann. Dies ist aber allein abhängig von den CPUs im Storage Controller. Dieser Ansatz ermöglicht, dass die Geschwindigkeit allein durch die Anzahl der CPU-Kerne skaliert werden kann. Storage-Systeme, die nach diesem Prinzip arbeiten, können ähnliche Schreibgeschwindigkeiten wie Flash-Module erreichen, nutzen aber nur langsam drehende Festplatten, die deutlich günstiger sind. Ein anderer Aspekt ist das Lesen der Daten. Dies lässt sich leider nicht sequenzieren wie das Schreiben. Daher gilt es zu verhindern, dass einzelne kleine Datenblöcke direkt von den Festplatten abgerufen werden. An dieser Stelle spielen die Flash-Module ihre Vorteile aus. Wichtig ist dabei, dass die Daten schon vor dem ersten Lesen im Flash liegen - anders als bei einem Tiering-Modell, bei dem die Daten erst dann auf das schnelle Flash-Medium migrieren, wenn sie auf den Platten schon mehrfach angefragt wurden. Dafür sorgen moderne Algorithmen, die jeden einzelnen Block schon beim Schrei-ben daraufhin analysieren, wie schnell dieser wieder zum Lesen ansteht, und ihn dann bei Bedarf parallel auf die Festplatten und in die Flash-Bereiche schreiben. Diese Algorithmen sind inzwischen so ausgereift, dass sich dadurch weit über 90 Prozent der Leseanforderungen aus dem Flash und damit 100-mal schneller als von Festplatte bedienen lassen. Da bei Weitem nicht alle Daten zum schnellen Lesen zur Verfügung stehen müssen, hält sich der Anteil von Flash an der Gesamtkapazität in Grenzen und macht die Geschwindigkeit bezahlbar.   Dreidimensionale Skalierbarkeit So klein diese Unterschiede zu traditionellen Storage-Architekturen erscheinen mögen, so groß sind deren Auswirkungen auf die Art wie Unternehmen heute Storage-Lösungen dimensionieren, angeschaffen und betreiben können. Das Entkoppeln der Geschwindigkeit von der Anzahl der Platten und die Verlagerung hin zur Zahl der CPUs machen es möglich, die Geschwindigkeit einer solchen Lösung alle ein bis zwei Jahre zu verdoppeln - ausschließlich durch Controller-Tausch, online und ohne Datenmigration. Wer lediglich mehr Kapazität benötigt, fügt dem System einfach Platteneinschübe hinzu. Da nur ein "Tier" zum Einsatz kommt, profitieren sofort alle Bereiche von der zusätzlichen Kapazität und können diese nutzen. Reichen die Geschwindigkeit und/oder die Kapazität eines einzelnen Systems nicht mehr aus, lassen sich mehrere davon als Verbund betreiben. Bei Systemen von Nimble Storage beispielsweise kann der Speicherbedarf von 4 TByte Nettokapazität und 15.000 IOPS (Input/Output Operations Per Second) bis derzeit 500 TByte Nettokapazität und 200.000 IOPS ohne Unterbrechung des Betriebs wachsen. Abrunden lässt sich eine solche Lösung durch ein komfortables Management-Portal, in dem der Anwender genau die Auslastung seiner Systeme hinsichtlich Kapazität, Geschwindigkeit (CPU-Auslastung) und Cache-Nutzung ersehen und frühzeitig auf Engpässe reagieren kann.

Moderne Storage Arrays wie beispielsweise die CS 240 von Nimble Storage bieten skalierbare Speicherkapazitäten - für mehr Geschwindigkeit sorgen CPUs und Software.

Keine leichte Aufgabe für den Storage-Administrator: Er muss die Kapazitäten erhöhen und gleichzeitig für genügend Performance sorgen. Ideal wäre eine gleichmäßige "horizontale" Skalierung beider Größen.

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Connectify

Matchmaker+