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.