Thin Provisioning und Zero Space Reclaim
Belegten in einfachen Speichersystemen alle logischen Laufwerke den vollen ihnen zugewiesenen Speicherplatz im System, so gehen immer mehr Hersteller dazu über, nur so viel Platz zu beschreiben, wie tatsächlich von Daten belegt wird. Damit bleibt das restliche, noch nicht genutzte Volumen für die Nutzung durch andere Systeme frei.
Grundlage dieser Thin Provisioning genannten Technologie ist der Einsatz von Speicher-Pools. In einem Array wird hierfür nicht mehr ein logisches Laufwerk auf einer RAID-Gruppe im Backend angelegt. Vielmehr wird der gesamte Speicherplatz zunächst einem Pool von kleinen Teilen (Chunks) zugewiesen, aus dem dann die logischen Laufwerke definiert werden. Hierzu gibt der Anwender die gesamte Größe und den zunächst zugewiesenen logischen Speicherplatz für eine LUN an. Das Array stellt nun das logische Laufwerk in seiner gesamten Größe nach außen dar, während intern nur die festgelegte Mindestgröße belegt ist. Das ermöglicht es dem Speichermanager, wesentlich mehr logische Laufwerke auf seinem System unterzubringen als noch zu Zeiten des Standard oder Thick Provisioning.
Viele Hersteller ergänzen Thin Provisioning durch einen Automatismus, der bei Erreichen der Füllgrenze des physikalisch zugewiesenen Speicherplatzes diesen automatisch durch Hinzufügen weiterer Chunks aus dem Pool erweitert. Das verhindert ein "Überlaufen" der Laufwerke, das bei den ersten Systemen mit Thin Provisioning und vollständig manueller Bedienung eine tägliche Gefahr darstellte. Die nächste Stufe ist dann die automatische Verkleinerung des physikalischen Speicherplatzes, verbunden mit einer Lösung namens Zero Space Reclaim. Hier sucht das Array nach Chunks, die zwar noch beschrieben sind, allerdings durch das Dateisystem des Rechners nicht mehr logisch genutzt werden. Diese Chunks werden durch das System von der LUN abgekoppelt und wieder in den Pool zurückgelegt. Damit stehen sie für die Nutzung durch andere Rechner zur Verfügung. Eine Vorstufe hierzu haben einige Hersteller bereits implementiert. Hier sucht das Betriebssystem des Arrays nach sogenannten Nullmustern, von denen es annimmt, dass sie ebenfalls keine Informationen mehr enthalten. Die Chunks, die diese Nullmuster enthalten, werden durch Zurücklegen in den Pool ebenfalls wieder anderen Rechnern zur Verfügung gestellt. Allerdings birgt dieses Verfahren die Gefahr, dass Nullmuster eben in seltenen Fällen auch Echtdaten sein können, die im Falle des Zurücklegens in den Pool verloren gehen könnten.