HerrBullermann - Fotolia

Kosten und Geschwindigkeit von Storage: So finden Sie die richtige Balance

Besonders wichtig sind diese Faktoren: Latenz, Bandbreite und Durchsatz. Technisch ist zu unterscheiden zwischen DRAM, NVDIMM, Flash und Festplatte.

Daten sind ein wertvolles Gut im Herzen unserer IT-Systeme, egal ob sie sich im eigenen Rechenzentrum oder in der Public Cloud befinden. Die Notwendigkeit, unsere Daten auf beständigen Speichermedien abzulegen, begleitet uns schon seit der Erfindung von Tape und Festplatte in den 50er Jahren.

Der Vorteil der dauerhaften Speicherung hat aber Nebenwirkungen, denn Speichergeräte – für Festplatte, Tape oder Flash – sind nicht annährend so schnell wie moderne Prozessoren und Hauptspeicher. Um eine gute Speicher-Performance zu erreichen, müssen wir deshalb ständig versuchen, beständige Speichermedien so schnell wie nötig zu machen.

Aus zwei Gründen legen wir Daten auf externen Medien ab: Langlebigkeit und Schutz. Langlebigkeit bedeutet, dass unsere Daten erhalten bleiben, nachdem die Anwendung heruntergefahren ist und/oder nachdem der Anwendungsserver ausgeschaltet wurde. Das System Memory (DRAM) ist dagegen flüchtig, so dass die Daten regelmäßig auf Medien geschrieben werden müssen, die die Inhalte für den Fall eines Server- oder Anwendungsausfalls behalten.

Schutz ist ebenso wichtig. Serverausfälle und sonstige Katastrophen können eintreten, so dass wir ein Problem hätten, wenn wir die Daten nicht kopiert und über mehrere Medien hinweg aufbewahrt hätten. Datenschutzmechanismen wie RAID, Erasure Coding und Snapshots werden auch benutzt, um die Daten vor physikalischer und logischer Beschädigung sowie vor üblichen Anwenderfehlern zu schützen.

Maßeinheiten für Storage-Geschwindigkeit 

Es gibt drei wesentliche Maßeinheiten, um Storage-Geschwindigkeit zu messen und zu beurteilen:

  1. Latenz: Latenz ist eine Maßeinheit für die Antwortzeit eines Gerätes. Die Latenzzeit für System DRAM wird in Nanosekunden (ns) gemessen, für Flash in Mikrosekunden (μs) und für Festplatten in Millisekunden (ms).
  2. Bandbreite: Bandbreite ist die Fähigkeit eines Gerätes, Daten zu übertragen, und wird über eine bestimmte Zeiteinheit hinweg gemessen, in der Regel ausgedrückt in Megabits per Sekunde (Mbps) oder Gigabits per Sekunde (Gbps).
  3. Durchsatz: Durchsatz ist die praktische Fähigkeit eines Gerätes, Daten zu übertragen, in der Regel gemessen in Megabytes per Sekunde (MBps) oder Gigabytes per Sekunde (GBps).

Obwohl sie ähnlich erscheinen, sind Bandbreite und Durchsatz grundsätzlich verschieden. Festplattenlaufwerke (HDDs) und Solid-State-Laufwerke (SSDs) haben zum Beispiel eine maximale Bandbreite für ihr Interface, aber verschiedene praktische Angaben für den Durchsatz, je nach Abhängigkeit von ihrem Input/Output-Profil (I/O) – sequentiell oder zufällig, Read oder Write.

In einer idealen Welt würden sich alle Daten im Hauptspeicher befinden und schnell erreichbar sein, aber gegenwärtig ist System DRAM nun einmal flüchtig und teuer. Außerdem haben Server nur eine begrenzte Kapazität. Und die meisten Applikationen brauchen gar keinen ständigen Zugang zu all ihren Daten, so dass der Kostenfaktor mit darüber entscheidet, wo man die Daten am besten speichert – je nachdem, wie schnell und wie oft man den Zugang zu ihnen wirklich braucht.

Doch wie nutzt man am besten die Speicherressourcen? Was können wir direkt beeinflussen, und wie erhalten wir die beste Performance zu den geringsten Kosten?

Performance-Vergleich der Speichermedien

