Thin Provisioning

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Thin Provisioning (TP) (deutsch „schlanke Speicherzuweisung“), bezeichnet ein Kosten sparendes Verfahren zur Bereitstellung von Speicherkapazität in virtualisierten Speicherumgebungen (Storage-Virtualisierung).

Klassische Speicherzuweisung[Bearbeiten]

Wenn Administratoren ein Speichersystem erstmals in Betrieb nehmen, müssen sie

  • die Festplatte für ein oder mehrere Betriebssysteme partitionieren,
  • logische Laufwerke (etwa C:) anlegen
  • und diese dann mit den jeweiligen Betriebssystem-Werkzeugen formatieren.

Bei diesem klassischen Verfahren, das auch Hard Provisioning, Fat Provisioning oder Exact Provisioning genannt wird, wird Anwendern und Anwendungsprogrammen Speicherkapazität zugeteilt. Ein weiterer Begriff, dedicate-on-allocation (bei der Zuweisung reservieren), umschreibt den tatsächlichen Vorgang.

So definierte Partitionen und logische Festplatten sind mit Betriebssystemfunktionen nicht mehr änderbar. Ist die zugeteilte Speicherkapazität erschöpft (das ist meist schon bei 80 Prozent Nutzungsgrad der Fall, da etwa bei der Reorganisation von Datenbanken zusätzlicher Platz benötigt wird), müssen alle Daten zuerst auf ein anderes Medium kopiert und anschließend die LUN gelöscht und neu angelegt werden. Mit speziellen Software-Werkzeugen können erfahrene Anwender aber auch während des Betriebs die Größe einer LUN inklusive aller Daten korrigieren. Auf eine Datensicherung sollte aus Sicherheitsgründen nicht verzichtet werden.

Während es für private Anwender kein Problem darstellt, die gesamte Speicherkapazität einer Festplatte für ihre Bedürfnisse zu reservieren, müssen Storage-Administratoren in größeren Betrieben umsichtiger mit Ressourcen umgehen. Sie teilen den Benutzern nur den voraussichtlich benötigten Speicherplatz über die Lebensdauer eines Projektes zu. Um Änderungen an diesen Vorgaben und damit kostspielige Verwaltungsarbeiten zu vermeiden, werden die zugeteilten Kapazitäten sicherheitshalber großzügig bemessen. Ein Teil des Datenwachstums ist dieser fixen Reservierung zuzuordnen. Die tatsächlich gespeicherte Datenmenge beträgt oft nur einen Bruchteil der reservierten Kapazität.

Moderne Speicherzuweisung (Dedication-on-write)[Bearbeiten]

Thin Provisioning kann man vergleichen mit dem von einem Elektrizitätswerk zur Verfügung gestelltem Strom. Dieses garantiert dem Kunden eine maximale Leistung, die dieser beziehen kann. Trotzdem kann das E-Werk nur einen Teil dieser Maximalleistung allen Kunden gleichzeitig bereitstellen. Da aber niemals alle gleichzeitig die Maximalleistung beziehen, kommt es zu keinen Problemen.

Im IT-Bereich wird der Begriff häufig auch als Überprovisionierung (overcommitment) oder Überquotierung bezeichnet.

Das Thin Provisioning macht sich zunutze, dass moderne Speichersysteme virtuelle Festplatten zur Verfügung stellen. Dem Abnehmer (Server) wird dabei mehr Kapazität zur Verfügung gestellt, als im Speichersystem dafür vorgehalten wird. Sobald die vom Server genutzte Kapazität einen bestimmten Schwellenwert überschreitet, wird aus einem vorhandenen Speicherpool freie Kapazität zusätzlich für den Abnehmer bereitgestellt.

Grundsätzlich gibt es zwei verschiedene Arten der Bereitstellung von Plattenkapazität:

