Flash-Speicher im Rechenzentrum

Ratgeber: SSDs in SAN-Umgebungen richtig nutzen

31.10.2013 von Allon Cohen und Joost van Leeuwen
Festplatten-Arrays stoßen insbesondere in virtualisierten Umgebungen und Enterprise-Szenarien schnell an die Grenzen bei hoher I/O-Last. Mit Flash-Speichern lässt sich der Zugriff auf die Daten erheblich beschleunigen. Lesen Sie, worauf es bei SSDs im Enterprise-Einsatz ankommt.

Mit stetig wachsendem Datenspeichervolumen und der Notwendigkeit einer schnelleren Datenverarbeitung benötigen viele Unternehmen bessere Speicherressourcen, um diesen Bedarf zu decken. Auf der Jagd nach der besten Lösung werden sie mehr und mehr mit den Vorteilen der SSD-Technologie vertraut, die sich in heutigen Rechenzentren auf vielfältige Weise zeigen.

Um die Frage "Wann und wo SSDs in einem SAN sinnvoll sind?" zu beantworten, müssen erst die grundlegenden Eigenschaften der Flash-basierten Laufwerke herausgestellt werden. Die SSD ist aus vier wichtigen Elementen aufgebaut: PCB, Controller, Flash-Speicher und Firmware. Die SSD kommt vollständig ohne bewegliche Teile aus.

Die Solid State Disk wurde entwickelt, um Daten viel schneller zu schreiben und zu lesen als die konventionelle rotierende Disk in der Festplatte. Der offensichtliche Unterschied zwischen den beiden ist der Magnetkopf, der auf der Scheibe die spezifische Position suchen muss, um die angefragten Daten der HDD zur Verfügung stellen zu können. Das schnellere Flash-Medium besitzt keine beweglichen Teile, die es bremsen. Der Controller hat bereits die Adressen verfügbar, an denen sich die Daten befinden. Damit ist eine SSD perfekt dazu geeignet, Random-Daten zu lesen und zu schreiben, während die HDD beim Zugriff auf Random-Daten eine physikalische Beschränkung aufweist und damit einen Engpass verursacht. Speziell wenn es darum geht, die Anzahl von Input- und Output-Befehlen pro Sekunde (IOPS) zu erhöhen, stoßen Festplatten schnell an ihre Grenze.

Sequenzielle und zufällige Daten

Eine HDD wurde schon immer für aufeinanderfolgende Datenströme konzipiert, um sequentielle Lese- und Schreibvorgänge zu handhaben. Das bedeutet, dass sequentiell geschriebene oder gelesene Daten physikalisch auf der gleichen Spur erwartet werden. Wenn die Daten über den physischen Datenträger verteilt werden, ist von Zeit zu Zeit eine Defragmentierung notwendig, um die normale Geschwindigkeit der HDD aufrechtzuerhalten.

Reduktion: Für eine I/O-Last von 500.000 IOPS sind entweder 4000 Festplatten oder nur wenige SSDs notwendig.
Foto: OCZ

Allerdings sind moderne Betriebssysteme für eine Simultanverarbeitung ausgelegt und kreieren mit diesen komplexen Daten mehr und mehr Random- (zufällige) Lese- und -Schreibvorgänge. Genau hier schwächelt eine HDD im Gegensatz zur SSD, die problemlos dafür geeignet ist, sowohl sequenzielle als auch zufällige Daten zu verarbeiten. Doch es gibt noch mehr Unterschiede: Nicht nur die Lese- und Schreibgeschwindigkeit einer SSD ist schneller, auch die Zugriffszeiten verringern sich drastisch. Eine HDD braucht zwischen 3 und 20 Millisekunden, wohingegen eine SSD nur zirka 0,02 Millisekunden benötigt, was die 1000-fach verringerte Reaktionsfähigkeit einer HDD bedeutet.

HDD-Array durch SSD ersetzen?

Bei der Analyse einer IT-Infrastruktur wird die gesamte Performance nur so schnell und stabil sein wie das in diesem Umfeld befindliche schwächste Element. Normalerweise ist es das HDD-Array, das durch die Nachteile der Festplatten begrenzt ist.

Einsatzszenarien: SSDs werden typischerweise für Business-kritische Applikationen verwendet, wo es auf sehr hohe IOPS ankommt.
Foto: OCZ

