Verfügbarkeit, Performance und Skalierung: Storage-Architekturen im Vergleich

Bei allen Gemeinsamkeiten unterscheiden sich Storage-Architekturen doch teils gewaltig. Ajay Singh von Nimble Storage gibt einen Überblick.

Betrachtet man die Marketing-Claims aktueller Storage-Anbieter, kann man dabei leicht vergessen, dass sie ja eigentlich alle die gleichen Grundfunktionen bieten. Was sie aber voneinander unterscheidet ist die Frage, wie effizient sie eingesetzt werden können.

APICS: Grundlegende Anforderungen an Storage

Die grundlegenden Anforderungen an Storage können unter der Abkürzung APICS (Availability, Performance, Integrity, Capacity und Scalability) zusammengefasst werden.

Ajay Singh, Nimble Storage

Ajay Singh, VP Product Management
bei Nimble Storage

  • High Availability. Traditionell bedeutete dies Hardware-Redundanz oder Software-Funktionen wie RAID. Zu den neuen Wegen, um sich vor Ausfällen zu schützen, gehört die Offsite-Replikation von Daten oder die Nutzung von Point-in-Time-Snapshots.
  • Performance. Dediziertes Storage muss höhere Leistung liefern als ein Anwendungsserver. Historisch bedeutete dies die Verwendung von Platten-Shelves. Heute ist dies eher eine Mischung aus Flash und schnelldrehenden Festplatten.
  • Integrity (oder Durability). Ein Speichersystem darf möglichst keine Daten verlieren, weder aufgrund von Spannungsverlust, Abstürzen, Hardware-Fehlern oder durch noch heimtückischere Probleme wie Datenverlust auf physischen Speichermedien wie Festplatten oder Flash-SSDs.
  • Capacity. Neue Funktionen wie Komprimierung und Deduplizierung reduzieren die Storage-Auslastung. Viele Speichersysteme ermöglichen Overprovisioning (oder Thin Provisioning) von Kapazität, um die Nutzung der Kapazität zu verhindern, bis diese gebraucht wird.
  • Scalability. Der Speicher muss die Kapazität und Leistung erhöhen, wenn die Anwendungen Daten hinzufügen. Dies kann durch (vertikales) Aufwärtsskalieren bis hin zum Ausskalieren (horizontal, durch Clustering) erfolgen.

Wenn die meisten Speichersysteme diese Anforderungen erfüllen, was unterscheidet sie dann noch voneinander? Werfen wir einen Blick auf die drei Bereiche Performance, Verfügbarkeit (Availability) und Skalierbarkeit.  

Die Frage nach der Performance im Storage-System

Die größte Änderung im Speicherbereich fand bei der Leistung statt. Mainstream-Anwendungen laufen üblicherweise in Random-I/O-Bottlenecks (gemessen in IOPS, also Input-Output-Operations pro Sekunde). Die Server-Virtualisierung macht den Bedarf an mehr IOPS erst recht erforderlich.

Früher bauten die Storage-Architekturen auf HDDs für IOPS auf. Dies änderte sich mit der Einführung von Flash. Fast jeder Speicheranbieter nutzt inzwischen Flash, um die nötige Performance zu liefern. Aber eine Storage-Architektur aus der Zeit vor 2008 wurde für HDDs optimiert. Flash verbessert die Leistung, wenn es als zusätzliche Ebene oder Lese-/Schreib-Cache hinzugefügt wird. Dieser Ansatz ist aber nicht ganz ohne Problematik:

Kosten. Flash verarbeitet Random Writes, deshalb müssen Anbieter teure Flash-Systeme nutzen (SLC oder eMLC), um Belastungsprobleme zu lösen. Die Ausnahme sind protokollstrukturierte Dateisysteme, die den Verschleiß minimieren sollen und Commodity-MLC-Flash nutzen. Wird Flash als zusätzliche Ebene oder Schreib-Cache verwendet, erleidet er aufgrund von RAID-Konfigurationen zusätzliche Einbußen.

Performance. Ein Flash-Layer kann die Leistung nur für eine Teilmenge an Daten beschleunigen, entweder für Lese- oder aber für Burst-Schreibvorgänge. Wird er als Schreib-Cache oder -Ebene genutzt, beschleunigt der Flash einen Schreib-Burst, bis er voll ist. Dann müssen die Daten erst zur Festplatte verschoben werden, um neue Schreibvorgänge aufzunehmen. Weitergegebene Daten werden so aber zum Performance-Engpass. Wird der Flash als Lese-Cache verwendet, verbessert er selbst nicht direkt die Schreib-Leistung.

