Benötigen Unternehmen heute eine hochskalierbare, zukunftsfähige Storage-Lösung, müssen sie nicht in jedem Fall kostspielige SAN-Systeme kaufen. Für eine kostengünstige Ablage unstrukturierter oder semistrukturierter Daten wie Bilder, Dokumente, E-Mails oder Videos eignen sich auch softwarebasierende Lösungen - und bieten sogar Vorteile bei der linearen Skalierbarkeit von Kapazität und Performance.Das rasche Datenwachstum stellt Unternehmen vielerorts vor beträchtliche Probleme. Einen Beleg dafür liefert der Blick auf die Entwicklung in einem durchschnittlichen Rechenzentrum über den Verlauf der letzten sechs Jahre. Bei einem Datenbestand von 100 TByte im Jahr 2007 und einem keineswegs außergewöhnlichen jährlichen Wachstum von durchschnittlich 50 Prozent ist daraus bis zum Jahr 2013 bereits mehr als 1 PByte geworden. Aber nicht alle Datensegmente sind derart deutlich gewachsen. Erfahrungen aus mittelständischen und großen Unternehmen zufolge hat sich in den letzten fünf bis sechs Jahren das Verhältnis zwischen den gespeicherten strukturierten und den unstrukturierten Daten deutlich gewandelt. Lange Zeit waren beide Segmente in etwa gleich groß, heute entfallen rund 90 Prozent des Speichervolumens auf semistrukturierte und unstrukturierte Daten. Und genau dort ist meist ein exponentielles Wachstum zu verzeichnen. Wollen Unternehmen die Datenflut bei den semistrukturierten und unstrukturierten Daten in den Griff bekommen, benötigen sie eine zukunftsfähige softwarebasierende Storage-Infrastruktur, die skalierbar, hochverfügbar, kosteneffizient und einfach zu verwalten ist. Das Herzstück einer solchen Lösung stellt ein sehr gut skalierbares, verteiltes File-System dar, das eine nahezu lineare Erweiterbarkeit des benötigten Speicherplatzes ermöglicht. Lineare Skalierbarkeit Ist bei Storage von "Ausbaufähigkeit" die Rede, geht es genau genommen meist um die so genannte lineare Skalierbarkeit - ein Terminus, der allerdings oft missverständlich gebraucht wird. In der Theorie bedeutet "linear skalierbar" in diesem Zusammenhang, dass die doppelte Menge der Speicherkapazität auch die doppelte Performance bietet: Bei gleichbleibenden Antwortzeiten steigt - unter sonst unveränderten Bedingungen - auch der Datendurchsatz (gemessen in GByte/s) auf das Doppelte. In der Praxis erfüllen die klassischen Speichersysteme diese Anforderung jedoch nicht. Die Ursache für die Diskrepanz zwischen Theorie und Praxis ist darin begründet, dass die Skalierbarkeit von Storage viele Dimensionen hat - und die Kapazität ist nur eine davon. Auch die Hardware eines Storage-Systems, die die einzelnen Festplatten steuert, muss entsprechend skalieren. Es ist genügend CPU-Leistung erforderlich, um alle Laufwerksspindeln bei Spitzenbelastungen optimal einsetzen zu können. Darüber hinaus müssen auch das File-System und die Metadatenfunktion linear skalieren, um die doppelte Speicherkapazität zu unterstützen und dem System mitteilen zu können, wo sich die Dateien auf den neu hinzugekommenen Festplatten befinden. Anders ausgedrückt: Alle Komponenten des gesamten Speichersystems müssen leistungsmäßig parallel mitwachsen, um eine lineare Skalierbarkeit zu erreichen. Für herkömmliche verteilte Speichersysteme bedeutet dies, dass jeder Speicherknoten den zusätzlichen Verwaltungsaufwand zu bewältigen hat, der bei der Kommunikation mit anderen Speicherknoten während einer Dateioperation auftritt. Da die Kapazität schneller wächst als die Performance, kommt es in der Praxis statt zu einer linearen Leistungsverbesserung immer zu einer geringeren als eigentlich erforderlich. Für eine rein softwarebasierende Scale-out-Storage-Lösung wie beispielsweise Red Hat Storage gelten diese Einschränkungen nicht, dort wachsen Kapazität und Performance im Gleichklang. Das Ergebnis ist eine leistungsfähige Storage-Infrastruktur zur Speicherung semistrukturierter und unstrukturierter Daten auf standardbasierenden x86-Servern. Durch die gemeinsame Nutzung von CPUs und den I/O-Ressourcen einer großen Zahl kostengünstiger Standard-Server entsteht ein umfangreicher hochperformanter Speicher-Pool (Cluster). Benötigt das Unternehmen mehr Speicherkapazität, können IT-Abteilungen weitere Festplatten hinzufügen. Ist eine höhere Performance gefragt, lassen sich mehr Server installieren - ohne dass ein zusätzlicher Overhead entsteht. Softwarebasierende Infrastruktur Damit Performance und Kapazität linear steigen können, müssen bei einer solchen Lösung drei Bedingungen erfüllt sein: Es existiert kein Metadaten-Server, die zu speichernden Daten müssen effizient verteilt sein, um eine hohe Skalierbarkeit und Zuverlässigkeit zu erzielen, und es muss ein paralleler Datenzugriff erfolgen, um die Performance in einer vollständig verteilten Architektur zu maximieren. In einer softwarebasierenden Scale-out-Storage-Lösung stellt die logische und physische Lokalisierung von Daten allerdings eine große Herausforderung an die Entwickler dar. Die meisten verteilten Systeme lösen dieses Problem mit einem getrennten Index, der Dateinamen und Metadaten zur Lokation enthält. Das Ergebnis sind jedoch ein Single Point of Failure und ein beachtlicher Performance-Engpass. Wächst der Bestand an Dateien, Servern und Festplatten, bremst der Metadaten-Server die Lösung aus. Die Situation verschärft sich, wenn es sich vor allem um eine große Zahl kleiner Dateien handelt und dadurch die Metadaten-Informationen überproportional ansteigen. Die Lösung von Red Hat beispielsweise platziert und lokalisiert Dateien hingegen mit einem Hashing-Algorithmus, das heißt, sie berechnet einen Hash-Wert für jeden Dateinamen. Eine häufige Quelle für I/O-Engpässe oder gar die Anfälligkeit für Ausfälle ist auf diese Weise eliminiert. Auch die gleichzeitige Unterstützung von File Storage und Object Storage in einem einheitlichen Speicher-Pool erweist sich im Alltag als sehr positiv. Die Kombination beider Storage-Arten vereinfacht die Verwaltung unterschiedlichster Daten und bietet Unternehmen eine höhere Speicher- und Informationsflexibilität als herstellerspezifische SAN-Lösungen, um vergleichsweise kostengünstig das rasche Wachstum semistrukturierter und unstrukturierter Daten zu bewältigen. Softwarebasierende Lösungen eignen sich daher zum Speichern unterschiedlich strukturierter Daten, zur Verwaltung komplexer Medieninhalte und zu einer arbeitsplatznahen Archivierung. Die Posix-kompatible Speicherlösung von Red Hat beispielsweise unterstützt NAS-Standards wie NFS und SMB für den dateibasierenden Zugriff, Openstack Swift für den Objektzugriff sowie einen nativen "Glusterfs"-Client für hochgradig parallelisierten Zugriff. Unabhängig von Storage Arrays Stehen semistrukturierte und unstrukturierte Daten im Mittelpunkt, werden Unternehmen mit einer rein softwarebasierenden Lösung unabhängig von oft teuren, schwer skalierbaren monolithischen Storage Arrays. Mit einer softwarebasierenden Lösung können sie innerhalb kurzer Zeit kostengünstige x86-Server einrichten und ihre Storage-Infrastruktur um skalierbare, hochleistungsfähige Kapazitäten erweitern - sei es im eigenen Rechenzentrum oder in einer Hybrid-Cloud-Umgebung. Synchrone Dateireplikation bietet dabei die lokale Spiegelung von Daten und unterstützt Business Continuity. Asynchrone Replikation wiederum ermöglicht die Remote-Kopie von Daten zur Notfallwiederherstellung. Haben Unternehmen mit einem starken Wachstum semistrukturierter und unstrukturierter Daten zu kämpfen, erhalten sie mit einer softwarebasierenden Lösung die Option, zusätzliche Kapazitäten in die Cloud zu verlagern. So basiert beispielsweise das Verwaltungs-Tool von Red Hat Storage auf dem "Ovirt"-Projekt - einer Open-Source-Infrastruktur- und Virtualisierungs-Management-Plattform - und bietet Administratoren von einem zentralen Punkt aus einen vollständigen Überblick über den gesamtem Storage-Pool. Dadurch vereinfacht sich - ohne Investitionen in neue Hardware - die Administration des Datenwachstums. Die Datenexplosion bleibt in Umgebungen mit wenigen Tera- bis zu mehreren Petabyte beherrschbar.