Mit dieser Erkenntnis im Hinterkopf liegt es nahe, die erste Option zu wählen und das HDD-Array im SAN geradewegs durch SSDs zu ersetzen. Diese würden den HDD-Flaschenhals beseitigen. Wäre die SSD erst einmal im Server eingebaut, könnten Benutzer die Daten viel schneller über die gesamte Infrastruktur verarbeiten. Dies ist der einfachste Ansatz zur Lösung des SAN-Problems. Im Vergleich zu einer SSD hat eine HDD mit zirka 205 bis 350 IOPS eine deutlich geringere I/O-Leistung als eine SSD mit rund 50.000 bis 100.000 IOPS. Solid State Disks sind somit sehr interessant und effizient für Server und SANs.

Aber was wäre, wenn die Datenbank lediglich 50 Prozent des derzeitigen Speichers im existierenden SAN benötigt? Nur die Hälfte der Drives mit SSDs zu ersetzen würde die benötigte Gesamtfläche reduzieren (weniger Investitionen) und trotzdem die SAN-Performance gleichzeitig dramatisch verbessern. Das klingt für jeden Administrator oder IT-Manager interessant, wobei es möglicherweise noch bessere und effizientere Lösungen gibt.

Daten-Blender-Effekt im SAN

Ein weiterer Aspekt in einer Server- und SAN-Umgebung: Wenn Nutzer mehrere Lasten auf einem virtuellen Server laufen lassen, werden alle Operationen in einem Datenstrom zusammengefasst. Was bedeutet das in der Praxis? Alle diese sequentiellen Datenbefehle werden in einen großen zufälligen Datenpfad integriert und versuchen so auf das SAN zuzugreifen. Das nennt sich "Daten-Blender-Effekt".

In den vergangenen Jahren sind SAN-Arrays, was die Größe betrifft, extrem gewachsen. In vielen Fällen liegt dies jedoch nicht an einer größer werdenden Datenbank, sondern am steigenden Bedarf der I/O-Performance. Dieser Bedarf an IOPS kann aufgrund der geringen In- und Outputs pro Laufwerk nur durch eine höhere Anzahl an rotierenden Speichermedien (Arrays) gedeckt werden. Dies bedeutet, dass eine SSD gerade in Bezug auf diese I/O-Leistung Hunderte HDDs ersetzen kann.

Doch noch einmal: Die gesamte SAN-Infrastruktur, einschließlich Server, aller Verbindungen und Zugriffspunkte, wird nur so schnell sein wie das langsamste Element. HDDs durch SSDs zu ersetzen wird daher nicht immer die effizienteste Lösung sein.

Effizienz durch Caching erhöhen

Aus Sicht der Nutzer ist die Reaktionsfähigkeit das Einzige, was technisch zählt: Wie schnell bekomme ich die Daten auf meinen Server? Wie wir bereits festgestellt haben, könnte der Zugriff des Servers auf das SAN der Flaschenhals sein. Den Anwender interessiert allein, dass die angefragten Daten so schnell wie möglich - am besten sofort - bearbeitet werden. Als weitere effektive Möglichkeit zum Erhöhen der Reaktionsfähigkeit lässt sich im Server eine SSD hinzufügen und für das Caching der am häufigsten verwendeten Daten (Hot Data) verwenden. Das HDD-Array wird dabei nicht ersetzt.

Flash richtig einsetzen: SSDs werden im SAN gebraucht, wo sogenannte "Hot Zones" angesiedelt sind. Der Flash-Speicher punktet hier mit kurzen Latenzzeiten und der Fähigkeit, sehr viele parallele Anfragen flink abzuarbeiten (hohe IOPS).
Foto: OCZ

Bei jedem Anwendung-Datenzugriff-Profil gibt es immer eine Teilmenge an Daten, die regelmäßig abgefragt werden. Diese Daten befinden sich auch in einem Datenprotokoll auf der SSD im Server und nicht nur im SAN. Dank der I/O-Leistung der im Server platzierten SSD muss der Nutzer die Daten nicht vom SAN anfordern, da diese "Hot Data" bereits auf die SSD im Server kopiert wurden und der gesamte HDD-Flaschenhals sowohl im SAN als auch im Server aufgehoben wurde.

Durch das Hinzufügen dieses Protokolls verringert sich nicht nur die Investition in weniger SSD-Laufwerke, auch die Performance profitiert von den Vorteilen der Flash-Technologie. Außerdem lässt sich diese Caching-Lösung problemlos in den meisten bestehenden Servern einsetzen - dies ist derzeit eine der kostengünstigsten und effizientesten Lösungen.

SAN-los

Es gibt eine weitere Option: Je nach Größe von Rechenzentren kann man sich auch für eine SAN-lose Umgebung entscheiden. Denn wenn Datenbanken klein sind, aber eine hohe I/O-Last aufweisen, könnte ein SAN überflüssig sein.

