Gorodenkoff - stock.adobe.com
So lässt sich mit Ceph Cloud-Storage-Flexibilität erreichen
Speichern, wo man will – je nach App-Anforderungen und sehr flexibel? Dies lässt sich erreichen, wenn man den richtigen Ansatz nutzt, zum Beispiel Software-defined Storage mit Ceph.
Die Anforderungen an Storage sind heute vielfältig: Performance und Skalierbarkeit sind bei wachsenden, heterogenen Datenmengen ein Muss, gleichzeitig spielt das Thema Sicherheit eine Rolle, Daten sollen für Mitarbeiter auch aus der Ferne (remote) erreichbar sein und nicht zuletzt sollte das ganze Konstrukt auch noch finanzierbar sein. Die Frage, ob Unternehmensdaten in der Cloud oder On-Premises besser aufgehoben sind, hat sich dabei mittlerweile überlebt: Der Mix macht’s!
Unternehmen sollten bei allen Daten erzeugenden Prozessen individuell entscheiden, welcher Speicherort aus rechtlichen, Performance-, Sicherheits- oder Kostengründen dafür am besten geeignet ist. Dabei ermöglichen technische Standards wie die Amazons S3-Schnittstelle oder die RESTful-API mit Open-Source-Lösungen wie etwa OpenStack eine komplette Private Cloud im eigenen Rechenzentrum, mit allen Vorteilen, aber mit voller Kontrolle über sensible Daten und in aller Regel deutlich günstiger als die Angebote der großen Hyperscaler.
Organisation, Logik und Software
Ein zentraler Punkt bei einer Cloud ist das Thema Skalierbarkeit: sowohl bei den Rechenkapazitäten als auch beim Storage – hier kommt ein klassisches SAN etwa schnell an seine Grenzen. Nicht von ungefähr korrespondiert Cloud mit Objektspeichertechnologie, bei der Daten in Objekte zerlegt und dank Metadaten identifiziert werden. Immer mehr Anwendungen unterstützen heute direkt die üblichen Cloud-Standards und können über Schnittstellen direkt auf das Object Storage zugreifen.
Insbesondere bei Datenbanken mit einer hohen Zahl an Transaktionen wird auch noch Block-Storage benötigt und Anwender im Unternehmen wollen nicht auf ihre gewohnte Ordner-Hierarchie im File-Storage verzichten.
Am Ende werden bei allen Speichervorgängen Bits und Bytes auf einer Festplatte oder einem Flash-Device abgelegt – der Rest ist Organisation, Logik und Software. Das ist vereinfacht auch der Grundgedanke hinter dem aktuellen Trend des Software-defined Storage.
Ein Beispiel dafür ist das Open-Source-Projekt Ceph, das von Sage Weil 2007 an der University of California Santa Cruz als verteiltes, hoch verfügbares und leistungsfähiges Storage-System entwickelt wurde. Mit Ceph lässt sich auf Linux-Basis ein Storage-Cluster aufbauen, der sich mit Standardhardware praktisch beliebig erweitern und auf nahezu jeden Anwendungsfall anpassen lässt, egal ob File, Block oder Object Storage. Der Software-defined-Storage-Ansatz macht Ceph extrem skalierbar, hoch performant (in Abhängigkeit von der eingesetzten Hardware) und zudem ausfallsicher.
Ein Speicherpool für alle Einsatzzwecke
Das organisatorische Rückgrat von Ceph sind die so genannten MONs, Basis für den eigentlichen Speicher sind Storage-Nodes, dabei handelt es sich um Server mit Platz für mehrere Platten oder SSDs. Da es sich bei den MONs um reine Softwareprozesse handelt, können sie auch auf den Storage-Nodes laufen, sofern diese mit ausreichend RAM- und CPU-Kapazität bestückt sind. Die MON-Nodes erstellen eine Cluster Map und sorgen im laufenden Betrieb für die Verwaltung des Clusters. Für jedes einzelne Speichermedium startet Ceph wiederum einen Softwareprozess, der als OSD bezeichnet wird (Object Storage Daemons).
Aus technischer Sicht baut Ceph aus allen angeschlossenen Speichermedien einen Speicherpool in Form eines Objektspeichers, der als RADOS bezeichnet (Reliable Autonomic Distributed Object Store) wird und quasi als Software-Layer zwischen der Speicherhardware und den Clients fungiert. Der Client-Zugriff auf RADOS kann über vier Wege erfolgen:
- CephFS, ein POSIX-konformes Dateisystem.
- Das RADOS Block Device (RBD) oder auch Ceph Block Device.
- radosgw, ein REST-basierendes Web Service Gateway (via RESTful API S3- und OpenStack Swift kompatibel).
- Über die API librados können Applikationen direkt auf RADOS zugreifen.
Externe Anbieter offerieren darüber hinaus noch die Möglichkeit, weitere Gateways, etwa für NFS, SMB und iSCSI einzurichten, so dass neben Linux- und Windows-Clients auch Produkte wie VMware problemlos direkt angebunden werden können.
Der Anwendungszweck entscheidet
Einige Anwendungen profitieren extrem von schnellen Speichertechnologien wie etwa NVMe-Flash, bei anderen wiederum spielt eher der Aspekt der Langzeitspeicherung eine Rolle. Einige Daten – etwa Web-Shops – müssen von extern erreichbar sein, andere dürfen beispielsweise aufgrund aktueller Datenschutzbestimmungen nur unter hohen Sicherheitsanforderungen gespeichert werden. Anwenderverzeichnisse wachsen kaum oder nur sehr langsam, unstrukturierte Daten aus sozialen Medien oder von Sensoren kennen kaum Grenzen und skalieren extrem.
Über der Frage des idealen Speichers steht natürlich immer der Kostenaspekt, und auch hier sind pauschale Antworten schwierig, weil das Kleingedruckte in den Preislisten der großen Hyperscaler oft mehr verwirrt als erklärt. Davon können einige IT-ler ein Lied singen, die nicht beachtet haben, dass nicht nur die Speicherung, sondern auch jede Datenbewegung Kosten verursachen kann.
„Ein zentraler Punkt bei einer Cloud ist das Thema Skalierbarkeit: sowohl bei den Rechenkapazitäten als auch beim Storage – hier kommt ein klassisches SAN etwa schnell an seine Grenzen.“
Andy Muthmann, croit GmbH
Wer die Vorteile von Cloud-Diensten, wie etwa Skalierbarkeit, Verteilung oder Ausfallsicherheit für sich nutzen möchte, muss dafür nicht zwingend in die Cloud gehen. Mit Ceph lassen sich diese Eigenschaften im eigenen Rechenzentrum nachbauen, was nicht nur kostengünstiger ist, sondern auch mit Blick auf aktuelle Vorschriften im Bereich der Datensicherheit hilft. Das Einrichten eines Ceph-Clusters ist für einen erfahrenen Admin eine machbare Herausforderung und außer den Investitionen für die eingesetzte Standardhardware fallen keine weiteren Kosten an, die Software selbst ist Open Source und kostenlos.
Allerdings sind für eine optimale Konfiguration im produktiven Einsatz zahlreiche Stellschrauben zu beachten, die bei native Ceph über die Konsole angepasst werden müssen. Mit einer ergänzenden Management- und Deployment-Lösungen wie croit lassen sich die meisten Fallstricke bei der Einrichtung und Verwaltung eines Ceph-Clusters elegant umschiffen. Und falls nicht, stehen – neben der aktiven Open-Source-Community – qualifizierte Consultants und Support-Mitarbeiter zur Verfügung. Unternehmen haben damit eine extrem leistungsfähige Option für die Speicherung ihrer Daten, die nicht nur bezahlbar, sondern auch „Enterprise-ready“ ist.
Über den Autor:
Andy Muthmann ist Managing partner, Director Sales bei croit GmbH.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.