Alexandr Mitiuc - Fotolia

Herkömmliche QoS-Methoden garantieren keine Storage-Performance

Unternehmen wie Cloud-Provider brauchen vorhersagbare Storage-Performance. Mit herkömmlichen Architekturen und QoS lässt sich dies nicht erreichen.

Eine garantierte, vorhersagbare Storage-Performance: Für Cloud-Provider und Unternehmen mit hohem Transaktionsvolumen sollte das ein absolutes Muss sein. Mit herkömmlichen Storage-Architekturen und QoS-Ansätzen kann dieses Ziel allerdings nicht erreicht werden.

Quality of Service (QoS) ist eine kritische Komponente für Unternehmen und Service-Provider, die eine konsistente Primärspeicher-Performance im Umfeld ihrer unternehmenskritischen Applikationen sicherstellen wollen. Dabei ist die reine Bereitstellung von Performance häufig nicht die entscheidende Herausforderung, für viele Applikationen ist eine garantierte, vorhersagbare Performance das noch wichtigere Ziel. In traditionellen hybriden oder Festplatten-basierten Storage-Infrastrukturen ist es aber kaum zu erreichen – mit welchen vermeintlich modernen Mitteln man auch immer versucht, ihm sich anzunähern. Status Quo ist, dass es heute nicht mehr als ein frommer Wunsch ist.

Ein Lösungsansatz zur Sicherstellung eines konstant hohen Performance-Niveaus wäre es, eine unnötig hohe Storage-Kapazität aufzubauen. Das Resultat wäre aber eine verschwenderische Vorhaltung von Ressourcen und ein übermäßiger Aufbau von Administration, um die Beschränkungen existierender Storage-Architekturen zu überwinden. Auch eine Skalierung bei Performance-Engpässen bietet sich nicht an, da es eine rein reaktive Maßnahme ist, die nicht sonderlich viel bringt im Hinblick auf das intendierte Ziel einer vorhersagbaren, für unternehmenskritische Applikationen unerlässlichen Performance.

Die Probleme sind bekannt und die meisten Storage-Anbieter versuchen sie mit QoS-Maßnahmen in den Griff zu bekommen. Wenn mehrere Workloads sich eine limitierte Ressource teilen müssen, soll mit einer QoS-Architektur zum Beispiel verhindert werden, dass der so genannte „Noisiest Neighbor“, das heißt eine Applikation mit extrem hohem Ressourcenbedarf, die Performance aller anderen Anwendungen auf demselben System beeinträchtigt.

Herkömmliche QoS-Methoden zeigen Unzulänglichkeiten

Die meisten heute im Storage-Bereich verbreiteten QoS-Methoden sind völlig unzureichend. Das betrifft etwa gängige Verfahren wie Tiered Storage, Datenratenlimitierung, Priorisierung, Hypervisor-basierte QoS oder Caching. Grundproblem dabei ist, dass diese Techniken nicht von Anfang an integraler Bestandteil eines umfassenden QoS-Storage-Konzeptes sind.

Beim Tiered Storage werden mehrere Ebenen mit unterschiedlichen Speichermedien von superschnellen SSDs bis zu langsameren HDDs mit 15.000 oder gar 7.200 rpm miteinander kombiniert, um unterschiedliche Performance- und Kapazitätskriterien zu erfüllen. Die Applikationsperformance wird dabei vom jeweiligen Speichermedium bestimmt. Um sie zu optimieren, werden Algorithmen genutzt. Mit ihnen kann auf Basis historischer Performance-Informationen vorhergesagt werden, welche Daten „heiß“ und welche „kalt“ sind, das heißt auf welche oft zugegriffen wird beziehungsweise welche selten genutzt werden. Abhängig davon werden sie dann in hochperformanten SSDs oder HDDs mit hoher Kapazität vorgehalten.

Die QoS-Storage-Komponenten der SolidFire-Lösung im Überblick

Tiering ist allerdings die schlechteste aller herkömmlichen Lösungen im Hinblick auf eine Performance-Prognostizierung. Zugespitzt formuliert kann mit dieser Lösung überhaupt keine Storage-QoS realisiert werden. Tiering führt nämlich dazu, dass Noisy Neighbors bevorzugt werden, da sie als „heiß“ erscheinen und ihnen eine höhere Performance auf SSDs zur Verfügung gestellt wird. Im Umkehrschluss stehen dann anderen Applikationen nur Festplatten mit geringerer Performance zur Verfügung. Zudem variiert die Performance für jeden Workload erheblich, da die Algorithmen die Daten zwischen unterschiedlichen Speicherebenen verschieben.

Bei der Datenratenlimitierung werden Obergrenzen für die I/O-Rate oder Bandbreite von Applikationen festgelegt. Damit kann zwar das Problem der Noisy Neighbors reduziert werden, aber nur durch die Beschränkung der Performance, die einer Applikation zur Verfügung steht. Außerdem kann dies auch zu erheblichen unerwünschten Latenzen beitragen. Dieser einseitige Ansatz führt lediglich zu einem Schutz des Storage-Systems, bietet aber keine garantierte QoS. Auch ist es beispielsweise nicht möglich, Mindestwerte für die IOPS-Leistung festzulegen.