Man muss zunächst unterscheiden zwischen den verschiedenen Stufen der Hierarchie bei den für Unternehmen verfügbaren Speichermedien. 

  1. DRAM: Das schnellste Speichermedium in Sachen Performance und Latenz, aber die Inhalte sind flüchtig. Die DRAM-Kapazität skaliert nicht zufriedenstellend und lässt sich nicht leicht zwischen verschiedenen Servern teilen. DRAM kann auf Byte-Ebene angesprochen werden.
  2. NVDIMM: Sehr schnelles langlebiges DRAM-ähnliches Medium, das den gleichen DIMM-Formfaktor benutzt und entweder Flash oder andere Techniken benutzt, um nach dem Abschalten die Inhalte weiter zu sichern. Nicht so schnell wie DRAM, verfügt über die gleichen Zugangs- und Skalierungsfunktionen. NVDIMM ist in der Regel auf Byte-Ebene adressierbar.
  3. Flash: Sehr schnelles langlebiges Speichermedium, mit guter Skalierbarkeit, entweder in einem einzelnen Server oder als Teil eines Storage Arrays. Viel billiger als DRAM und auf Block-Ebene ansprechbar. Flash verfügt über eine Bandbreite an Optionen für Preis/Performance/Kosten – zum Beispiel als MLC, TLC und so weiter.
  4. Festplatten: Ein relativ langsames und langlebiges Speichermedium, das immer mehr nur für Archivierung und Backup eingesetzt wird. Festplatten sind ebenfalls auf Block-Ebene ansprechbar.

Jedes dieser Medien kann einzeln für sich oder in einer Kombination mit anderen benutzt werden, um so eine Bandbreite an Optionen für Speicher-Performance bereit zu stellen.

Speicher-Optionen für Server

Speicher kann direkt im Server eingesetzt werden. Indem die Daten so nah wie möglich an die zentrale Processing Unit heranrücken, werden der I/O-Path und die Latenzen reduziert.

Flash ist schneller als Festplatten. Eine Balance zwischen Kosten und Performance erreicht man durch die Kombination zwischen verschiedenen Anteilen von Flash und Festplatten, je nach Performance-Anforderungen von Applikationen und Daten. Flash und DRAM können als Cache benutzt werden, um aktive Daten zu speichern, während nicht-aktive Daten auf Festplatten verbleiben.

Abhängig von der Trefferquote (der Genauigkeit, aktive Daten im Cache zu speichern) wird die I/O-Performance im allgemeinen vorhersagbar sein, aber Leseanfragen für bestimmte Daten außerhalb des Cache werden mit einer Performance-Einbuße verbunden sein. Eine mögliche Lösung für solche Fälle besteht in einem Mix von billigem und teurem Flash, um das richtige Verhältnis von Kosten zu Performance zu erreichen. 

Ein anderer Gesichtspunkt betrifft den notwendigen Schutz vor Geräteausfällen. Wenn ein Laufwerk ausfällt, muss eventuell der Server heruntergefahren und ein neuer hochgefahren werden, wenn das Gerät nicht im laufenden Betrieb austauschbar (Hot Swap) ist. Wenn der Server ausfällt, werden die Daten auf seinen internen Platten nicht mehr zugänglich sein – ein Ereignis, das auf jeden Fall Replikation der Daten und ihren so ermöglichten neuen Einsatz erfordert. Dies fügt dem I/O-Prozess zusätzliche Latenzen hinzu, was auch von der Geschwindigkeit des Netzwerks zwischen einer Gruppe von Servern abhängt. 

Überlegungen zur Performance von Storage Arrays

Shared Storage Arrays bieten die Vorteile von erhöhter Verfügbarkeit und Zugangsmöglichkeiten für Daten, aber kommen mit einer Latenzeinbuße, da ein Speichernetzwerk wie Ethernet oder Fibre Channel durchlaufen werden muss.

Aber es kommen neue Produkte auf den Markt, die Lösungen auf der Basis von Verbindungsoptinen wie RDMA, RoCE und NVMe anbieten. Diese neueren Technologien sind nicht so skalierbar wie traditionelle Speichernetzwerke, bieten aber signifikante Verringerungen der Latenz.

Storage Arrays können von einer Reihe von Medien oder Techniken profitieren, mit denen sich die Performance verbessern lässt.

