Beiträge

Ceph – was ist das? Viele Internetnutzer haben – in den meisten Fällen unbewusst – schon damit zu tun gehabt. Mit Ceph – einer Softwarelösung – können große Datenmengen einfach und günstig verarbeitet und auf standardisierter Industriehardware gespeichert werden. Ceph kommt zum Beispiel in Speichersystem von Webshops oder bei Anbietern von Onlinespeicher zur Anwendung.

Was ist Ceph?

Ceph ist eine nahezu endlos skalierende und hochverfügbare Softwarelösung zur verteilten Speicherung von Daten im Netzwerk. Die Software ist Open Source, basiert auf Linux und wurde für den Einsatz als Objekt-, Block- und Dateispeicher entwickelt. Das Gesamtsystem ist extrem robust und eignet sich für Datenmengen von wenigen hundert Gigabyte bis hin zu einigen Peta– und sogar Exabytes (1 Exabyte sind 1 Milliarde Gigabyte!).

Die Geschichte von Ceph

Ceph wurde als ein Projekt für die Doktorarbeit von Sage Weil an der University of California in Santa Cruz ins Leben gerufen. Die ersten Codezeilen wurden 2004 geschrieben und im Jahr 2005 gab es den ersten funktionierenden Prototypen von Ceph. Das System wurde 2006 durch Sage Weil bei zwei Konferenzen der Öffentlichkeit vorgestellt.

Weil arbeitete nach seiner Dissertation weiter am Projekt und gründete im Jahr 2012 die Firma Intank Storage, um das System auch professionell nutzen und vermarkten zu können. Kurz vorher, 2010, wurde der erste Ceph Client in den Linux-Kernel integriert. Intank Storage wurde 2014 von RedHat, einem Anbieter von professionellen Linux Systemen, gekauft und ist heute als „Red Hat Ceph Storage“ ein Bestandteil der Produktpalette von RedHat.

Unabhängig davon steht das Ceph-Projekt weiterhin als Open Source Software kostenfrei jedem zur Verfügung.

Wie funktioniert Ceph?

Ceph läuft als Software auf einem herkömmlichen Linux System. Mindestens drei, besser sind mehr als vier, Computer (Knoten oder englNodes) bilden ein Cluster. Lesen Sie hier mehr über Linux.

Ceph-Knoten

Storage-Knoten sind wichtig

 

Die wichtigsten Komponenten im Ceph Cluster sind die Storage Knoten. Sie sind verantwortlich für die Speicherung der Daten und verfügen daher im Regelfall über eine große Speicherkapazität. Die Festplatten und Disksysteme sollten im RAID-Verbund zur Verbesserung der Fehlertoleranz und Geschwindigkeit organisiert sein. Der Primary Storage Node entscheidet im Cluster über die Datenverteilung, Replikation und Recovery. Alle anderen Knoten stehen als Secondary Storage Node zur Überwachung zur Verfügung und können im Fehlerfall die Rolle des Primary Storage Nodes übernehmen.

Relevante Fehlertoleranz

Eine wichtige Funktion ist die Fehlertoleranz, sprich die Reaktion auf Ausfälle einzelner Komponenten des Gesamtsystems. Zu diesem Zweck tauschen die Knoten untereinander Informationen über den Zustand der Einzelsysteme aus und können so auf verschiedene Betriebszustände wie hohe Last, Ausfall eines Knotens oder Ähnliches reagieren. Die einzelnen Knoten haben dabei unterschiedliche Aufgaben und Wertigkeiten. Die Entscheidungsfindung bei Hardwarefehlern ist kompliziert und immer dem Ziel des maximalen Datenschutzes untergeordnet. Im Normalfall isoliert sich der fehlerhafte Knoten und der Betrieb geht mit den verbliebenen Knoten unterbrechungsfrei weiter. In sehr seltenen Fällen kommt der Cluster nach den vorgegebenen Regeln zur Entscheidungsfindung zu keinem Ergebnis oder die verbleibenden Knoten reichen nicht zur Sicherung der Fehlertoleranz aus. Anschließend schaltet sich das gesamte System im Sinne des Schutzes der Daten ab.

Ceph

Wie kommuniziert Ceph?