Ein einfacher Server mit einer Flash-Umgebung würde diese Arbeit sehr gut erledigen. Innerhalb einer Flash-Umgebung kann ein separates Volumen erstellt werden und als SAN-Speicher agieren, alles auf der gleichen Serverhardware residierend. Dies ist die ideale Lösung für ein SAN; ohne den durch ein SAN oder den "Daten-Blender-Effekt" verursachten Flaschenhals. Der Server reagiert ohne große Laufwerk-Arrays mit sehr kurzen Latenzzeiten. Außerdem reduzieren sich Wartung und Kühlung erheblich, die Energiekosten und Ersatzteillagerhaltung sinken.

Enterprise-SSDs im Einsatz: Noch 2007 wurde Flash-Speicher hauptsächlich für Datenbanken verwendet. Einen starken Anstieg verzeichnen die Solid State Disks laut Gartner beim Data Warehousing.
Foto: OCZ

Intelligenz ist wichtig

Der Austausch oder die Ergänzung von Flash-Lösungen bietet gegenüber einem SAN viele Vorteile - vorausgesetzt, man nutzt diesen Flash-Speicher intelligent. Wie bereits erwähnt, gewinnt man mit dem Austausch eines sich drehenden Laufwerks durch ein Flash-Laufwerk Leistung. Allerdings beinhaltet dies noch viel mehr. Betriebssysteme müssen auf den Servern laufen, ebenso unternehmenskritische Anwendungen. Den Unterschied macht die Implementierung eines Software-Layers, der das Flash-Laufwerk in das Betriebssystem bestmöglich integriert. Das Flash-Drive ist quasi der "Muskel" der gesamten Lösung, und die Software fungiert als "Gehirn".

Enterprise-Anforderungen und passende Flash-Lösungen

Hypothetisch profitieren alle Anwendungen von der Flash-Implementierung, die von einem schnellen Datenzugriff abhängig sind. Flash beschleunigt Daten und per Definition durch die physikalischen Unterschiede im Vergleich zu Festplatten. Dabei ist es egal, ob der Einsatz in Windows- oder Linux-basierten Systemen erfolgt oder in virtualisierten Umgebungen, beispielsweise mit VMware.

Doch unterschiedliche Anwendungen benötigen unterschiedliche Implementierungen. Aufgrund der Komplexität braucht eine virtualisierte Umgebung einen ausgeklügelten Management-Layer. Dieser soll nicht "einfach nur" beschleunigen, sondern die Daten so verwalten, dass Anwendungen optimiert werden, wann und wo immer sie gebraucht werden.

Bis vor Kurzem hatten IT-Manager die ersten zwei großen Flash-Deployment-Optionen für Rechenzentren zur Verfügung. Die jüngsten Fortschritte bei Enterprise-Flash-Lösungen ermöglichen nun die dritte Einsatzoption:

1. Flash-Deployment-Option: SAN Array-basierter Flash-Einsatz

Bei dieser Architektur wird der Flash-Speicher in Enterprise-SAN-Arrays hinzugefügt. Die SAN-Arrays sind entweder ausschließliche Flash-Arrays oder kombinierte HDD/Flash-Arrays. Der Flash-Speicher ist für alle Server mit Zugriff auf das SAN verfügbar und bietet das Potenzial, Flash-Ressourcen als gemeinsame Netzwerkressource zu nutzen.

Da sich der Flash im SAN befindet, verbindet es sich mit Host-basierten Anwendungen in gleicher Weise wie festplattenbasierte SANs. Dies stellt eine brauchbare Lösung für die erforderliche Allgegenwärtigkeit (Ubiquität) dar. Jede Anwendung, die sich mit dem SAN verbinden lässt, kann so auch den darin integrierten Flash-Speicher nutzen. Darüber hinaus können alle Storage-Services, die im SAN zugänglich sind (wie Mirroring und Virtualisierung), auch dem Flash-Speicher zur Verfügung gestellt werden.

Ein wesentlicher Nachteil dieses Ansatzes ist jedoch, dass die Fähigkeit des Flash-Speichers reduziert wird, Host-basierte Anwendungen zu beschleunigen. Die Flash-Ressource wird dem gleichen Netzwerk mit denselben Controller-Engpässen hinzugefügt, die bereits die HDD-Arrays plagen. Ein grundlegendes Problem ist hier die unzureichende Leistungsfähigkeit der vorhandenen HDD-Arrays, die in einem solchen Szenario schnell den Flaschenhals bilden und unter der gesteigerten Last durch moderne Flash-Speicher zusammenbrechen. Die Hochgeschwindigkeitsvorteile des Flash-Speichers werden irrelevant, wenn die SSDs aufgrund von Netzwerkbegrenzungen nicht effizient genutzt werden können. Darüber hinaus wird es schwieriger, die Flash-Nutzung für Zugriffe auf Host-basierte Anwendungen zu optimieren, wenn sich der Flash-Speicher im SAN befindet.

