Open-Source-Entwicklungen für Storage-Cluster

Ceph-Management mit Openattic

25. Oktober 2016, 8:00 Uhr | Von Lenz Grimmer.

Openattic ist ein Storage-Management-System für Linux auf Open-Source-Basis, dessen Entwicklung IT-Novum in Fulda sponsert. Die Lösung unterstützt die gängigen NAS/SAN-Protokolle wie CIFS/NFS sowie iSCSI und Fibre Channel. Openattic ermöglicht es, einen herkömmlichen Linux-Server in ein flexibles Storage-System zu verwandeln. Doch auch die Integration von Funktionen zum Monitoring und Management von Ceph-Clustern schreitet stark voran.

Anfang dieses Jahres haben Suse und IT-Novum eine Zusammenarbeit angekündigt, um in Openattic Funktionen zur Verwaltung des Open-Source-Objektspeichers "Ceph" zu entwickeln. Dieser Beitrag gibt einen Überblick über Openattic und den aktuellen Stand der Entwicklungen bei der Ceph-Integration sowie einen Ausblick auf zukünftige Neuerungen.

Der Speicherbedarf in Unternehmen und Rechenzentren wächst laut aktueller Studien ungehindert weiter. Aber nicht nur der Ressourcenbedarf ändert sich, auch die Anforderungen an Storage: Zusätzlich zu den "klassischen" Anwendungsfällen wie SQL-Datenbanken oder E-Mail-Server kommen durch Themen wie Big Data, Internet of Things oder Cloud beziehungsweise Virtualisierung verstärkt unstrukturierte Daten hinzu. Diese stellen große beziehungsweise neue Herausforderungen an bestehende Storage-Infrastrukturen und erfordern stellenweise auch völlig andere Lösungsansätze, um der wachsenden Datenflut Herr zu werden.

Mittlerweile bieten Open-Source-Lösungen einen Großteil der gewünschten Funktionen "out of the box" und versprechen Abhilfe aus der Kostenfalle. Es gibt diverse freie Softwareprojekte, mit deren Hilfe sich aus herkömmlichen x86-Servern mit lokalen Festplatten kostengünstige und performante Storage-Systeme aufbauen lassen, die sich auch in klassischer "Scale-up"-Manier erweitern lassen, wenn der Speicher knapp zu werden droht. Doch irgendwann stößt der Ansatz, einfach weitere Festplatten oder mehr RAM in einen Server zu stecken, an seine physischen Grenzen - ein "Scale-out"-Ansatz ist erforderlich, um die Last auf mehrere Systeme zu verteilen, oder um den Ausfall eines solchen Speichersystems unterbrechungsfrei abfedern zu können.

ll11s03_bild-1
Ceph-Funktionen in Openattic: Dialog zum Erstellen von RADOS Block Devices.

Die Verteilung der Aufgaben auf mehrere unabhängige Systeme bringt allerdings neue Herausforderungen mit sich. Neben der Sicherstellung der Redundanz und Verfügbarkeit der Daten erwächst beispielsweise auch schnell die Anforderung, diese Systeme von zentraler Stelle aus überwachen und verwalten zu können.

Mit Themen wie skalierbarem Speicher, Clustering und verteilten Dateisystemen haben sich in der Open-Source-Welt schon unzählige Entwickler mit den unterschiedlichsten Ansätzen beschäftigt. Bekannte Vertreter solcher Lösungen sind zum Beispiel DRBD, GFS2/OCFS2 oder auch Gluster und ZFS. Doch sie adressieren meist nur Teilaspekte und sind häufig durch weitere Techniken zu ergänzen, um den gewünschten Anwendungsfall adäquat abzudecken.

Verteilter Objektspeicher Ceph

Seit einigen Jahren ist der verteilte Objektspeicher Ceph in aller Munde. Ceph verspricht, eine Vielzahl von Anforderungen zu erfüllen. Speziell als Storage Backend für die Open-Source-Cloud-Lösung Openstack erfreut sich Ceph wachsender Beliebtheit, da es in Aussicht stellt, die Disziplinen Object Storage, Block Storage und File Storage unter einem Dach zu vereinen. Ceph übernimmt autonom die Verteilung der Daten auf die einzelnen Clusterknoten und skaliert sehr gut horizontal, da es keinen "Bottleneck" beziehungsweise "Single Point of Failure" gibt.

Die Distribution der Daten steuert ein Algorithmus, die sogenannte "CRUSH-Map" (Controlled Replication Under Scalable Hashing). Er ermöglicht es den Clients, Datenobjekte ohne Zutun des Clusters selbst auf dem entsprechenden Speicherknoten (Object Storage Daemon, OSD) abzulegen - und auch wiederzufinden. Die OSDs sorgen automatisch durch Verteilung der Daten im Hintergrund für das erforderliche Maß an Redundanz und Ausfallsicherheit. Im Fall, dass ein Knoten ausfällt, sind die Daten weiterhin verfügbar. Ceph sorgt selbständig im Hintergrund dafür, dass das gewünschte Redundanz-Level möglichst schnell wieder erreicht wird. Alle Komponenten eines Ceph-Clusters sind redundant ausgelegt und verkraften sowohl den Ausfall einzelner Festplatten als auch den Komplettausfall ganzer Knoten (beziehungsweise Racks oder Brandabschnitte - je nach Konfiguration).

