Wie man physische und virtuelle Maschinen beschleunigt, Teil 2 Shared Storage wird mit SSDs besser und billiger, aber nicht richtig performant

Autor / Redakteur: André Braun, Dell / Rainer Graefen

OLTP-Datenbanken, virtuelle Maschinen, VDI-Umgebungen oder auch langatmige Boot-Vorgänge profitieren vom Einsatz von Flash-Speicher. Solche Aussagen stimmen zwar generell, in der Praxis zeigt sich allerdings häufig, dass der Teufel im Detail steckt.

Firmen zum Thema

Ein quantitativer Vergleich von Kosten und Leistung. Nimmt man Tier 3, derzeit Festplatten, zum Bezugspunkt, so sind 30 Mal höhere Kosten aufzuwenden, wenn man die maximale Perfomanz von Tier benötigt.
Ein quantitativer Vergleich von Kosten und Leistung. Nimmt man Tier 3, derzeit Festplatten, zum Bezugspunkt, so sind 30 Mal höhere Kosten aufzuwenden, wenn man die maximale Perfomanz von Tier benötigt.
(Grafik: Dell)

Schon die erste Generation der Hybrid-Festplatte zeigte, dass die Kombination von Flash und Festplatte nicht gleich alles beschleunigt, was die Anwendung gerade an Daten für die Weiterverarbeitung benötigt. Tritt der Cache miss ein, dann folgt die Strafe auf dem Fuß und die Wartezeiten werden länger als beim direkten Zugriff auf eine Festplatte.

Mit diesem Cache miss penalty müssen in kleinerem oder größerem Maße alle Tiered Architekturen leben, die "hot data" innerhalb einer logischen Festplatte verschieben. Ob Sub Lun Tiering oder gar All Flash Arrays von Systemstrafen weniger betroffen sind, ist derzeit noch schwer zu sagen. Klar scheint zu sein, dass händische Eingriffe ins Tiering nicht mit automatisiertem Tiering mithalten können.

Bildergalerie
Bildergalerie mit 7 Bildern

Und ziemlich unklar ist wie ein modernes Datenmanagement funktionieren könnte, das alle Daten im Cache, im Flash und auf Platte verwaltet. Da muss noch einiges passieren, wenn nicht wieder die guten alten Zeiten ausbrechen sollten, wo jeder Speicher sein eigenes Tool hatte. Im folgenden geht es aber erst einmal um die Vorteile und Schwächen der diversen Flash-Layer.

3. Flash als Cache im Shared Storage

SAN/NAS verwenden allesamt eine Form von DRAM-Caching, um die Performanz zu beschleunigen. Ist dieses Potenzial ausgeschöpft, sollten andere Wege beschritten werden. PCIe-Attached-Flashspeicher in einem SAN-/NAS-Controller oder speziell dafür ausgelegte SSDs in Laufwerkschächten können dieses Caching-Potential verstärken und messbar die Performanz bei der Datenspeicherung steigern.

Solche Konfigurationen stellen fast immer ausschließlich Lesecache zur Verfügung, um eine bis zu zehnfache Beschleunigung bei den Latenzzeiten leseintensiver Workloads bieten zu können. Diese Lösungen sind sehr kostspielig, stark abhängig von der „Cachebarkeit“ des E/A-Datenstroms und somit nur bedingt förderlich für zufällige E/A-Prozesse.

Anwendungswechsel machen Cache ineffizient

Zudem bleiben die Vorteile dieser Art Cache bei Änderungen des Workloads, einem Reboot des Systems, o. ä. nicht erhalten, weil der Cache erst wieder „aufgewärmt“ werden muss. Ist Applikation „A“ eine gewisse Zeit lang aktiv, dann füllen ihre aktiven Daten den Cache (er wärmt sich auf) – die Leistungsfähigkeit dieser Applikation profitiert dann von einem hohen Prozentsatz an Cache hits (Treffer im Cache).

Läuft nun eine Weile lang Applikation „B“, so füllen deren Daten den Cache – wechselt man danach wieder zu „A“, so erfährt deren Leistung Verzögerungen, bis sich der Cache erneut „aufgewärmt“ hat. Diese Eigenheit kann zu Performanzschwankungen – auch als „Monday Morning Problem“ bekannt – führen.

4. Als Tier im Shared Storage

Die meisten modernen Shared-Storage-Produkte bieten einen gewissen Grad an Tiering an, wie beispielsweise die Verwendung unterschiedlicher Datenspeichertypen, um so die €/GByte-Rate und die Performanz zu optimieren.

Das geschieht normalerweise, indem Laufwerke mit unterschiedlichen Geschwindigkeiten und Interface-Techniken (beispielsweise SAS/FC-Festplatten mit 15.000 und 10.000 Umdrehungen pro Sekunde (1/s) gemeinsam mit SATA Laufwerken mit 7.200 1/s) in einer einzigen Einheit kombiniert werden.