DRAM-Caching bietet Read- und Write-Verbesserungen, während hybride Systeme Flash- und Platten-Laufwerke miteinander vermischen, um die beste Preis/Performance-Relation zu bekommen.

Mittlerweile bieten All-Flash-Systeme eine garantierte I/O-Performance und Latenzen für alle Daten, was sich positiv abhebt von den Cache-Risiken (Cache Miss) wie oben beschrieben.

Der Einsatz von Flash hat zu einer Reihe von Techniken jenseits einfachen Cachings geführt, die Verbesserungen beim Durchsatz und bei Latenzproblemen bringen. Allgemein gilt jedoch diese einfache Grundregel: Je mehr Flash und DRAM im Verhältnis zu sich drehenden Platten eingesetzt werden, desto besser wird die Performance sein.

Die Performance von Speichernetzwerken

Werden externe Storage Arrays benutzt, kann das Speichernetzwerk zur Performance-Verbesserung entsprechend eingestellt werden.

Die jüngsten Host Bus Adapter (HBAs) bieten sehr große Bandbreite (32 Gbps Fibre Channel, 40 Gbps und 100 Gbps Ethernet), wobei die Netzwerk-Switches sehr geringe Latenzen liefern. Im Allgemeinen stellen die schnelleren Geräte eine bessere Performance zur Verfügung, wenn hier auch die kontinuierlichen Upgrade-Kosten einschränkend sein können. Der Durchsatz bei Storage Arrays kann durch das Hinzufügen von weiteren Front-End-Geräten (zusätzliche HBAs) verbessert werden. Außerdem kann man die Workloads über mehr Verbindungen abwickeln.

Es gibt ferner andere Techniken, um die Performance zu verbessern:

  1. Load Balancing: Hierbei wird die Inanspruchnahme von Ressourcen über so viele Geräte wie möglich verteilt. Dies bedeutet auch, Daten über mehrere Disks (Flash oder Festplatte) zu verteilen und alle verfügbaren Verbindungen zu benutzen. Wide Striping kann im Server oder im Storage Array vorgenommen werden.
  2. Workload Placement: Aktivere Workloads sollten auf schnelleren Geräten platziert werden. Flash ist teuer, weshalb man es sparsam und an den richtigen Stellen einsetzen sollte. NVDIMMs verfügen über das Potential, die Performance für einige Workloads erheblich zu verbessern, wenn die Verfügbarkeit auf der Serverseite Probleme bereiten könnte.
  3. Caching: Wir haben bereits über Caching im Array oder im Server gesprochen, aber Caching kann auch über beide Geräte hinweg organisiert werden. DRAM und Flash können im Server eingesetzt werden, um als I/O-Cache für externen Storage zu dienen, entweder für I/O-Reads (keine Elastizität erforderlich) oder für Writes (einschließlich Elastizität, um Daten vor Verlust zu schützen).
  4. Tuning für Storage-Netzwerke: In komplexeren Netzwerken können Flaschenhälse an den Ports für Shared Storage und Inter-Switch-Links auftreten. Deshalb sollte man zum Beispiel die Einstellungen für Queue Depth und Buffer Credits (Fibre Channel) sowie für die Topologie des Netzwerks selbst kontrollieren.

Bei all diesen Überlegungen sollte eine Sache klar sein: Um die Performance zu verbessern, müssen wir sie messen. Ohne geeignete Tools für das Messen gibt es keinen Weg, Performance-Aspekte zu quantifizieren und Wege zur Problemlösung zu finden.

Alle Storage-Lieferanten bieten Tools an, die die Performance ihrer Produkte aufzeigen. Es gibt auch Tools für End-to-End-Performance am Markt, die die Auswirkungen von Speicher-Performance auf die allgemeine Anwendungs-Performance zeigen. Diese Werkzeuge sind in der Lage, Real-Time und historische Werte anzuzeigen – beide sind wesentlich dafür, die andauernden Anforderungen an die Performance unserer Speichersysteme zu erfüllen.

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

Nächste Schritte

DIMM-Flash wird PCIe-Flash im Speicher überholen

Flash-Storage und die Auswirkungen auf das Netzwerk

Sieben Tipps, die die Effizienz und Leistung von Storage verbessern

Flash-Management ist wichtig für IT-Profis, wird aber noch vernachlässigt

Artikel wurde zuletzt im August 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Disk-Arrays

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