Workload-Änderung. Eine Verschiebung aktiver oder geschäftskritischer Daten kann zu drastisch veränderten Reaktionszeiten führen. Mehrschichtige Ansätze sind langsam (in der Größenordnung von Stunden) und die Granularität, mit der sie geschäftskritische Daten bearbeiten, ist grob. Hier reden wir von einer Größenordnung im Bereich von Megabyte oder sogar Gigabyte, wodurch Flash für „kältere“ Daten verschwendet wird. Caching reagiert schneller (in Sekunden oder Minuten) und verarbeitet „heiße“ Daten effizienter (in Kilobyte-Segmenten).

Ansatz Leistungsverbesserung Zeit zur Anpassung an Änderungen Granularität der Datenbewegung Kosten Beispiele
Flash als Tier (einschließlich Flash-only-Systeme) Niedrig. Verbessert Schreib- & Lese-Leistung, aber nur für Daten im Flash-Tier. Nähert sich im stationären Zustand der Festplatten-Leistung, sofern Daten in den Tiers nicht statisch bleiben. Stunden bis Tage Grob, MB bis GB. Hoch. Benötigt SLC- oder eMLC-Flash zur Bewältigung von Verschleiß plus RAID-Overhead. EMC VNX, HP 3Par, Dell Compellent
Flash als Schreib-Cache Niedrig. Verbessert leicht die Schreib-Leistung  durch Umsortieren von Schreibvorgängen, um Random Writes zu verringern (und Überschreibungen zu neutralisieren). Schnell. Sekunden bis Minuten. Fein, KB. Hoch. Benötigt SLC- oder eMLC-Flash zur Bewältigung von Verschleiß plus RAID Overhead. EMC VNX, NeApp FAS, ZFS
Flash als Lese-Cache Mittel. Verbessert Lese-Leistung erheblich. Schnell. Sekunden bis Minuten. Fein, KB. Mittel. Benötigt eMLC- oder MLC-Flash, verursacht aber keinen RAID-Overhead. Benötigt noch andere Lösung für Schreibvorgänge. NetApp FAS, ZFS
Flash als Read-Cache + Protokoll-Strukturierung Hoch. Lese-Cache verbessert Lese-Leistung erheblich. Protokollstrukturierung liefert hohe Schreib-Leistung  direkt auf die Festplatte. Schnell. Sekunden bis Minuten. Fein, KB.

Niedrig. Protokoll-Strukturierung ermöglicht MLC-Flash. Kein RAID- Overhead.

Preiswerte HDDs können sehr hohe Schreib-Leistung liefern.

Nimble Storage CASL

Mit RAID, Snapshots und Replikation zu mehr Verfügbarkeit

Die meisten Speichersysteme sind mit redundanter Hardware geplant. Software-Funktionen wie RAID und verbesserte Funktionen wie Snapshot und Replikation erhalten im Fall von Störungen die Geschäftskontinuität aufrecht.

RAID-Zielkonflikt: Jedes Jahr fällt ein Bruchteil an HDDs (und SSDs) aus. Alle hochverfügbaren Architekturen nutzen Software als Sicherung; das kann allerdings Zielkonflikte bei Leistung, Kapazität und Redundanz (und in gewissen Maße Rebuild-Zeiten) bedeuten. Einige Architekturen verlieren an Leistung, wenn sie Storage-Systeme vor doppeltem Festplattenausfall (z.B. RAID6) schützen und zwingen so zur unangenehmen Wahl zwischen Leistung oder Zuverlässigkeit. Genauso zwingen sie auch zur Wahl zwischen Leistung (die RAID10 benötigt) oder Kapazitätseffizienz (z.B. RAID6). Eine lange Liste an RAID-Optionen ist aber kein Vorteil. Effizientere Architekturen schützen vor doppeltem Festplattenausfall, ohne die Leistung zu beeinträchtigen, leiten aber Kapazität ab oder erfordern lange Rebuild-Zeiten. Beispiele für Architekturen mit schneller RAID-Doppelparität sind u.a. NetApps WAFL, ZFS und Nimble Storage CASL.

Denken Sie daran: Doppelparität ist ab 2015 nicht mehr ausreichend (wenn 6-Terabyte-HDDs in Unternehmensspeichern Standard werden)! Der Grund sind die Bitfehlerraten, die relativ konstant geblieben sind, während die „Anzahl an Bits“ (d.h. die HDD-Kapazität) jedes Jahr steigt. Mean Time to Data Loss (MTTDL) wird mit jeder Laufwerkgeneration schlechter. Suchen Sie nach Speichern, die dreifachen Festplattenausfall (RAID mit Dreifachparität) ohne maßgebliche Beeinträchtigung der Leistung bewältigen.