Dies kann zusätzlich verbessert werden, indem einer solchen Kombination noch SSDs hinzugefügt werden, um eine weitere Speicherschicht bereitzustellen.

Schwieriges Hot data handling in LUNs

Legacy-Shared-Storage-Produkte mögen das Potential bieten, multiple Laufwerkstypen zu beherbergen, darunter auch SSDs. Aber sie setzen auch Administratoren voraus, die spezifizieren, welche Daten oder Volumes (LUNs) auf jedem Laufwerkstyp bereitgestellt werden.

Die Herausforderung bei dieser Art des LUN-basierten Tierings liegt darin, dass umsichtige Analysen und Planung notwendig sind, um die „heißen“ Bereiche des Workloads zu bestimmen, die am meisten vom SSD-Speicher profitieren.

Diese Bereiche müssen in einer LUN konfiguriert werden, welche dann manuell einem Teil des SSD-Speichers zugewiesen wird. Umsichtige Vorausplanung von Kapazitäten, Workload-Analyse und Speicherzuteilung benötigen spezielle Ressourcen und wertvolle Zeit und resultieren oft in statischen Konfigurationen, die mit der Zeit möglicherweise nicht mehr im Optimalbereich arbeiten.

Leistungssteigerungen sind zwar möglich, können aber nur mit dem entsprechenden Know-how und unter Aufwendung von viel Zeit, einer Senkung der Flexibilität der IT und steigenden Verwaltungskosten zusätzlich zu den Investitionskosten der SSD erreicht werden.

Dynamisches Tiering mit Sub LUNs

Modernere Speicherpodukte ermöglichen durch „Sub LUN“-Tiering und dynamische Zuweisung eine größere Flexibilität. Die effektivsten Lösungen speichern dabei eine History der Zugriffsmuster als Metadaten in eben den kleinen Datenblöcken, aus denen das Volume (LUN) besteht.

Diese Metadaten werden dann genutzt, um die Bereiche des Workloads mit der höchsten Latenz oder dem häufigsten Zugriff zu bestimmen. Das System kann so automatisch die empfindlichsten Bereiche in den Speicher mit der höchsten Performanz verlegen (darunter die SSD-Schicht).

Die Analyse und Verschiebung der Daten erfolgt ohne störende Unterbrechung – bestehende Workloads können selbst während der Ausführung und ohne manuellen Eingriff optimiert werden. Diese Art des automatisierten Tierings erfordert eine hoch virtualisierte und flexible Speicher-Infrastruktur.

Performance Bottlenecks eliminieren

Einer der größten Vorteile dieser Architektur ist, dass der Grundsatz „Kleine Menge – große Wirkung“ greift. Eine vergleichsweise kleine SSD-Kapazität (bemessen am Gesamtprozentsatz eines SAN) reicht aus, um typische Performanz-Probleme zu beheben. Der Schlüssel zum automatisierten „Sub LUN“-Tiering liegt darin, dass nur die wenigen kritischen Blocks, die den Performanz-Flaschenhals bilden, in die höchste Schicht verlagert werden.

Im Blick auf Investitionsaufwendungen werden die €/GByte-Kosten für Speicherkapazität also optimiert. Komplexe Analysen der Speicher-Workloads werden eliminiert. Da der Prozess kontinuierlich verläuft, erübrigen sich Anpassungen an statischen Konfigurationen. Die mit manuellem Tiering einhergehenden Betriebsausgaben (OPEX) werden durch diese Lösung ebenfalls beträchtlich gesenkt.

5. Flash als Teil eines hybriden Speichersystems

Was genau versteht man unter dem Konzept eines „hybriden“ Speichers (Hybrid Storage), bei dem Flash zum Einsatz kommt? Gemeint ist hier eines der beiden oben erläuterten Szenarien: DAS oder Shared Storage, die eine Kombination von klassischen Festplatten und SSD nutzen.

6. Flash als Shared Storage in einem dedizierten Hochgeschwindigkeits-Array

Dezidiertes Flash Storage Array bezeichnet eine sowohl von etablierten Unternehmen als auch von Start-ups definierte, neue Shared-Storage-Kategorie. Dies bezeichnet ein in sich geschlossenes Shared-Storage-Produkt, das nur noch Flash-Speicher beinhaltet.

Solche Produkte werden als eine von zwei Optionen ausgeliefert – entweder mit internen SSD-Laufwerken oder indem Bus-basierte Interfacetechniken zwischen dem Shared-Storage-Controller und dem Flash-Speicher geschaltet werden.

Beide Optionen ermöglichen eine noch erstaunlichere Leistungsfähigkeit, da sie die Notwendigkeit der Datenübertragung durch die FC-/SAS-/SATA-Interfaces des Storage Arrays – und die damit einhergehende Bremsung – beseitigen.

(ID:42232618)