Die Effektivität des Caching lässt sich massiv verbessern, indem Algorithmen genutzt werden, die, basierend auf einer intelligenten Betrachtung der Host-Ressourcen und Anwendungs-Datenzugriff-Parameter, selektieren, was zwischengespeichert werden sollte. Diese sind deutlich leichter zu überwachen. Je mehr Informationen über die Zugriffsanforderungen und aktuellen Host-Bedingungen zum Zeitpunkt der Datenzugriffsanfrage im SAN zur Verfügung stehen, desto besser kann innerhalb des Hosts darauf reagiert werden.

2. Host-basierter Flash-Einsatz mit Caching-Software

In diesem Szenario bildet der Flash-Speicher zusammen mit entsprechender Caching-Software selbst den Host-Server und ist damit deutlich näher an den genutzten Anwendungen. Jedoch bleibt der Zugriff auf den Flash-Speicher hier auf den Host-Server begrenzt. Diese Lösung ist konzipiert, um diese beiden Mängel der SAN Array-basierten Flash-Architekturen entsprechend zu beseitigen.

Durch den Einsatz des Flash-Speichers im Server, buchstäblich direkt neben der CPU, wo die Anwendungen ausgeführt werden, werden zwei wichtige Ziele verfolgt: Erstens werden Engpässe entfernt, die die Übertragungsgeschwindigkeiten zwischen dem Flash-Speicher und der Host-CPU begrenzen. Zweitens können Caching-Entscheidungen nun auf dem Host selbst getroffen werden, einhergehend mit einer engmaschigen Überwachung der Host-Flash-Ressourcen, Host-Anwendungsanforderungen und anwendungsspezifischen Daten-Zugriffs-Mustern.

Wenn jedoch nicht die richtige Software eingesetzt wird, können Host-basierte Flash-Lösungen erhebliche Einschränkungen verursachen, was die Anwendungen und die genutzten Server betrifft. Wesentliche kritische Daten werden aus dem SAN genommen, wo sie Storage-Services und Netzwerkverfügbarkeit genießen, und von den beiden kritischen Enterprise-Features isoliert in den Server verschoben. Somit kann auf diese Anwendungen plötzlich nicht mehr von anderen Servern zugegriffen werden, und auch eine ordnungsgemäße Wartung ist nicht länger möglich.

Während zwar die volle Performance des Flash-Speichers gewonnen wird, verlieren IT-Manager die Möglichkeit, einen flexiblen und fehlertoleranten Service bereitzustellen, der von Kunden gefordert wird. Darüber hinaus wird eine effektive und gemeinsame Nutzung von Ressourcen zwischen Servern unmöglich, wenn Flash-Speicher physisch an den lokalen Host-Server gebunden wird, was wiederum die TCO des Rechenzentrums erhöht.

3. Host-basierter Flash-Einsatz mit Virtualisierungs- und Beschleunigungssoftware

Wie nachfolgend aufgezeigt wird, richten sich die ersten beiden Flash-Architekturen an eine andere Teilmenge der Enterprise-Anforderungen. Keine der beiden bietet aber eine vollständige und universelle Lösung. Neue Entwicklungen bei Enterprise-Flash-Lösungen führen zur dritten Einsatzoption.

Bei dieser kombinierten Lösung kommt der SSD-Speicher zusammen mit der entsprechenden Software auf dem Host-System zum Einsatz. So werden nicht nur lokale Anwendungen beschleunigt, der Host-basierte Flash-Speicher wird auch zu einer virtuellen, sehr performanten und robusten Netzwerkressource mit hoher Verfügbarkeit.

Eine neue Flash- Architektur ermöglicht es, sämtliche Vorteile von Flash-Speichern unter Einhaltung aller Enterprise-Storage-Anforderungen zu nutzen. Der Schlüssel dieser Architektur ist die intelligente Kombination aus Flash-Beschleunigung und Storage-Virtualisierung. Beim gemeinsamen Einsatz von Host-basiertem Flash-Speicher mit Virtualisierungs- und Beschleunigungssoftware werden die Daten nicht einfach nur auf einen Host-basierten Flash-Speicher verschoben, sondern auch mit den kritischen Storage-Services auf dem Host verbunden.

