Ceph ist eine um­fas­sen­de Spei­cher­lö­sung, die mit dem Ceph-File­sys­tem (CephFS) über ein eigenes Da­tei­sys­tem verfügt. Mit Ceph ist es möglich, Daten auf diversen Kom­po­nen­ten im eigenen Netzwerk verteilt abzulegen. Zudem können die Daten mehrfach in physisch un­ter­schied­li­chen Spei­cher­be­rei­chen gesichert werden. Ceph gewährt eine große Fle­xi­bi­li­tät bei der Wahl der Spei­cher­ge­rä­te und eine hohe Ska­lier­bar­keit.

IONOS Cloud Object Storage
Daten sicher und günstig speichern

Ersetzen Sie eigene, kos­ten­in­ten­si­ve Spei­cher­lö­sun­gen mit IONOS Cloud Object Storage. Es ist hoch­gra­dig ska­lier­bar, äußerst kos­ten­ef­fi­zi­ent und in­te­griert sich in Ihre An­wen­dungs­sze­na­ri­en. Die extrem hohe Aus­fall­si­cher­heit unserer Server sowie eine in­di­vi­du­el­le Zu­griffs­steue­rung schützen Ihre Daten zu­ver­läs­sig.

Wis­sens­wer­tes zu Ceph und die wich­tigs­ten Merkmale

Das Konzept von Ceph geht auf Sage A. Weil zurück, der es während seiner Dis­ser­ta­ti­on ent­wi­ckel­te und 2006 ver­öf­fent­lich­te. Danach führte er das Projekt mit seiner Firma Intank Storage fort. 2014 wurde die Firma von RedHat über­nom­men, wo Weil als Chef­ar­chi­tekt weiterhin für die Ent­wick­lung ver­ant­wort­lich ist.

Ceph läuft nur auf Linux-Systemen. Un­ter­stüt­zung bieten bei­spiels­wei­se CentOS, Debian, Fedora, RedHat/RHEL, OpenSUSE und Ubuntu. Der Zugriff von Windows-Systemen aus ist nicht direkt, jedoch unter Nutzung von iSCSI (Internet Small Computer System Interface) möglich. Daher eignet sich Ceph besonders für den Einsatz in Re­chen­zen­tren, die ihren Spei­cher­platz über Ser­ver­diens­te zur Verfügung stellen, sowie für Cloud-Lösungen aller Art, die eine Software zur Be­reit­stel­lung des Speichers nutzen.

Wir haben die wich­tigs­ten Merkmale von Ceph für Sie zu­sam­men­ge­fasst:

  • Quell­of­fe­ne Be­reit­stel­lung (Open Source)
  • Hohe Ska­lier­bar­keit
  • Da­ten­si­cher­heit durch red­un­dan­te Spei­che­rung der Daten
  • Aus­fall­si­cher­heit durch verteilte Ablage der Daten
  • Soft­ware­ba­sier­te Erhöhung der Ver­füg­bar­keit durch eigenen Al­go­rith­mus zum Auffinden der Daten
  • Dar­stel­lung als zu­sam­men­hän­gen­der Speicher
  • Geringe Hardware-An­for­de­run­gen (Ein­rich­tung bereits ab 1 GB RAM auf einem Rechner mit Single-Core-Prozessor und Spei­cher­platz von wenigen GB möglich, je nach Aufgabe im Verbund)

Die Funk­ti­ons­wei­se von Ceph

Ceph benötigt mehrere mit­ein­an­der vernetzte Rechner. Diese werden als Cluster (wörtlich: „Haufen“, in diesem Kontext: Verbund von mehreren Rechnern) be­zeich­net. Jeder ein­ge­bun­de­ne Rechner wird als Node (Kno­ten­punkt) be­zeich­net.

