Halbleiter Speicher auf Basis NAND Flash im virtualisierten Rechenzentrum - Eine sinnvolle und wichtige Investition

Starnberg, 27. April 2017 - Wo liegen aus praktischer Sicht auf Basis derzeitig verfügbarer Technologien die Vorteile beim Einsatz von Flash Storage? Teil 1 von 2...

Um was es hier geht: Nicht-flüchtiger (immer noch MOS FET) Flashspeicher ist gerade dabei, die klassische Domäne der drehenden Festplatten von 10/15k RPM Arrays durch leistungsfähigere und sehr energieeffiziente Medien bzw. Systeme langsam, aber Schritt für Schritt, zu ersetzen. IT-Planer sollten dies und das rasche Wachstum von virtuellen Maschinen Speicher- und Netzwerkseitig in Bezug auf einen skalierbaren und berechenbar robusten I/O-Stack berücksichtigen. Effektiv umgesetzt, ist NAND Flash im Verbund mit der hierfür optimierten Controllertechnik bzw. Speicher-Verwaltungs-Software beim I/O-Handling von virtualisierten Anwendungen unverzichtbar und derzeit ein primäres Anwendungsszenario. In diesem 1. Teil habe ich kurz als Übersicht skizziert, weshalb der verstärkte Einsatz von non-volatile (NVM) Flash Storage im Unternehmen sinnvoll und wichtig ist. Im nächsten Blogpost (Teil 2) werde ich dann einen Ausblick auf einige relevante Entwicklungen bei Flash inklusive möglicher Weiterentwicklungen sowie neuer Technologieoptionen (PCM...) geben. NVMe wird dabei eine wichtige Rolle spielen (s.a. Abb. 1 unten).

Kriterien und Vorteile zum SSD-Einsatz bei virtualisierter Umgebungen

Sicherlich werden Sie mir zustimmen, dass Flash möglichst nahtlos, hochautomatisiert, ausfallsicher und skalierbar in die virtualisierte Infrastruktur einzubinden sein soll (z.B.  OpenStack-, VVOL support); dies gilt insbesondere im Zusammenhang mit unternehmenskritischen virtualisierten Workloads: Wenn sehr viele VMs gleichzeitig um die I/O- Ressourcen des Speichers konkurrieren, ist die flexible Ausbaubarkeit der Speicher- (und Netzwerk-Infrastruktur) mitentscheidend. In Verbindung mit Festplatten hingegen bedeutet ein Mehr an I/Os ein mehr Drives und damit höhere Kapazitäten, die wiederum einen höheren Verwaltungs- Platz- und Energieaufwand nach sich ziehen; ferner steigt die potentielle Ausfallwahrscheinlichkeit. Skalierbare Flash-Systeme hingegen bieten auf Grund aktueller Technologiefortschritten eine robuste Plattform auch für sehr leistungshungrige Anwendungen.

  • In Verbindung mit Deduplizierung, intelligentem Caching und Komprimierung ist es realistisch, mit Flash bereits den Preispunkt (CAPEX) von HDD-Arrays zu unterschreiten. Natürlich arbeiten diese Tools auch mit HDD-Arrays zusammen, allerdings leidet dann - unabhängig von den weiteren technologiebedingten Faktoren - die Performance. All Flash oder je nach Applikationsanforderungen auch Hybrid Flash ist heute deshalb immer die bessere Wahl für Tier-1 Anwendungen, insbesondere bei VDI- und Datenbank-Umgebungen.

  • 100% Flash garantiert konstant höchste Anwendungsleistung (QoS) und wenn alle Applikationsdaten darauf gespeichert sind, müssen Administratoren nicht ständig aktiv eingreifen und die virtualisierte Applikation I/O-seitig überwachen der optimieren (TCO). Zu beachten: nicht alle VMs benötigen immer die höchste I/O-Performance oder verfügen über Anwendungen, die sehr schreibintensiv sind (höhere Belastung der NAND- Zellen); Flash ist technologisch bedingt hier dann auch weniger leistungsfähig, weshalb von einigen Anbietern und Softwarelösungen das Controller-Caching über (D)RAM unterstützt wird, um zum Backend-Storage nur sequential reads zu liefern.

