Die Funktionsweise des RADOS-Gateways erschließt sich am einfachsten durch den Aufbau eines entsprechenden Setups. Das folgende Beispiel geht von vier Servern aus: »charlie
«
, »daisy
«
, »eric
«
und »frank
«
. Dabei läuft auf den drei letztgenannten Systemen ein vollständiger RADOS-Speicher mit entsprechend konfiguriertem Client-Zugriff. Charlie wird der Host, der das RADOS-Gateway betreibt. Das Aufsetzen eines Ceph-Clusters war bereits im ersten Teil der Serie [2] Gegenstand der Betrachtung, entsprechende Hinweise finden sich dort. Für den Einsatz mit dem RGW genügt auf RADOS-Seite eine Standard-Konfiguration; sämtliche notwendigen Änderungen sind im Folgenden beschrieben.
Das Beispiel-Setup setzt im weiteren Verlauf auf Ceph in der Version 0.56, die den Codenamen »Bobtail
«
trägt, auf. Als Beispiel-Distribution kommt Ubuntu 12.04 LTS zum Einsatz, das Beispiel funktioniert auf anderen Systemen jedoch äquivalent.
Als erste Maßnahme bei der Installation des RADOS-Gateways wird auf Ceph-Ebene einen CephX-Benutzer für das RADOS-Gateway angelegt. Technisch ist das zwar nicht nötig, doch sorgt es für die saubere Trennung zwischen dem RADOS-Gateway und dem »client.admin
«
-Benutzer, der sonst mit seinen Credentials für das RADOS-Gateway herhalten müsste. Dafür genügen zwei Befehle:
»ceph auth get-or-create client.radosgw.charlie mds 'allow' osd 'allow *' mon 'allow *' \> /etc/ceph/keyring.radosgw.charlie
«
»chmod 0640 /etc/ceph/keyring.radosgw.charlie
«
Das Kommando legt den Nutzer »client.radosgw.charlie
«
in Cephs interner Nutzerdatenbank an und speichert den Schlüssel für ihn in »/etc/ceph/keyring.radosgw.charlie
«
. Die Vorgehensweise macht sich die sehr nützliche Tatsache zu eigen, dass Benutzernamen in Ceph nahezu beliebig sind: Am Prefix »client.radosgw
«
ist schnell zu erkennen, dass es sich um einen Benutzer für das RADOS-Gateway handelt. Syntaktisch vorgeschrieben ist das bei Ceph zwar nicht, doch trägt es zur Übersichtlichkeit bei.