In diesem Verbund müssen folgende Aufgaben unter den Nodes verteilt werden:

  • Monitor Nodes: Verwalten den Status der einzelnen Nodes im Cluster, ins­be­son­de­re die Übersicht der Kom­po­nen­ten Manager-Dienst, Object-Storage-Dienst und Metadaten-Server (MDS); um für Aus­fall­si­cher­heit zu sorgen, werden min­des­tens drei Monitor-Nodes empfohlen.
  • Manager: Verwalten den Status der Spei­cher­nut­zung, der Sys­tem­last und Aus­las­tung der Nodes.
  • Ceph OSDs (Object Storage Devices): Die Hin­ter­grund­diens­te für die ei­gent­li­che Da­tei­ver­wal­tung; sie sind für die Spei­che­rung, Du­pli­zie­rung und Wie­der­her­stel­lung von Daten zuständig. Im Cluster werden min­des­tens drei OSDs empfohlen.
  • Metadaten-Server (MDSs): Speichern die Metadaten, also Spei­cher­pfa­de, Da­tei­na­men und Zeit­stem­pel der im CephFS ab­ge­leg­ten Dateien aus Per­for­mance-Gründen zu­sätz­lich; sie sind POSIX-konform und können mittels Unix-Kom­man­do­zei­len-Pro­gram­men wie ls, find und like abgefragt werden.

Herzstück der Da­ten­ab­la­ge ist ein Al­go­rith­mus mit der Be­zeich­nung CRUSH (Con­trol­led Re­pli­ca­ti­on Under Scalable Hashing). Dieser ist in der Lage, anhand einer Zu­ord­nungs­ta­bel­le, der CRUSH Map, einen OSD mit der an­ge­for­der­ten Datei zu finden.

Die Ver­tei­lung der Dateien erfolgt bei Ceph pseu­do­zu­fäl­lig. Das bedeutet, dass sie scheinbar wahllos abgelegt werden. Tat­säch­lich errechnet CRUSH aber anhand fest­ge­leg­ter Kriterien den ge­eig­ne­ten Spei­cher­ort. Im Zuge dessen werden die Dateien auch du­pli­ziert und auf physisch ge­trenn­ten Medien abgelegt. Die ent­spre­chen­den Vorgaben kann der Ad­mi­nis­tra­tor des Netzes bestimmen.

Die Dateien werden in so­ge­nann­te Placement Groups ein­ge­teilt. Hierbei wird der Dateiname als Hashwert ver­ar­bei­tet, weiteres Ein­tei­lungs­merk­mal ist z. B. die Anzahl der Duplikate einer Datei.

Hinweis

Beim Hashwert handelt es sich um eine Zei­chen­fol­ge, die das Ergebnis einer durch Re­chen­ope­ra­tio­nen ver­ar­bei­te­ten Eingabe ist. Ein ein­fa­che­res Vorgehen wäre, die Quersumme aus den Rohdaten zu ge­ne­rie­ren. Tat­säch­lich kommen jedoch hoch­kom­ple­xe Al­go­rith­men zum Einsatz, die aus beliebig langen Daten einen ein­zig­ar­ti­gen digitalen Fin­ger­ab­druck erstellen. Die Ausgabe hat immer dieselbe kompakte Länge und enthält keine un­er­wünsch­ten Zeichen. Daher eignet sie sich auch zur Ver­ar­bei­tung von Da­tei­na­men.

Um die Da­ten­si­cher­heit zu ge­währ­leis­ten, kommt auf der Ebene der OSDs ein Jour­na­ling zum Einsatz. Jede Datei, die ge­spei­chert werden soll, wird dort zwi­schen­ge­spei­chert, bis sie auf allen vor­ge­se­he­nen OSDs ord­nungs­ge­mäß abgelegt wurde.

Zugriff auf die ab­ge­leg­ten Daten

Die Basis der Da­ten­ab­la­ge unter Ceph wird als RADOS be­zeich­net (a reliable, dis­tri­bu­ted object store comprised of self-healing, self-mapping, in­tel­li­gent storage nodes), also als ein ver­läss­li­cher, ver­teil­ter, sich selbst re­ge­ne­rie­ren­der und or­ga­ni­sie­ren­der, in­tel­li­gen­ter ob­jekt­ori­en­tier­ter Speicher.

