Verteilte Storage-Lösung, Teil 2

Schritt für Schritt: Ceph Cluster Storage ins Netzwerk integrieren

| Autor / Redakteur: Thomas Joos / Rainer Graefen

Ceph wird mit dem Tool "ceph-deploy" bereitgestellt.
Ceph wird mit dem Tool "ceph-deploy" bereitgestellt. (Bild: Thomas Joos)

Um Ceph-Speicher im Netzwerk zu integrieren, sind drei Voraussetzungen erfüllt sein: Bereitstellung aller Ressourcen, der Storage-Cluster muss erstellt werden, und die Clients erhalten Zugriff auf den Cluster. Wir zeigen die Vorgehensweise.

Will man Ceph im Netzwerk auf einem Cluster zur Verfügung stellen, müssen die Clusterknoten (Ceph Nodes) und die Clients (Ceph Clients) vorbereitet werden.

Die Installation von Ceph im Netzwerk vorbereiten

Vor allem auf den Ceph-Nodes sind Vorbereitungen notwendig, bevor Ceph installiert werden kann. Dazu gehört die Installation und Einrichtung von NTP, einem SSH-Server und einem Benutzer mit dem Ceph im Cluster bereitgestellt werden kann.

Auch die notwendigen Ports für den Zugriff auf Ceph im Netzwerk müssen freigeschaltet werden. Dazu gehört zum Beispiel der Port TCP 6789. Die entsprechenden Anleitungen für die verschiedenen Distributionen sind in der Ceph-Dokumentation zu finden: http://docs.ceph.com/docs/kraken/start/quick-start-preflight.

Ein Ceph Cluster besteht aus mehreren Rollen. Die Monitoring-Nodes verwalten den Cluster und haben den Überblick über die einzelnen Knoten. Die Object Storage Nodes, auch Object Storage Devices, OSDs genannt, stellen den Speicher dar.

Cluster einrichten

Wenn die Vorbereitungen laut der Ceph-Dokumentation abgeschlossen sind, besteht der nächste Schritt darin, den Ceph-Cluster bereitzustellen. Ein Ceph-Cluster besteht aus mehreren Ceph-Knoten. Dazu steht auf den Knoten der Befehl ceph-deploy zur Verfügung.

Ceph-Knoten werden auf diesem Weg mit der Syntax ceph-deploy new node1 erstellt. Anschließend erfolgt die Bereitstellung und Konfiguration der weiteren Knoten sowie die Anbindung an das Netzwerk. Auch diese Schritte werden in der Ceph-Dokumentation unter http://docs.ceph.com/docs/kraken/start/quick-ceph-deploy beschrieben.

Ceph Clients und Ceph Block Devices

Die meisten Benutzer speichern die Daten nicht direkt im Ceph Cluster, sondern nutzen ein Ceph Block Device, das Ceph Filesystem und Ceph Object Storage. Auch diese müssen entsprechend konfiguriert werden. Damit ein Block Device installiert werden kann, ist der Ceph Client notwendig.

Dieser wird zum Beispiel über ceph-deploy install ceph-client installiert. Um ein Block Device zu konfigurieren, muss ein Block Device Image erstellt werden, zum Beispiel mit:

rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

Anschließend kann das Image auf dem Client gemapped werden:

sudo rbd map foo --name client.admin [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

Im nächsten Schritt kann das Dateisystem erstellt werden:

sudo mkfs.ext4 -m0 /dev/rbd/rbd/foo

Um das Dateisystem auf dem Knoten bereitzustellen, werden die folgenden Befehle verwendet:

sudo mkdir /mnt/ceph-block-device

sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device

cd /mnt/ceph-block-device

Diese Befehle sind nicht zwingend, eignen sich aber als Beispiel für den ersten Einstieg. Ceph lässt sich sehr flexibel und umfassend konfigurieren. In der Dokumentation von Ceph http://docs.ceph.com/docs/kraken/rbd/rbd befinden sich auch umfassende Anleitungen für das Anlegen eines Ceph Block Devices.

Ceph File System nutzen

Das Ceph Filesystem kann genutzt werden, wenn der Ceph-Cluster fehlerfrei funktioniert und die Ceph-Knoten aktiv sind. Um ein Dateisystem zu erstellen, sind einige Befehle notwendig, die in der Ceph-Dokumentation http://docs.ceph.com/docs/kraken/cephfs/createfs genauer beschrieben sind.

Für das Erstellen werden zunächst Pools erstellt und danach das eigentliche Dateisystem:

ceph osd pool create cephfs_data <pg_num>

ceph osd pool create cephfs_metadata <pg_num>

ceph fs new <fs_name> cephfs_metadata cephfs_data

Auch das Bereitstellen des Dateisystems wird in der Dokumentation beschrieben (http://docs.ceph.com/docs/kraken/cephfs/kernel). Die Bereitstellung wird zum Beispiel mit den folgenden Befehlen durchgeführt:

sudo mkdir /mnt/mycephfs

sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs

Mit dem neuen Storage-Backend BlueStore ist Ceph auch ohne Dateisystem nutzbar. Dadurch lassen sich Private-Cloud-Umgebungen performanter betreiben. BlueStore kann die Speicherknoten im Clusterknoten. Neben dem Dateisystem CephFS kann auch XFS, Etx4 oder btrfs verwendet werden.

Ceph Object Gateway verwenden

Mit einem Ceph Object Gateway kann die Bereitstellung von Ceph wesentlich einfacher durchgeführt werden. Das Gateway stellt einen Webzugriff zur Verfügung, sodass die Konfiguration eines Webservers oder von FastCGI entfällt.

Die Bereitstellung kann über ceph-deploy durchgeführt werden. Die Entwickler zeigen die einzelnen Schritte zur Bereitstellung eines Ceph Object Gateway ebenfalls in der Dokumentation http://docs.ceph.com/docs/kraken/start/quick-rgw. Der Port, der bei der Bereitstellung angegeben wird, muss durch die Linux-Firewall des Ceph-Knotens erlaubt werden.

Bei der Verwendung des Ports 80 werden zum Beispiel folgende Befehle verwendet:

sudo firewall-cmd --list-all sudo firewall-cmd --zone=public --add-port

80/tcp --permanent

sudo firewall-cmd --reload

Der Zugriff kann von einem Browser aus mit der Adresse http://<Ceph-Knoten>:<Port> getestet werden.

Kommentare werden geladen....

Was meinen Sie zu diesem Thema?

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45089294 / RZ-Hardware)