Nachstehend eine Tabelle mit den gängigsten, derzeit verfügbaren RAID-Optionen:

Name Leistung Kapazitätseffizienz # an tolerierten Ausfällen Speicherarchitekturen
RAID10 Hoch Niedrig 1 pro Untergruppe Verschiedene Anbieter
RAID6 Niedrig Hoch 2 pro RAID-Gruppe Verschiedene Anbieter
Schneller RAID6 Hoch Hoch 2 pro RAID-Gruppe NetApp WAFL, Nimble CASL
Dreifach-Parität- RAID Mittel Hoch 3 pro RAID-Gruppe ZFS
Schneller Dreifach-Parität-RAID Hoch Hoch 3 pro RAID-Gruppe Nimble CASL

Snapshots. Snapshots bieten die Möglichkeit zur schnellen Wiederherstellung. Für gute RPOs (Recovery Point Objective) können sie alle fünf Minuten erfasst werden. Aber nicht alle Architekturen nutzen Snapshots effektiv, was entweder in unzureichender Performance oder in Kapazitätsproblemen resultiert. Drei Tests für einen guten Snapshots sind:

  • Können Sie Snapshots häufig erfassen und können Sie Hunderte davon auf dem System vorhalten, ohne dass dies die Anwendung beeinträchtigt? NetApp und Nimble Storage sind hierfür gute Beispiele.
  • Sind sie platzsparend? Gute Implementierungen verwalten Snapshots in sehr kleinen Blockgrößen (bei Nimble Storage CASL sind die Blockgrößen variabel), und ermöglichen so einen sehr geringen Kapazitätsverbrauch der Snapshots.
  • Sind sie in gängigen Applikationen (z.B. Microsoft VSS, VMware) integriert und replizieren sie eine zweite Kopie effizient? 

Proaktive Fehlervermeidung. Viele Storage-Architekturen haben eine „Call Home”-Funktion, die den Anbieter benachrichtigt, wenn es einen Hardware-Fehler gegeben hat. Hochentwickelte Implementierungen sammeln kontinuierlich Signale und Protokolle in Echtzeit und vergleichen sie zur proaktiven Fehlererkennung mit den bekannten Problemen.

Unterschiede bei der Skalierbarkeit

Die meisten Storage-Architekturen erweitern Kapazität und Leistung durch Hochskalieren (Hinzufügen von Platten-Shelves oder SSDs), eine einfache, aber unwirtschaftliche Methode. Einige Architekturen bieten horizontale Skalierbarkeit durch Clustern zusätzlicher Speicherknoten (und machen mühsame, umfangreiche Upgrades überflüssig), zwingen aber zu Controller-Käufen, wenn nur Kapazität benötigt wird. Flexible Architekturen wie Nimbles CASL ermöglichen dagegen die Skalierung von Leistung und Kapazität unabhängig voneinander.

Ansatz Nutzen Nachteil Beispiele
Vertikal skalieren (Kapazität) Einfacher, preiswerter Weg der Kapazitätssteigerung.

Hat typischerweise aufwendige Datenmigrationen zur Folge, wenn neue Arrays hinzugefügt/verschoben werden.

Unwirtschaftlich, wenn nur mehr Leistung benötigt wird (Spindeln für Leistung erforderlich).

EMC VNX, Dell Compellent, ZFS
Horizontal skalieren

Lineare Skalierbarkeit von Leistung & Kapazität.

Störungsfreies Hinzufügen neuer Arrays (ohne Datenmigration).

Erfordert mehr Controller, auch wenn nur Kapazität benötigt wird. EMC Isilon, Dell Equallogic, IBM XIV
Vertikal und horizontal skalieren

Flexiblere Art der Skalierung von Leistung oder Kapazität.

Unterbrechungsfreies Hinzufügen neuer Arrays oder zusätzlicher Kapazität.

Verknüpft noch immer Leistung mit Kapazität („Spindelzahl diktiert Leistung“), wobei Kapazität verschwendet wird, wenn nur Leistung benötigt wird. NetApp Clustered ONTAP, HP 3Par
Scale-to-Fit (Hochskalieren, tiefer- und ausskalieren) Flexible und kostenwirksame Art, Leistung oder Kapazität unabhängig voneinander zu skalieren. Störungsfreies Hinzufügen neuer Controller, neuer Arrays oder zusätzlicher Kapazität bzw. Flash.   Nimble Storage CASL

Folgen Sie SearchStorage.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im September 2014 aktualisiert

Erfahren Sie mehr über Storage-Anbieter

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close