Beim Priorisierungsansatz werden Applikationen als mehr oder weniger wichtig in Relation zueinander eingestuft. Das erfolgt oft in klar definierten Stufen wie „unternehmenskritisch“, „teilweise wichtig“ oder „eher unwichtig“. Mit der Priorisierung kann tatsächlich für einige Applikationen eine höhere relative Performance bereitgestellt werden. Allerdings besteht keine Garantie, dass einer Applikation auch die benötigte Performance zur Verfügung gestellt wird. Außerdem ist auch bei diesem Ansatz das Problem vorhanden, dass Noisy Neighbors bevorzugt werden, wenn sie eine höhere Prioritätsstufe als andere Anwendungen haben.

Die Beseitigung des Problems „Noisy Neighbors“ auf Basis des QoS-Ansatzes von SolidFire

Beim Hypervisor-basierten QoS-Ansatz können auf Basis der Latenz- und Antwortzeiten von einzelnen virtuellen Maschinen Schwellwerte festlegt werden, bei deren Überschreitung das System die I/O-Rate für die entsprechenden Maschinen begrenzt. Der Hypervisor hat allerdings nur eine sehr eingeschränkte Steuerungsmöglichkeit für die darunter liegenden Storage-Systemressourcen.

Mit der Implementierung eines Storage-QoS-Mechanismus ausschließlich auf dem Hypervisor-Layer und nicht gleichzeitig auf der Storage-Systemebene können die zentralen Herausforderungen kaum adressiert werden, die mit Multi-Workload-Umgebungen verbunden sind. Zentrale Nachteile eines Hypervisor-zentrierten Ansatzes in traditionellen Storage-Umgebungen sind vor allem der Mangel an IOPS-Kontrolle, mögliche Performance-Verschlechterungen, die Gefahr des Over-Provisioning und das generelle Problem der Koordinierung und Orchestrierung.

Beim Caching werden die „heißen“ Daten in großen DRAM- oder Flash-basierten Caches vorgehalten und damit die Festplatten von einem signifikanten I/O-Anteil entlastet. Große DRAM-Caches sind heute Standard jedes modernen festplattenbasierten Storage-Systems. Mit Caching kann durchaus der Gesamtdurchsatz eines Festplattensystems gesteigert werden, was aber auch zu einer stark schwankenden Latenz führt. Die Gesamtperformance einer Applikation hängt beim Caching stark davon ab, wie Cache-freundlich sie ist, wie groß der Cache ist und wie viele andere Applikationen ihn nutzen. In einer dynamischen Cloud-Umgebung sind gerade im Hinblick auf das letzte Kriterium permanente Veränderungen zu berücksichtigen. Dadurch ist es in einem auf Caching basierenden System auch unmöglich, die Performance für eine einzelne Applikation vorherzusagen oder gar zu garantieren.

Garantierte QoS ist kein Feature – es ist vielmehr eine Architektur

Insgesamt wird mit allen aufgeführten Methoden wie Datenratenlimitierung, Priorisierungsschemata oder Tiering-Algorithmen lediglich versucht, Beschränkungen in traditionell konzipierten Storage-Systemen zu überwinden.

Zentrales Problem dabei ist, dass diese Lösungen nicht von vornherein im Hinblick auf eine vorhersagbare Performance konzipiert sind.

Martin Cooper, Director of
Technology International,
SolidFire (Quelle: SolidFire)

Zielführend kann aber ein QoS-Ansatz im Storage-Bereich nur sein, wenn er von Anfang an integraler Bestandteil des Systemdesigns ist. Nur so kann die Performance unter allen Bedingungen – einschließlich von Fehlerszenarien, Belastungsspitzen, variablen Workloads oder steigenden Anforderungen – garantiert werden.

Eine zukunftsweisende Storage-Architektur sollte dabei sechs Kernkomponenten beinhalten, um eine echte Storage-QoS sicherstellen zu können.

Die sechs Elemente sind:

  • eine durchgängige SSD-Architektur, die eine konsistente Latenz bei jeder I/O-Last sicherstellt
  • eine echte Scale-Out-Architektur, die eine lineare, vorhersagbare Performance bei einem skalierenden System gewährleistet
  • eine RAID-lose Datensicherung, die eine garantierte Performance im Fehlerfall bietet
  • eine Lastverteilung, die Spitzenlasten beseitigt, die eine nicht vorhersagbare I/O-Latenz verursachen
  • eine granulare QoS-Kontrolle, die Noisy Neighbors komplett eliminiert und die Volume-Performance garantiert
  • eine Performance-Virtualisierung, die eine Trennung des Provisioning von Speicherkapazität und Performance ermöglicht.

Das Hinzufügen von QoS-Features zu einer existierenden Storage-Plattform mag einzelne Performance-Flaschenhälse beseitigen, aber dieser Ansatz reicht nicht aus, um die wesentlich umfangreicheren Herausforderungen in sich dynamisch verändernden Cloud-Umgebungen zu bewältigen. Und vor allem kann damit die Storage-Performance keinesfalls vorhersagbar garantiert werden.

Eine zielführende Lösung erfordert eine speziell konzipierte Storage-Architektur mit integrierten QoS-Features, die Performanceprobleme umfassend und generell lösen und nicht nur im Einzelfall. Damit kann gewährleistet werden, dass jeder Applikation immer die erforderlichen Ressourcen zur Verfügung stehen, die für eine Ablauffähigkeit ohne jede Varianz oder Unterbrechung benötigt werden.

Über den Autor:
Martin Cooper ist Director of Technology International bei SolidFire in London.

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

Artikel wurde zuletzt im Oktober 2015 aktualisiert

Pro+

Premium-Inhalte

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

Erfahren Sie mehr über Data-Center-Storage

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