Docker Volume service RDB (deprecated)



Docker-Volume-RBD ist meine Implementierung eines RBD (Ceph) Treibers für Docker. Der Betrieb erfolgt via Systemd Service oder native als Docker Plugin. Um die Aktualisierbarkeit einfacher zu gestalten, empfehlen wir die Installation und Konfiguration mit Hilfe meines Ansible Playbooks oder via Package Manager und dem einbinden des Repositories.

Voraussetzung

  • Ceph > 14.x
  • Docker Engine

Manuelle Installation

Um RBD Storage Images zu mounten, muss zuvor Ceph auf dem entsprechenden Server konfiguriert werden. Dies ist nicht bestandteil dieser kurzen Anleitung.

Die executable “docker-volume-rbd” erwartet die benötigte Konfiguration über Umgebungsvariablen.

LOG_LEVEL=1
LOG_LEVEL=3
RBD_CONF_POOL="docker"
RBD_CONF_CLUSTER=ceph
RBD_CONF_KEYRING_USER=client.docker

Wurde zuvor z.B. Rexray als S3 Volume Provider verwendet, enthalten die Buckets jeweils ein “data” Unterverzeichnis in dem die eigentlichen Daten liegen. Um dies zu Berücksichtigen, kann dieses Verzeichnis mit folgender Konfiguration angegeben werden:

RBD_CONF_MOUNTDIR=/data

Desweiteren können folgende Default Einstellung verändert werden:

RBD_CONF_DEVICE_MAP_ROOT=/dev/rbd

Anschließend kann der Service via “docker-volume-rbd” ausgeführt werden.