Wohin geht die Reise beim Ceph-Objectstore?

Heiko Küverling, 12RF

Ablagesystem

Red Hat veröffentlichte kürzlich ein flammendes Manifest für GlusterFS und gegen Ceph. Man nimmt den Konkurrenten also durchaus ernst. Grund genug, die neuesten Entwicklungen bei Ceph genauer zu betrachten.
Drahtlose Netzwerke sind überall: Zu Hause, im Café und in der Firma. Im Gegensatz zu Kabelnetzen verliert der Admin bei WLANs allerdings schnell die ... (mehr)

Der Objektspeicher Ceph war im ADMIN-Magazin bereits einige Male Thema, und bis jetzt hatte Ceph dabei stets die Rolle des Underdogs – hatte es doch bis dato Insider-Charakter: Nur, wer sich bereits eingehend mit den neuen Storage-Technologien beschäftigt hat, dürfte Ceph schon bemerkt und womöglich sogar ausprobiert haben. Inktank, die Firma hinter Ceph, hat in den letzten Wochen und Monaten nichts unversucht gelassen, um das zu ändern: Neben medial groß angekündigten Ceph Developer Summits (dazu später mehr) tourte ein Team von Inktank-Angestellten inklusive des Ceph-Erfinders Sage Weil auch rund um die Welt, um Ceph-Days in verschiedenen Städten abzuhalten. Im Oktober war ein solcher Ceph-Day in London, der sich großer Beliebtheit erfreute: Dutzende Interessierte nutzten die Gelegenheit, um Sage Weil direkt Fragen zu stellen, die Ceph betreffen, und mehr über die Lösung zu erfahren.

Im November erhielt Ceph dann quasi obendrein so etwas wie einen kleinen Ritterschlag: Red Hat veröffentlichte im Gluster-Blog einen Artikel, in dem es sich ausführlich über vermeintliche Benchmark-Vergleiche zwischen Ceph und GlusterFS ausließ [1]. Die Nervosität bei den roten Hüten macht deutlich, dass man Ceph dort mittlerweile ernst nimmt und bereit ist, Geld für Marketing in die Hand zu nehmen, um die Vorzüge von GlusterFS gegenüber Ceph deutlich zu machen. Frei nach Mahatma Gandhi hat Red Hat Ceph erst ignoriert, danach eine ganze Weile belächelt und nun schließlich begonnen, die Software zu bekämpfen.

Was tut sich?

Es stellt sich freilich die Frage, ob Sage Weil und sein Team eingedenk der ganzen Reisen derzeit überhaupt entwickeln können? Sie können – und wie! Denn während die PR-Kampagnen für Ceph langsam fruchten, tut sich bei der Speicherlösung auch inhaltlich einiges. Zwei Releases haben in den letzten sechs Monaten das Licht der Welt erblickt: Dumpling erschien im August, Emperor im November. Die beiden Releases allein bergen interessante Features, über die sich seitenweise berichten ließe; dann blieben allerdings die Leckerbissen, die Firefly enthalten soll, unerwähnt. Die folgenden Zeilen geben einen Überblick über das Neue, das schon da ist, und das Neue, das noch kommt.

Einfacheres Deployment

Für Anwender dürfte die offensichtlichste und damit am ehesten bemerkbare Veränderung wohl die Tatsache sein, dass das Werkzeug »ceph-deploy« nun tatsächlich reif für den produktiven Einsatz ist. Wer Ceph zuvor installieren wollte, musste einen eher steinigen Weg auf sich nehmen und dabei auch das in Entwicklerkreisen fasst schon verhasste »mkcephfs« verwenden (Abbildung 1). Jenes war ein riesiges Shell-Skript, das noch aus den Cephschen Anfangszeiten erhalten geblieben war und in loser Aneinanderreihung Befehle ausführte, die letztlich zu einem funktionierenden Ceph-Cluster führten. »mkcephfs« war dabei aber nicht sehr flexibel, abgesehen davon, dass sein Name grob irreführend war: Das Tool erstellte nämlich kein Dateisystem, sondern baute anhand einer vom Admin beigesteuerten »ceph.conf« -Datei einen kompletten Ceph-Cluster aus Monitoring-Servern, OSDs und Metadaten-Servern zusammen, indem es sich per SSH mit den einzelnen Servern verband und dort Befehle ausführte.

Abbildung 1: Die von ceph-deploy generierte ceph.conf unterscheidet sich von der alten Syntax deutlich und hat ordentlich abgespeckt.

Damit ist nun Schluss: »ceph-deploy« (Abbildung 2) ist jetzt ein eigens geschriebenes Python-Werkzeug, an dem seit Monaten entwicklet wird. Es übernimmt die Aufgaben seines Vorgängers, funktioniert dabei aber nachvollziehbar und ist viel besser zu warten. Obendrein kommt es mit einem echten Mehrwert: Viele Schritte, die der Admin vorher manuell erledigen musste, übernimmt »ceph-deploy« nun automatisch.

Abbildung 2: ceph-deploy geriert sich fast schon wie eine Shell. Mit den entsprechenden Parametern baut es einen kompletten Ceph-Cluster auf.

So war es bei »mkcephfs« beispielsweise normal, dass sich ein Admin selbst darum kümmern musste, die Dateisysteme auf den zukünftigen OSDs selbst anzulegen. Auch das Mounten der Platten per »/etc/fstab« war in früheren Ceph-Versionen dem Admin überlassen. Mittels »ceph-deploy« reicht der Befehl »ceph-deploy osd prepare host:sdc1:/dev/sdq1« gefolgt von »ceph osd activate host:/dev/sdc1« , damit das neue OSD aktiv wird und in den Cluster integriert wird. Das Beispielkommando würde dafür sorgen, dass die Platte »/dev/sdc1« auf Host host mit dem Journal-Device »/dev/sdq1« zur OSD wird.

Admins sind angehalten, fortan ausschließlich »ceph-deploy« zu nutzen, »mkcephfs« ist bereits deprecated und wird in absehbarer Zeit auch aus dem Ceph-Quelltext fliegen. Die Chef-Recipes sind bereits auf »ceph-deploy« umgestellt, sodass auch hier keine Schwierigkeiten zu erwarten sind. Nutzen Admins »ceph-deploy« , so ist es für sie deutlich einfacher, einen Cluster in Ceph auf Basis von Standardpfaden anzulegen, was im Fehlerfalle das Suchen nach der Ursache sehr viel leichter macht.

»ceph-deploy« ist mittlerweile übrigens in Paketform für verschiedene Distributionen verfügbar. Anders als sein Vorgänger gehört es nicht direkt zum »ceph« -Quelltext, sondern hat seinen eigenen Sourcetree unter [2], sodass in der Regel die Installation des Zusatzpaketes »ceph-deploy« nötig ist.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Rechneranalyse mit Microsoft-Sysinternals-Tools

Der Rechner verhält sich eigenartig oder Sie haben eine unbekannte Applikation im Task Manager entdeckt und möchten erfahren, worum es sich dabei genau handelt und ob sie möglicherweise gefährlich ist? In so einem Fall helfen die Sysinternals-Tools von Microsoft. Dieser Beitrag stellt die drei Werkzeuge Autoruns, Process Explorer und TCPView vor. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2018