Der RADOS-Objectstore und Ceph, Teil 3

© ginasanders, 123RF

Gesicherte Ablage

Was bringt die neue Version 0.56 alias "Bobtail" an neuen Features? Wer braucht die Ceph-Verschlüsselung CephX? Wie lässt sich ein Ceph-Cluster als Ersatz für klassisches Block-Storage in virtuellen Umgebungen nutzen?
Seit Jahren erwartet, ist endlich Version 4 des Samba-Servers erschienen, der nun als vollwertige Alternative zu Microsofts Active Directory dienen kann. In der ... (mehr)

Zugriffskontrolle auf vorhandene Storages ist ein wichtiges Thema. Wer den Nutzern maßgeschneiderten Speicher anbieten möchte, will umgekehrt meist auch sichergestellt wissen, dass Benutzer nicht auf den Speicher von anderen Zugriff haben. CephX ist in Ceph genau dafür da: Einerseits kümmert sich CephX darum, dass administrative Arbeiten nur von hierzu befugten Admins durchgeführt werden, andererseits regelt es den Zugriff auf den Speicher durch normale Benutzer. Allerdings hat die Sache einen Pferdefuß – während sich der Mechanismus noch einigermaßen leicht aktivieren lässt (in der neuen Version 0.56 genügen drei Zeilen in »/etc/ceph/ceph.conf« ), macht ein aktives CephX viele alltägliche Aufgaben mit Ceph etwas umständlich.

CephX im Alltag

Ein gutes Beispiel ist der Befehl »ceph -w« . Wer einen Ceph-Cluster nach der Anleitung der letzten zwei Workshop-Teile aufgesetzt hat, weiß, dass sich Ceph mit dem Parameter »-w« Informationen über den aktuellen Zustand des Clusters sowie eventuelle Änderungen entlocken lässt. Ist CephX aktiv, geht das nicht mehr so leicht. Denn der Admin, der »ceph -w« aufruft, muss sich selbst "ausweisen" und Ceph so mitteilen, dass er die Informationen auch tatsächlich sehen darf. Erschwerend kommt hinzu, dass die verschiedenen Kommandozeilen-Werkzeuge aus dem Ceph-Universum – »ceph« , »rbd« und »rados« teilweise unterschiedliche Parameter kennen, um CephX mit den entsprechenden Infos zu versorgen. Bei »ceph -w« geht es bei aktiviertem CephX jedenfalls so – unter der Prämisse, dass der zum Benutzer »client.admin« gehörende Keyring tatsächlich in »/etc/ceph/keyring.admin« liegt:

 

Die Ausgabe gleicht danach haargenau der Ausgabe, die ohne CephX auch auf dem Bildschirm zu sehen wäre.

Freilich ist der lange Befehl lästig – wer ihn nicht jedes Mal tippen will, kann die Schlüsselauswahl automatisieren: In »/etc/ceph/ceph.conf« lässt sich festlegen, wo der Keyring eines Benutzers lokalisiert ist. Der folgende Eintrag legt beispielsweise fest, dass der Keyring für »client.admin« im File »/etc/ceph/keyring.admin« zu finden ist:

 

Ceph nimmt im weiteren Verlauf an, dass als ID immer »admin« zum Einsatz kommt, und würde beim simplen Aufruf von »ceph -w« diese ID samt entsprechendem Keyring verwenden. Übrigens: Dass Nutzer beim Angeben ihrer ID das vorangestellte »client.« weglassen können, ist eine Konvention im Hinblick auf CephX, die mit den Ceph-Interna zu tun hat. Auch OSDs und MONs haben eigene Schlüssel, deren Bezeichnungen jeweils ein »osd.« oder » mon.« vorangestellt ist. Weil Benutzer sich aber kaum als OSD oder MON an Ceph werden anmelden wollen und somit nur »client.« in Frage kommt, setzt ceph das bei User-Requests voraus.

CephFS mit CephX mounten

Ist CephX aktiviert, wirkt sich das freilich auch auf das Dateisystem von Ceph, das CephFS aus. Denn beim Mount-Vorgang ist dann ebenfalls ein Nutzer und ein Passwort anzugeben (Abbildung 1). Das Beispiel benutzt den Nutzer »admin« , dessen Passwort zunächst herauszufinden ist:

 

Das Beispiel geht von »AQBNTxZRWId7JxAA/Ac4ToR7ZfNdOGDSToGHpA==« als Passwort aus. Der Mount-Befehl ist dann dieser:

 

Wer das Passwort nicht im Klartext angeben will, kann es auch in einem File ablegen (im Beispiel »/etc/ceph/secret.admin« ) und sich darauf berufen:

 

Genau so ließe sich der Mount übrigens auch in »/etc/fstab« eintragen, sodass das Ceph-Dateisystem beim Boot automatisch aktiv wird.

Abbildung 1: Bei CephFS-Mounts steht das Passwort nicht im Klartext in der Ausgabe von mount.
comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite