Lange Jahre wurde die Architektur von Speicher ausschließlich durch die Parameter der Hardware bestimmt. Zumindest, was Größe, Zugriffsgeschwindigkeit und Cache anging. Dynamische Volumes und RAID-Verbünde waren ein erster Schritt, zu mehr Flexibilität. Software defined Storage (SDS) ist die konsequente Fortentwicklung dieses Ansatzes. Der Speicherplatz wird dabei von der Hardware abstrahiert. Dies erlaubt maximale Flexibilität und Skalierbarkeit.

Wie funktioniert die klassische Speicherung von Dateien?

Bis der physikalische Speicher dem Benutzer zum Ablegen seiner Daten angeboten wird, durchläuft er mehrere logische Bearbeitungsprozesse. Dies beginnt beim Controller der klassischen Festplatte. Dieser fasst Speicherbereiche zusammen und bietet sie dem Dateisystem in einer logischen Adressierung an. In Flashspeicher ist ebenfalls eine Abstraktionsschicht integriert, der Flash Translation Layer (FTL). Dieser übernimmt die Adressierung des vom Controller verwalteten Speichers.

Sowohl vom Betriebssystem, als auch auf Hardware-Ebene, können Verbünde erzeugt werden. Beispielsweise durch einen RAID-Controller, der den Speicher von zwei oder mehr Festplatten transparent zu einem großen Bereich zusammenfasst. Auch auf Software-Ebene ist dies möglich, indem beispielsweise unter Windows aus mehreren Festplatten ein dynamisches Laufwerk gebildet wird.

Auf den so zur Verfügung gestellten Speicher greift das Dateisystem zu und übernimmt die Partitionierung sowie Speicherung der Dateien.

Bezüglich der Schreib- und Lesegeschwindigkeit ist man bei diesen Methoden immer auf das „schwächste Glied“ im Verbund reduziert. Die Ablage der Dateien erfolgt zufällig. Auch ist der Austausch oder die Erweiterung der Komponenten nicht in jedem Fall möglich, ohne den gesamten Verbund neu aufzubauen. Ausnahme hiervon sind natürlich RAID-Verbünde, die speziell auf Redundanz ausgelegt sind, dafür aber eine homogene Hardware benötigen.

Wie funktioniert Software defined Storage?

Software defined Storage (SDS) übernimmt mehrere Aufgaben, die zuvor durch unterschiedliche Komponenten erledigt wurden. Er setzt an der Stelle an, wo der Speicher vom Controller logisch zur Verfügung gestellt wird. Er fasst die eingebundenen Komponenten zusammen und setzt sie dynamisch ein.

Dabei kann heterogene Hardware zum Einsatz kommen, ohne dass hierdurch die gesamte Performance beeinträchtigt wird. Vielmehr werden beispielsweise schnelle Speicher für eine Zwischenspeicherung verwendet. Die Daten werden dann zu weniger lastintensiven Zeiten auf andere Bereiche verteilt. Weiterhin ist das Dateisystem ein fester Bestandteil des Systems. So wird dafür gesorgt, dass Daten nicht doppelt abgelegt werden. Sind Dateien inhaltlich mehrfach vorhanden, speichert das Dateisystem sie nur einmal ab und legt Verweise auf den Inhalt an. Diesen Vorgang nennt man Deduplikation.

Mehr zum Thema:
Was ist Storage Spaces direct?

Auch das Anlegen von Snapshots und Backups wird durch Software defined Storage (SDS) gewährleistet. Die Datenablage erfolgt in redundanten Arrays. So kann Datenverlust bei Ausfall einzelner Komponenten verhindert oder vermindert werden.

Ein großer Vorteil ist die bereits angesprochene Skalierbarkeit. Es ist zu jedem Zeitpunkt möglich, Speicher zu ergänzen. Auch ein Austausch oder das Entfernen von Komponenten ist im laufenden Betrieb möglich.

Anwendungsfälle für Software defined Storage

