Moderne Speichervirtualisierung für garantierten Quality of Service

München, Starnberg, 19. Juni 2017 - Praxis-Tipps von NetApp SolidFire: So können Sie Quality of Service (QoS) im Unternehmen garantieren; Storage macht den Unterschied...

Zum Hintergrund: Wer in einer mandantenfähigen Umgebung viele geschäftskritische Applikationen gleichzeitig betreibt, steht vor einem Problem: Wie lässt sich sicherstellen, dass jede Anwendung genügend Storage-Performance bekommt, damit diese stabil läuft? Ein Quality-of-Service-Konzept ist gefragt und dafür gibt es verschiedene Ansätze. Speichervirtualisierungs-Technologien wie sie SolidFire anbietet, trennen die Storagekapazität von der I/O-Leistung und garantieren eine entsprechende IOPS-Peformance pro Volume.


Zum Gastbeitrag von Georg Mey, Senior Manager Solution Architects EMEA bei NetApp (1): „Cloud Service Provider und IT-Abteilungen in größeren Unternehmen kommen am Thema Quality of Service nicht mehr vorbei. Sie müssen dafür sorgen, dass geschäftskritische Applikationen schnell und vor allem stabil laufen. Dafür spielt die Speicher-Leistung eine wichtige Rolle. Das Problem: Wenn viele Anwendungen gleichzeitig auf denselben Storage zugreifen, kommt es zum Noisy-Neighbour-Syndrom. Die App, die am lautesten nach Ressourcen schreit, bekommt sie auch. Das bremst andere aus, denn für sie bleibt nur noch der Rest. Im schlimmsten Fall kann ein Performance-hungriger Nachbar ein ganzes System lahm legen. Während IT-Administratoren in Unternehmen solche Apps auf einen anderen Storage migrieren und ihren Anforderungen nach verteilen können, sind Cloud-Service-Provider im Blindflug. Denn sie können schlichtweg nicht vorhersehen, welche Applikationen ihre Kunden in der Cloud-Infrastruktur betreiben. Welche Möglichkeiten haben sie also, um Performance zu garantieren?

Hardware aufstocken

  • Bei traditionellen Storage-Lösungen sind Kapazität und Performance untrennbar miteinander verknüpft. IT-Verantwortliche vergrößern daher den Speicher und stocken Hardware auf, wenn sie einzelnen Applikationen mehr IOPS zur Verfügung stellen wollen. In Folge kaufen sie unnötig viel Storage, wobei ein Teil der Ressourcen die meiste Zeit ungenutzt bleibt. Dieser Ansatz ist also nicht sehr kosteneffizient.

IO-Priorisierung: Sonderbehandlung für ausgewählte Volumes

  • Einige Storage-Hersteller haben eine IO-Priorisierung in ihre Produkte eingebaut, um Quality of Service zu ermöglichen. IT-Administratoren können damit Volumes festlegen, die bei der Performance-Verteilung bevorzugt behandelt werden. Ein solches System funktioniert jedoch nur in Umgebungen, in denen es wenige priorisierte Volumes gibt. Denn sonst machen auch diese sich die Leistung wieder strittig. Außerdem setzt es voraus, dass IT-Verantwortliche wissen, welche und wie viele Volumes sie bevorzugen müssen. Für Cloud-Service-Provider, die keinen Einblick in die Applikationen ihrer Kunden haben, also schwierig.

Rate Limiting: Die maximale Performance einschränken

  • Andere Hersteller ermöglichen es, harte Performance-Grenzen für ausgewählte Volumes festzulegen. Das verhindert zwar, dass Noisy Neighbours ausscheren können. Gleichzeitig schränkt es aber auch Applikationen ein, die in rechenintensiven Phasen besonders viel Performance benötigen.

Storage Tiering: Dateien schlau umschichten

  • Ein klassischer Weg, um Performance zu verbessern, ist das Tiering. Dabei bauen IT-Verantwortliche die Storage-Umgebung als Schichten-Modell auf, das aus langsameren Festplatten-Arrays und schnellen SSDs besteht. Intelligente Algorithmen verschieben Apps dann nach Bedarf in den schnelleren oder langsameren Bereich. Dieses ständige Daten-Umschichten belastet jedoch die SSDs. Deshalb müssen Unternehmen für Storage-Tiering die teureren, Single-Level-Cell-Speicherzellen einsetzen. Das macht allerdings die Kostenersparnis hinfällig, die man sich durch den Einsatz der langsameren HDDs der unteren Schicht versprochen hatte. Außerdem müssen Administratoren dafür sorgen, dass die jeweiligen Speicherschichten immer groß genug sind. Dafür müssen sie die Umgebung laufend überwachen und anpassen. Das verursacht nicht nur hohen Aufwand. Cloud-Service-Provider können gar nicht abschätzen, wie jeder Storage Tier ausgelegt sein muss, da sie nicht wissen, was für Apps ihre Kunden betreiben. 

Der Königsweg: Performance virtualisieren

  • Moderne All-Flash-Systeme wie NetApp SolidFire bieten einen innovativen Weg, um Quality of Service zu garantieren. Sie sammeln die Performance aller Speicherknoten eines Systems in einem virtuellen Performance-Pool, unabhängig von der Speicherkapazität. Alle Applikationen können dann auf die vereinte Storage-Leistung im Pool zugreifen. IT-Administratoren haben die Möglichkeit, für jedes Volume maximale IOPS, minimale IOPS und Burst-IOPS festzulegen. Der Minimal-Wert wird nie unterschritten und ist die Performance, die einer Applikation auf diesem Volume immer garantiert zur Verfügung steht. Die maximalen IOPS sind über einen längeren Zeitraum hinweg möglich, die Burst-IOPS in kurzen, besonders rechenintensiven Phasen. Administratoren können Policies definieren, um IOPS-Werte automatisiert zuzuweisen. So lässt sich der Storage künftig auf Knopfdruck provisionieren.

Das Fazit: Mit einer virtualisierten Quality of Service-Lösung, wie sie NetApp SolidFire bietet, sind Cloud Service Provider in der Lage, ihren Kunden eine stabile Performance zu garantieren. Unabhängig davon, welche Applikationen sich die Storage-Umgebung teilen, bekommt jede die Ressourcen, die sie benötigt. Noisy Neighbours haben keine Chance mehr. Dadurch, dass sich Kapazität und Performance getrennt voneinander managen lassen, können IT-Administratoren das Storage-System so aufbauen, dass es effizient ausgelastet wird. Das spart unnötige Hardwarekosten und steigert die Flexibilität.“

(1) Foto: Georg Mey, Senior Manager Solution Architects EMEA bei NetApp (Bildquelle: NetApp)


Querverweis > weitere Hintergrundinfos zum Thema QoS mit NetApp SolidFire: All-Flash Speichersysteme als Turbo für DevOps und Continuous Delivery. Scale-out All-Flash mit QoS-Funktionen und niedriger Latenz für die Software-Entwicklung; Storage macht den Unterschied.