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:

ceph --id admin --keyring /etc/ceph/keyring.admin -w

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:

[client.admin]
   keyring = /etc/ceph/keyring.admin

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:

ceph-authtool --name client.admin --print-key /etc/ceph/keyring.admin

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

mount -o name=admin,secret=AQBNTxZRWId7JxAA/Ac4ToR7ZfNdOGDSToGHpA==,noatime -t ceph192.168.133.111:/ /mnt

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:

mount -o name=admin,secretfile=/etc/ceph/secret.admin,noatime -t ceph 192.168.133.111:/ /mnt

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
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

Ausgabe /2023