Flash mit Software Defined Block Storage

Der Einsatz von Flash-Ressourcen auf Hypervisor-Ebene anstelle im SAN ist ein weiterer Weg um VMs zu beschleunigen. Es gibt keine zusätzlichen Latenzen wie beim Durchlaufen des I/O im SAN. Wenn Flash allerdings nur selten benötigt wird, ist der Ansatz aus Kostensicht derzeit noch fraglich; sinnvoller ist die Aufteilung der Flash-Ressourcen über alle beteiligten Server, um eine gleichmäßige Auslastung zu erreichen. Storage Software direkt beim Hypervisor, die den I/O zwischen VMs und den Speicher-Arrays kontrolliert und die am häufigsten zugegriffenen Daten auf den lokalen Flash-Systemen speichert, hat den Vorteil, dass die Speicherleistung virtualisiert und von der Speicherkapazität getrennt ist, d.h. I/O-kritische Reads & Writes werden über jeweils lokale Cache Systeme ausgeführt = Flash-Cache Performance-Pool, während HDD Storage Arrays als Capacity-Pool mit kostenoptimierten SATA-/SAS Drives für nicht zugriffskritische I/Os verwendet werden (hybrider Ansatz).

Server-based Flash Storage

Je enger Flash an die Anwendung rückt, desto geringer die Latenzzeiten. PCIe Flash im Server ist schnell aber als Direct Attached Storage (DAS) weniger skalierbar und bei Ausfall des Systems ein Single-Point-of-Failure. Alternativ fassen Anbieter deshalb PCIe-Flash-Systeme über mehrere Server zu einem logischen Flash-Pool zusammen, was die Ausfallsicherheit und das dynamische Workload-Management verbessert (scale-out Flash). Eine weitere Entwicklung geht zu kommerziellem Clustered-Server-Storage, um einen erweiterbaren Flashpool als Tier-0 Storage über High-Speed-Verbindungen (Memory-zu-Memory Channel / RDMA) bereitzustellen.

Server-based Flash lässt sich, die richtige Lösung-/Software vorausgesetzt, effektiv mit All-Flash, Hybrid-Konzepten oder HDD-Arrays kombinieren. Netzwerkseitig als Connectivity kommt Ethernet (10 GBE), Fibre Channel (16G) oder InfiniBand (meist HPC-Umfeld) zum Einsatz. Im Zusammenhang mit Software Definierten Infrastrukturen (SDS, SDN, VMs => SDDC) ist Ethernet aus Standardisierungsgründen in der Breite aller Installationen künftig wohl die erste Wahl.

Unabhängig der genannten Möglichkeiten bedeutet der Einsatz von All-Flash meist die Umstellung auf Data- und Storage Management-Services des jeweiligen Anbieters, also je nach Hersteller zum Teil kostenpflichtige- bzw. herstellerspezifische Dienste zur Replikation, Thin Provisioning, Deduplizierung, Komprimierung und Snapshots. Speicheradministratoren müssen sich u.U. dann von ihrer bislang gewohnten Umgebung verabschieden und auch diverse Prozesse für Backups oder das Disaster Recovery anpassen. Das gilt allerdings auch für die Umstellung von Array-Controlled Storage auf Software Defined Storage. Die intelligente „Middleware“ schafft dabei neue Anforderungen und auch Abhängigkeiten (Lizenzen, Updates, Zertifizierungen), sodass auch diese Seite mit bewertet und gewichtet werden muss. Auf der Netzwerkseite wiederum kann es bedeuten, Fabric-Switches aufzurüsten, um den zusätzlichen I/O-Traffic bewältigen zu können. Diese Aspekte sollten neben den Beschaffungs- und Betriebskosten bei der Planung eines „Balanced Systems“ berücksichtigt werden. Zusätzlich zu den Kosten für eine neue Storage-Plattform gilt es die Ausgaben zur Migration auf die neue Architektur entsprechend zu berücksichtigen.


Abb. 1: NVMe over Fabrics (Bildquelle NVM Express.org)**

** Quellenangabe: http://www.nvmexpress.org/