Ceph und der zugrunde liegende CRUSH-Algorithmus wurden ursprünglich 2007 von Sage Weil im Rahmen einer Forschungsarbeit entworfen und anschließend als Open-Source-Projekt weiterentwickelt. Das daraus gegründete Start-up-Unternehmen Inktank hat 2014 der Linux-Distributor Red Hat übernommen. Ceph dient mittlerweile als Basis diverser Storage-Produkte wie etwa Suse Enterprise Storage, eine globale Entwicklergemeinde sorgt ständig für Verbesserungen und Weiterentwicklung.

Management und Monitoring von Ceph-Clustern

Aufgrund der hohen Komplexität der Lösung stellen die Installation sowie das Management und Monitoring von Ceph-Clustern allerdings immer noch eine Herausforderung dar. Es existieren zwar verschiedene Ansätze, und einige sind auch recht weit gediehen, sie decken aber mitunter nur Teilbereiche ab oder haben es nicht geschafft, eine aktive Gemeinschaft von Nutzern und Entwicklern um sich zu vereinen.

Open-Source-Projekt Openattic

Die Entwicklung von Openattic findet vollständig in der Öffentlichkeit auf der Code-Hosting-Plattform Bitbucket (bitbucket.org/openattic) und einem öffentlichen Jira Issue Tracker (tracker.openattic.org) statt. Interessierte Anwender und Entwickler können in jeden Aspekt des Entwicklungsprozesses Einblick nehmen und sich in unterschiedlicher Art und Weise in das Projekt einbringen. Seien es Feature-Anfragen, Fehlerberichte oder Verbesserungsvorschläge - die Openattic-Entwickler sind für jedes Feedback dankbar. Weitere Informationen zu Openattic sind unter openattic.org verfügbar.

An dieser Stelle tritt Openattic auf den Plan: Dieses auf Django sowie Angular JS basierende Open-Source-Storage-Management-System hat seine Wurzeln im "traditionellen" Storage-Management und erlaubt es, Speicherressourcen in Form von CIFS/NFS sowie iSCSI oder Fibre Channel über ein Web-basierendes GUI sowie eine REST-Programmierschnittstelle zu verwalten. Openattic ist von Haus aus Multi-Node-fähig und unterstützt die Replikation von Daten sowie die Verwaltung und Überwachung mehrerer Knoten mit einer einzigen Administrationsoberfläche. Im Gegensatz zu vielen anderen Lösungen unterstützt Openattic die gängigen Linux-Distributionen und ermöglicht es, auf dieser Basis flexible und kostengünstige Speichersysteme aufzubauen.

Ceph-Funktionen in Openattic

Im Jahr 2015 startete die Initiative, Ceph-Management-Funktionen in Openattic zu integrieren, um Anwendern einen nahtlosen Übergang vom "traditionellen" Server-basierenden Storage zu einer skalierbaren und redundanten Lösung zu bieten. Seit Anfang 2016 beteiligt sich auch der Linux-Distributor Suse an der Weiterentwicklung der Ceph-Funktionen in Openattic. Ziel ist es, Openattic als Management-Frontend für das Produkt "Suse Enterprise Storage" einzusetzen. Als Nebeneffekt dieser Kooperation ist Openattic nun neben Debian/Ubuntu sowie Red Hat Enterprise Linux 7 und dessen Derivaten auch für Suse Linux Enterprise Server und Opensuse Leap verfügbar.

ll11s03_bild-2
Erster Blick auf das neue Openattic-Dashboard - hier mit einem Ceph-Cluster-Statusindikator.

Die Entwicklung der Ceph-Funktionen ist im Lauf der letzten Monate stark vorangeschritten. Mittlerweile bietet Openattic Einblick in die meisten von Ceph verwalteten Objekte wie zum Beispiel RADOS Block Devices (RBDs, RADOS: Reliable Autonomic Distributed Object Store), Ceph-Pools oder auch Ceph-"Object Storage Devices" (OSDs). Neben reinen "Read-only"-Ansichten kommen auch verstärkt Möglichkeiten hinzu, diese Objekte zu bearbeiten beziehungsweise zu löschen oder neu hinzuzufügen. Auch das Monitoring von Ceph-Pools und des Ceph-Clusters mithilfe von Nagios/Icinga wurde implementiert. Aktuell in der Entwicklung befindet sich ein flexibel konfigurierbares Dashboard, das den Zustand und die Auslastung eines beziehungsweise mehrerer Ceph-Cluster visualisiert. Auch weitere Funktionen zum Anlegen und Löschen von Ceph-Pools sowie zur grafischen Anzeige der Pool-Auslastung sind momentan in der Entwicklung und stehen kurz vor der Fertigstellung.

Zukünftige Entwicklungen werden verstärkt in Richtung Management, Monitoring und Deployment der einzelnen Knoten eines Ceph-Clusters gehen. Dabei werden nach aktueller Planung weitere Open-Source-Techniken wie zum Beispiel "Collectd" (Collection Daemon) für die Überwachung diverser Laufzeitparameter sowie "Salt Open" für die Fernverwaltung und das Deployment zum Einsatz kommen.

Lenz Grimmer ist Team Lead Product Management and Development bei IT-Novum ().

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu The Linley Group

Weitere Artikel zu Netrada

Matchmaker+