Flash-Speicher im Rechenzentrum

Ratgeber - SSDs in SAN-Umgebungen richtig nutzen

17.04.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 Speicher-Ressourcen, um diesen Bedarf zu erfüllen. Auf der Jagd nach der besten Lösung werden sie mehr und mehr mit den Vorteilen der SSD-Technologie vertraut, welche sich in heutigen Rechenzentren auf vielfältige Weise zeigen.

Um die Frage "Wann und wo SSDs in einem SAN Sinn machen?" zu beantworten, müssen erst die grundlegenden Eigenschaften der Flash-basierenden 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, welcher 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, um 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 Sekunden (IOPS) zu erhöhen, sind Festplatten schnell an ihrer Grenze.

Sequenzielle & zufällige Daten

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

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 aufrecht zu erhalten.

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, welche problemlos dafür geeignet ist, sowohl sequenzielle als auch zufällige Daten zu verarbeiten. Doch es gibt noch mehr; nicht nur die Lese- und Schreibgeschwindigkeit einer SSD ist schneller, sondern auch die Zugriffszeiten verringern sich drastisch. Im Vergleich braucht eine HDD zwischen 3 und 20 Millisekunden wohingegen eine SSD nur zirka 0,02 Millisekunden benötigt, was im Verhältnis zirka. die 1000-fach verringerte Reaktionsfähigkeit einer HDD bedeutet.

HDD-Array durch SSD ersetzen?

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

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, welches durch die Nachteile der Festplatten begrenzt ist.

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, so könnten Benutzer die Daten viel schneller über die gesamte Infrastruktur verarbeiten. Dies ist der einfachste Ansatz zur Lösung des angesprochenen SAN-Problems. Im Vergleich zu einer SSD hat eine HDD mit zirka 205 - 350 IOPS eine deutlich geringere I/O-Leistung als eine SSD mit rund 50.000 - 100.000 IOPS. Solid State Disks sind somit sehr interessant und effizient für Server und SANs.

Aber was wäre, wenn die Datenbank nur 50 Prozent der derzeitigen Speicher 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 ist, wenn Nutzer mehrere Lasten auf einem virtuellen Server laufen lassen, alle Operationen in einem Datenstrom zusammengefasst werden. Was bedeutet das in der Realität? 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 letzten Jahren sind SAN-Arrays hinsichtlich Größe extrem gewachsen. In vielen Fällen liegt dies jedoch nicht in einer wachsenden Datenbank begründet, 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, allen Verbindungen und Zugriffspunkten wird nur so schnell sein, wie das langsamste Element. HDDs durch SSDs zu ersetzen wird daher nicht immer die effizienteste Lösung sein.

Verbesserung der Effizienz durch Caching

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

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. Aus Nutzersicht zählt einzig und allein, dass die angefragten Daten so schnell wie möglich und 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.

Bei jedem Anwendung-Datenzugriff-Profil gibt es immer eine Teilmenge an Daten, welche regelmäßig abgefragt werden. Diese Daten befinden sich auch in einem Daten-Protokoll 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 gelöst wurde.

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

SAN-los

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

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

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 Server-Hardware residierend. Dies ist die ultimative Lösung für ein SAN ohne durch einen SAN oder "Daten-Blender-Effekt" verursachten Flaschenhals. Der Server reagiert ohne große Laufwerk-Arrays mit sehr niedrigen Latenzzeiten. Außerdem reduzieren sich Wartung und Kühlung erheblich, die Energiekosten und Ersatzteillagerhaltung sinken.

Intelligenz ist wichtig

Der Austausch oder die Ergänzung von Flash-Lösungen bietet gegenüber einem SAN viele Vorteile. Essentiell ist aber eine intelligente Art und Weise, diesen Flashspeicher auch zu nutzen. 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, welcher das Flash-Laufwerk in das Betriebssystem bestmöglich integriert. Das Flash-Drive ist der "Muskel" und die Software das "Gehirn" der gesamten Lösung.

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-basierenden Systemen erfolgt oder virtualisierten Umgebungen, beispielsweise mit VMware.

Aber 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. Jüngste Fortschritte hinsichtlich Enterprise-Flash-Lösungen ermöglichen nun die dritte aufgeführte Einsatzoption:

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 Potential, Flash-Ressourcen als gemeinsame Netzwerkressource zu nutzen.