VMware-Virtualisierungsösungen ermöglichen es beispielsweise, Daten und Anwendungen effizient zu verbreiten und gemeinsam im SAN zu nutzen, ohne die Daten lokal auf dem Server zu haben. Ein Problem ergibt sich daraus, dass die gemeinschaftliche Nutzung der Anwendungen die I/O-Last rapide erhöht. Die komplette Umgebung muss effizienter werden, um diese Last zu erfüllen, sie muss "smarter" werden. Wie bereits erwähnt, gibt es eine Reihe von neuen Herausforderungen innerhalb eines Rechenzentrums, die gelöst werden müssen. Der sogenannte "Blender-Effekt" gehört sicherlich dazu. Aber heutzutage ist auch Zeitmanagement wichtig, um sicherzustellen, dass die Leistung von der richtigen Anwendung und dem richtigen Nutzer zur richtigen Zeit verwendet werden kann. Durch eine intelligente Verwaltung ist es möglich, Flash-Ressourcen auf echte Hochleistungsprozesse wie Datenbankdurchsatz oder eine hohe Nachfrage, wie zum Beispiel einen "Boot-Storm" um 9 Uhr morgens bei Arbeitsbeginn, vorbereitet werden. Mehr Leistung dorthin leiten, wo sie gebraucht wird - das ist der Schlüssel.

Wie immer beinhaltet eine IT-Infrastruktur viele Gefahren, die so gut wie möglich beseitigt werden müssen. Bei der Datenverarbeitung ist das nicht anders. Ein Server- oder Stromausfall ist eines der größten Probleme, mit denen Rechenzentren konfrontiert sein können. Um es zu lösen, müssen Daten zwischen zwei oder mehreren Servern gespiegelt werden. Ebenso wichtig ist es, die Wartung zugunsten von mehr Effizienz zurückzuschrauben. Wenn ein Server gewartet werden muss, müssen VMs von einem auf einen anderen Server bewegt werden (vMotion).

Unterschiede: Enterprise-SSDs vs. Consumer-SSDs

Werden Daten in einem Rechenzentrum oder in einer privaten Endanwenderumgebung verarbeitet, ist das ein Unterschied wie Tag und Nacht. Nicht nur die Daten werden unterschiedlich verarbeitet, auch die Last steht in keinem Verhältnis zueinander. Besonders die Input/Output-Belastung kann bei Serveranwendungen sehr hoch sein. Die Hardware muss in der Lage sein, diese konstant, sicher und schnell zu handhaben. Um diese Art der Belastung bewältigen zu können, benötigt die Hardware eine andere Klasse von Komponenten, die optimale Sicherheit garantieren können. Allerdings ist es nicht nur die Hardware, die angepasst werden muss. Betroffen sind selbstverständlich auch die Firmware-Programmierung, Kompatibilitätstests sowie der Service-Support (SLA) für Enterprise-SSDs.

Nach der ersten Selektion werden die Komponenten von Enterprise-SSDs strengen Tests unterzogen, um sicherzustellen, dass alle Elemente (etwa Controller, NAND-Chips oder ICs) auf Enterprise-Ebene zuverlässig funktionieren. Die Firmware-Entwicklung beinhaltet zusätzliche Funktionen, die auf Serverumgebungen und Rechenzentren ausgerichtet sind. Auf dieser Ebene ist es sogar möglich, auf individuelle Kundenanforderungen einzugehen. Beispiele für spezielle Enterprise-Merkmale sind "Power Failure Protection" und 256-Bit-Verschlüsselung. Während die höhere Datenverschlüsselungsstufe für hohe Datenintegrität und -sicherheit steht, stellt die "Power Fail Protection" sicher, dass bei einem Stromausfall alle Datenschreibvorgänge abgeschlossen werden können, sodass keine wichtigen Informationen verloren gehen.

Ergänzend zu den Hardware- und Softwarelösungen brauchen neue Technologien oft Fachwissen, um dem Rechenzentrum eine perfekt optimierte Installation zu ermöglichen. Die Field Application Engineers haben die Kompetenz und Erfahrung, die erforderlich ist, um in einem Unternehmen oder einer Abteilung bei der Implementierung und Installation mitzuhelfen. Letztlich ist dieser zusätzliche Service das Tüpfelchen auf dem i, wenn es darum geht, eine Enterprise-Speicherlösung ordnungsgemäß zu installieren.

Abschließend lässt sich festhalten, dass die Unterschiede zwischen einer Consumer-SSD und einer Enterprise-Lösung auf jeder Ebene - Produkt, Software und Service - zu finden ist. Unabhängig von Unternehmen oder Privatperson muss die SSD langfristig zuverlässig und beständig sein sowie die Performance liefern, für die sie gebaut wurde. (cvi)