Die Kommunikation zwischen den Knoten und mit den Storage Clients erfolgt über das normale Netzwerk. Im Serverbereich wird heute zumeist die 10Gbit Technik eingesetzt, die einzelnen Server/Knoten können zur Erhöhung der Geschwindigkeit mit mehreren (gebündelten) Netzkarten versehen werden. Die Anbindung an das Netzwerk wird im Idealfall über mehrere Switcheredundant realisiert. Durch diese Maßnahme gibt es im Ceph Cluster keine zentrale Komponente, deren Fehler das Gesamtsystem zum Ausfall bringen könnte.

Welche Vorteile bietet Ceph?

Der große Vorteil von Ceph ist, dass der Anwender unabhängig von proprietären und teuren hardwarebasierten Storagesystemen großer Hersteller wird. Ceph läuft auf Standard-Hardware und kann unterschiedliche Systeme verschiedener Hersteller unter einen Hut bringen. Durch den Einsatz der Open Source Software und preisgünstiger standardisierter Hardware kann der Anwender Kosten in Höhe von 20% bis 50% gegenüber den Storagesystemen großer Hersteller einsparen.

Ein Ceph-Storagesystem ist sehr hoch skalierbar. Durch Hinzufügen von zusätzlichen Knoten und Festplatten lässt sich die Kapazität einfach und schnell erweitern. Neben der Kapazität kann man die Performance des Systems durch Zufügen von Hardware verbessern. Da Ceph verteilt arbeitet, gibt es keinen einzelnen Performance-Engpass (Flaschenhals oder englBottleneck), das System steuert die Lastverteilung auf die einzelnen Knoten selbst.

Durch das Hinzufügen weiterer Knoten lässt sich ebenso die Redundanz des Gesamtsystems steigern. Die intelligente Datenverteilung auf den Disksystemen und über die verschiedenen Knoten macht das System sehr robust. Hardwarefehler einzelner Bauteile oder Knoten kann der Cluster im Betrieb transparent überbrücken. Je nach Konfiguration der Regeln zur Datenverteilung über die Knoten ist der Ausfall mehrerer Knoten ohne Ausfall des gesamten Systems möglich.

Gibt es auch Nachteile?

Ceph-Nachteile

Nachteile von Ceph

Planung, Installation und Pflege eines Storagesystems mit Ceph stellen den Anwender vor große Herausforderungen. Er sollte mit Linux als Betriebssystem und der Software Ceph gut vertraut sein. Bei der Planung sind Kenntnisse im Bereich der StoragetechnologienRedundanzkonzepten und Netzwerk unerlässlich. Im Fehlerfall ist der Anwender auf Eigenhilfe oder die Unterstützung der Community angewiesen.

Der Kauf einer professionellen Variante (zum Beispiel von RedHat) bietet Vorteile bezüglich der Handhabbarkeit und vor allem beim professionellen Support durch den Hersteller, erhöht im Gegenzug allerdings die Kosten.

Wo wird Ceph eingesetzt?

Der Speicherbedarf im Internet und bei Unternehmen wächst beständig. Neue Anwendungen, Clouds, Social Media, Online Shops und Multimedia Dienste benötigen immer größere Speicherkapazitäten. Vorhandene Daten müssen per Backup gesichert und alte Daten archiviert werden, die Grenzen des Speicherwachstums sind momentan nicht absehbar. Dabei steigt vor allem der Bedarf nach kostengünstigen und einfach skalierbaren Speicherlösungen. In diesem Bereich spielt Ceph seine Stärken aus.

Es wird heute von Kunden aus verschiedenen Bereichen eingesetzt. E-Commerce Lösungen mit Magento oder Shopwarearbeiten mit Ceph im Hintergrund, Datenbanken profitieren von der enormen und skalierbaren Geschwindigkeit von Ceph. Viele Onlinedienste nutzen Ceph als Datenspeicher und schätzen dabei vor allem die geringen Kosten und die einfache Erweiterbarkeit.

In großen Rechenzentren kommen die Vorteile von Ceph zum Tragen. Hohe Redundanz und Geschwindigkeit werden mit der steigenden Anzahl von Knoten im Cluster besser nutzbar. In Virtualisierungsumgebungen wie KVM oder XEN ist neben den genannten Punkten die hohe Skalierbarkeit wichtig, um dem Wachstum der angeschlossenen Dienste gerecht zu werden.