Es gibt ver­schie­de­ne Methoden des Zugriffs auf die ab­ge­leg­ten Dateien:

  • librados: Ein nativer Zugriff ist unter Ver­wen­dung der Bi­blio­thek librados über die Pro­gram­mier­schnitt­stel­len (API) mit Pro­gram­mier- und Skript­spra­chen wie C/C++, Python, Java und PHP möglich.
  • radosgw: Über das Gateway können Daten mittels des In­ter­net­pro­to­kolls HTTP gelesen oder ge­schrie­ben werden.
  • CephFS: Ist das POSIX-konforme, eigene Da­tei­sys­tem; es bietet ein Kernel-Modul für zu­grei­fen­de Rechner und un­ter­stützt FUSE (Da­tei­sys­tem-Ein­bin­dung ohne Ad­mi­nis­tra­tor­rech­te).
  • RADOS Block Device: Ein­bin­dung als block­ori­en­tier­ter Speicher durch Kernel-Module oder virtuelle Systeme wie QEMU/KVM.

Al­ter­na­ti­ven zu Ceph

Die an­er­kann­tes­te Al­ter­na­ti­ve ist GlusterFS, das ebenfalls zum Linux-Dis­tri­bu­tor RedHat/RHEL gehört und kos­ten­frei verfügbar ist. Gluster verfolgt einen ähnlichen Ansatz mit dem Zu­sam­men­fas­sen des ver­teil­ten Speichers zu einem ein­heit­li­chen Spei­cher­platz im Netzwerk. Natürlich haben die beiden Lösungen GlusterFS und CephFS jeweils ihre eigenen Vor-und Nachteile. Diese finden Sie in unsererm Artikel GlusterFS vs Ceph.

Zudem gibt es weitere kos­ten­freie Al­ter­na­ti­ven, bei­spiels­wei­se XtremFS und BeeGfs. Microsoft bietet für Windows-Server kom­mer­zi­el­le soft­ware­ba­sier­te Spei­cher­lö­sun­gen, darunter Storage Spaces Direct (S2D).

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kos­ten­güns­ti­ge vCPUs und leis­tungs­star­ke de­di­zier­te Cores
  • Höchste Fle­xi­bi­li­tät ohne Min­dest­ver­trags­lauf­zeit
  • Inklusive 24/7 Experten-Support

Vor- und Nachteile von Ceph

Ceph ist in vielen Szenarien die richtige Wahl, doch die Spei­cher­me­tho­de bringt nicht nur Vorteile mit sich.

Vorteile von Ceph

Ceph ist kos­ten­frei und gilt in­zwi­schen als etabliert – trotz seiner noch ver­gleichs­wei­se jungen Ent­wick­lungs­ge­schich­te. Im Netz finden sich zahl­rei­che Hil­fe­stel­lun­gen für die Ein­rich­tung und Wartung. Zudem ist die Anwendung sehr gut vom Her­stel­ler do­ku­men­tiert. Die Übernahme durch RedHat spricht dafür, dass die Wei­ter­ent­wick­lung auf absehbare Zeit fort­ge­führt wird. Die Ska­lier­bar­keit und die in­te­grier­te Redundanz sorgen für Da­ten­si­cher­heit und Fle­xi­bi­li­tät im Netzwerk. Überdies ist die Ver­füg­bar­keit durch den CRUSH-Al­go­rith­mus ge­währ­leis­tet.

Hinweis

Redundanz bedeutet „Überfluss“. In der In­for­ma­ti­ons­tech­nik sind damit also Daten gemeint, die zu­sätz­lich und über­schüs­sig vorhanden sind. Hier sorgt man häufig ab­sicht­lich für Redundanz, um Daten- und Aus­fall­si­cher­heit zu ga­ran­tie­ren. Dies ist auf Software- und auf Hardware-Ebene möglich: Zum einen können Daten oder zur Re­kon­struk­ti­on not­wen­di­ge In­for­ma­tio­nen mehrfach im Speicher abgelegt werden; zum anderen können Spei­cher­kom­po­nen­ten, physisch getrennt, mehrfach vorhanden sein, um den etwaigen Ausfall einzelner Rechner zu kom­pen­sie­ren.

Nachteile von Ceph

Durch die Vielzahl an vor­ge­se­he­nen Kom­po­nen­ten ist ein um­fang­rei­ches Netzwerk notwendig, um die Stärken von Ceph nutzen zu können. Zudem ist die Ein­rich­tung relativ aufwendig und dem Anwender er­schließt sich nicht unbedingt, wo genau die Daten physisch abgelegt werden.

Zum Hauptmenü