Software defined Storage (SDS) bietet die flexible Basis für gemeinsam genutzten Speicherplatz in lokalen Netzwerkverbünden. Hauptsächlich dürfte dies für Firmennetzwerke interessant sein. Aus allen bereits vorhandenen Servern kann ein Software defined Storage (SDS) gebildet werden. Auf diesem können dann die notwendigen Dienste angeboten werden. Eine Möglichkeit ist beispielsweise die Nutzung des Speicherplatzes als Fileservers. Auch beliebige Serverdienste können darauf ausgeführt werden. Diese dürfen auch in einer virtualisierten Umgebung laufen. Das gesamte System ist nach der Einrichtung zentral administrierbar.

Was ist Ceph?

Ceph ist eine freie Variante des Software defined Storage (SDS). Sie wird unter GNU Lesser General Public License angeboten (LGPL). Ceph läuft unter Linux und wird von einem Konsortium verschiedener Hard- und Softwarehersteller entwickelt. Unter den Firmen befinden sich Canonical (Entwickler von Ubuntu-Linux), Cisco, Fujitsu, Intel, Red Hat, SanDisk und SuSE-Linux.

Die Software läuft auf handelsüblicher Hardware. Zur Speicherung wird ein Algorithmus mit Namen CRUSH verwendet. Dies steht für Controlled Replication Under scalable Hashing und setzt die Verteilung der Daten im System um. Die Komponenten im System werden Object Storage Nodes (OSDs) genannt. Es ist eine Redundanz der Daten vorgesehen, die dafür sorgt, dass ausgefallene Komponenten ohne Datenverlust ersetzt werden können. Die Software bringt mit CephFS ein eigenes Dateisystem mit.

Was ist Storage Spaces Direct?

Storage Spaces Direct (S2D) heißt der Software defined Storage (SDS) von Microsoft. Das System ist bereits in den Datacenter-Versionen von Windows Server 2016 und 2019 integriert. Es kann also relativ einfach verwendet werden, wenn die Infrastruktur auf diesen Betriebssystemen basiert. Die Flexibilität ist allerdings insofern eingeschränkt, als dass für jedes eingebundene Gerät eine Lizenz erforderlich ist.

Die Einrichtung von S2D erfolgt per PowerShell. Als Dateisystem kann das bekannte NTFS oder das für diesen Zweck optimierte ReFS zur Anwendung kommen. Bei ausreichend eingebundenen Komponenten liegt die Speichereffizienz bei bis zu 80 Prozent. Auch S2D bietet eine Wiederherstellung verlorener Dateien. Dies wird mit der Technik Local Reconstruction Codes (LRC) gewährleistet.

Mehr zum Thema:
Was ist ERPNext?

Weitere Anbieter von Software defined Storage

VMWare, der Spezialist für Virtualisierung, verwendet Software defined Storage (SDS) für seine Software vSAN, die Wiederherstellungssoftware Site Recovery Manager und sein Framework Virtual Volumes. Hierbei handelt es sich um ein kostenpflichtiges Angebot. Eine freie Alternative zu Ceph ist das Netzwerk-Dateisystem GlusterFS.

OpenStack Swift ist ein weiteres System zur Bereitstellung von Netzwerkspeicher aus verteilten Systemen. Es handelt sich dabei um Open-Source-Software, die also kostenfrei genutzt werden darf.

Gehört Software defined Storage die Zukunft?

Es sieht im Moment danach aus, dass Software defined Storage (SDS) das Konzept der Zukunft ist. Insbesondere gegenüber vorhandenen NAS- und SAN-Lösungen besticht es durch seine Flexibilität.  Man kann Hardware kann integrieren. Zuwächse in der Performance sind auch mit geringen Investitionen möglich. Zudem scheint der integrative Ansatz ein großer Vorteil bei der Administration zu sein. Backup-Strategien müssen beispielsweise nicht separat entworfen werden. Die Möglichkeit zur zentralen Administration ist ein grundsätzlicher Bestandteil der Technologie. Zudem sind keine Beschränkungen bei der Art der Nutzung des Speicherplatzes des Software defined Storage (SDS) gegeben. Somit harmoniert es beispielsweise gut mit dem Konzept der Virtualisierung von Systemen.

Letzte Artikel von Daniel Faust (Alle anzeigen)