Foto: OCZ

Da sich der Flash im SAN befindet, verbindet es sich mit Host-basierten Anwendungen in gleicher Weise wie Festplatten-basierte SANs. Dies stellt eine brauchbare Lösung für die erforderliche Allgegenwärtigkeit (Ubiquität) dar. Jede Anwendung, welche sich mit dem SAN verbinden lässt, kann so auch den darin integrierten Flash-Speicher nutzen. Darüber hinaus können alle Storage-Services, welche 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 dadurch 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, welche bereits die HDD-Arrays plagen. Ein grundlegendes Problem bildet 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 Hochgeschwindigkeits-Vorteile 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-basierten 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 Datenzugriffs-Anfrage im SAN zur Verfügung stehen, desto besser kann innerhalb des Hosts darauf reagiert werden.

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, sind zwei wichtige Ziele im Fokus. Erstens werden Engpässe entfernt, welche 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 auf Anwendungen und die genutzten Server verursachen. Wesentliche kritische Daten werden aus dem SAN genommen, wo sie Storage-Services und Netzwerk-Verfügbarkeit genießen, und von diesen zwei 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.

Host-basierter Flash-Einsatz mit Virtualisierungs- und Beschleunigungs-Software

Wie nachfolgend aufgezeigt, richten sich die ersten zwei 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.

Beim 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, alle Vorteile von Flash-Speichern unter Einhaltung aller Enterprise-Storage-Anforderungen zu nutzen. Der Schlüssel dieser Architektur ist die intelligente Kombination aus der Flash-Beschleunigung und Storage-Virtualisierung. Beim gemeinsamen Einsatz von Host-basiertem Flash-Speicher mit Virtualisierungs- und Beschleunigungs-Software 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 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 dabei, 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" ist sicherlich ein Thema. Aber heutzutage ist auch Zeitmanagement wichtiger geworden, 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 einem "Boot-Storm" um 09:00 Uhr morgens bei Arbeitsbeginn vorbereitet werden. Mehr Leistung dahin leiten, wo sie gebraucht wird 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 gilt hier nichts anderes. Ein Server- oder Stromausfall ist eines der bekanntesten Probleme, welches Rechenzentren beachten müssen. Um dies lösen zu können müssen Daten zwischen zwei oder mehreren Servern gespiegelt werden. Darüber hinaus ist es ebenso wichtig, die Wartung (Kosten & Service) für mehr Effizienz zu senken. Wenn ein Server gewartet werden muss, müssen VMs von einem auf einen anderen Server bewegt werden (vMotion).

Unterschiede: Enterprise-SSDs vs. Consumer-SSDs

Die Verarbeitung von Daten in einem Rechenzentrum gegenüber der in einer privaten Endanwenderumgebung ist ein Unterschied wie Tag und Nacht. Nicht nur die Daten werden unterschiedlich verarbeitet, sondern auch die Last steht in keinem Vergleich 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, welche optimale Sicherheit garantieren können. Allerdings ist es nicht nur die Hardware, welche angepasst werden muss. Dies betrifft selbstverständlich auch die Firmware-Programmierung, Kompatibilitätstests sowie Service-Support (SLA) für Enterprise-SSDs.

Nach der ersten Selektion, unterliegen die Komponenten von Enterprise-SSDs strengen Tests, um sicherzustellen, dass alle Elemente (Controller, NAND-Chips, ICs, usw.) auf Enterprise-Ebene zuverlässig funktionieren. Die Firmware-Entwicklung beinhaltet zusätzliche Funktionen, welche 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, so dass keine wichtigen Informationen verloren gehen.

Ergänzend zu den Hardware- und Software-Lö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, um in einem Unternehmen oder einer Abteilung bei der Implementierung und Installation zu unterstützen. Dieses Maß an zusätzlichem Service ist zu guter Letzt das finale Bindeglied des gesamten Paketes, welches für eine ordnungsgemäße Installation einer Enterprise-Speicherlösung erforderlich ist.

Abschließend lässt sich festhalten, dass der Unterschied 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.

Dieser Artikel basiert auf einem Beitrag der CW-Schwesterpublikation TecChannel. (mhr)