Blockbasierte Speicherbereitstellung oder filebasierte Speicherbereitstellung. Die SNIA hat mit dem Shared Storage Model eine Beschreibung dieser unterschiedlichen Verfahren entwickelt.[1] Der Unterschied liegt dabei in der Art des Zugriffs.

Beim blockbasierten Speichersystem wird die Festplatte in logische Blöcke aufgeteilt – diese Blöcke werden als Logical Unit (LUN) zur Verfügung gestellt. Dies kann über unterschiedliche Protokolle wie z.B. Fibre Channel oder iSCSI erfolgen. Der Server (Abnehmer) nutzt diese LUN in der Regel um auf der LUN ein Dateisystem wie z.B. NTFS, ext3, VxFS zu schreiben. Thin Provisioning wird in diesem Fall vom Speichersystem realisiert. Der Server sieht dabei eine LUN, die x GB groß ist. Tatsächlich hat das Speichersystem aber nur x-n GB reserviert. Sollte der Server mehr Kapazität als x-n benötigen, wird die LUN automatisch aus einem freien Pool vergrößert. Anders aber als ein Filesystem wird die LUN mit jedem zusätzlichen Schreiben des Servers erneut erweitert - unabhängig davon, ob der Server zwischenzeitlich Daten auf dem auf der LUN basierenden Filesystem gelöscht hat. Dies hängt damit zusammen, dass der Server keine Kommunikationsmöglichkeit mit dem Storagesystem hat, die es ihm erlaubt, dem Speichersystem mitzuteilen, dass bestimmte Blöcke freigegeben werden können. Einige Speicherhersteller bieten spezielle Software an, mit der eine Reorganisation erfolgen kann - allerdings ist dies nur möglich, wenn während der Reorganisation kein erneutes Schreiben erfolgt.[2] Manche Speichersysteme werten auch das von SSDs bekannte TRIM-Kommando aus, mit welchem der Dateisystemtreiber den darunterliegenden Schichten mitteilen kann, welche Blöcke als "frei" angesehen werden können.

Beim filebasierten Speichersystem wird die Festplatte von einem Server oder Filer als Filesystem mittels Protokollen wie NFS oder CIFS zur Verfügung gestellt. Der bereitstellende Server nutzt seinerseits selbst wiederum blockbasierte LUN. Hier erfolgt die Provisionierung über den Filer. Nahezu alle Hersteller von filebasierten Speichersystemen bieten eine solche Funktionalität an. Im Unterschied zum blockbasierten Thin Provisioning ist der Filer selbst Herr über das von ihm bereitgestellte Filesystem. Wenn Daten gelöscht werden, so kann er selbständig die Kapazitäten wieder freigeben. Insofern ist die Effektivität des Thin Provisionings hier wesentlich höher als beim blockbasierten Verfahren.

Der Vorteil des Verfahrens liegt auf der Hand: Es wird weniger Speicherkapazität benötigt - was direkten Einfluss auf Preis, Stellfläche, Klimatisierungsbedarf, Stromverbrauch etc. hat. Das Risiko ist, dass ein sehr detailliertes Monitoring implementiert werden muss. Wie beim Elektrizitätswerk muss notfalls schnell Kapazität neu bereitgestellt werden. Das E-Werk erreicht dies etwa über Zukauf im Ausland bei Überlasten – im Speicherbereich müssen physische Platten hinzugekauft werden. Steigt die Nutzung stärker als neue Kapazität bereitgestellt werden kann, so führt dies zum Stillstand der Anwendung. Insofern ist nicht nur ein Monitoring, sondern auch eine Trendlinienanalyse wichtige Voraussetzung für die Nutzung von Thin Provisioning.

Fußnoten[Bearbeiten]

  1. SNIA Shared Storage Model
  2. Unter IBM Redbook Thin Provisioning in an IBM SAN or IP SAN Environment (PDF; 600 kB) findet man eine sehr gute Beschreibung über diesen Effekt und wie schnell der positive Effekt des Thin Provisioning bei einer normalen Plattennutzung wieder zunichtegemacht wird.