Sie können Ceph-Services auf Daemon-, Knoten- oder Clusterebene betreiben. Verwenden Sie je nach gewünschtem Ansatz cephadm oder das Kommando systemctl
.
Wenn Sie einen individuellen Service betreiben müssen, identifizieren Sie diesen zuerst:
cephuser@adm >
ceph orch ps
NAME HOST STATUS REFRESHED [...]
mds.my_cephfs.ses-min1.oterul ses-min1 running (5d) 8m ago
mgr.ses-min1.gpijpm ses-min1 running (5d) 8m ago
mgr.ses-min2.oopvyh ses-min2 running (5d) 8m ago
mon.ses-min1 ses-min1 running (5d) 8m ago
mon.ses-min2 ses-min2 running (5d) 8m ago
mon.ses-min4 ses-min4 running (5d) 7m ago
osd.0 ses-min2 running (61m) 8m ago
osd.1 ses-min3 running (61m) 7m ago
osd.2 ses-min4 running (61m) 7m ago
rgw.myrealm.myzone.ses-min1.kwwazo ses-min1 running (5d) 8m ago
rgw.myrealm.myzone.ses-min2.jngabw ses-min2 error 8m ago
Führen Sie zum Identifizieren eines Service auf einem bestimmten Knoten folgendes Kommando aus:
ceph orch ps NODE_HOST_NAME
Beispiel:
cephuser@adm >
ceph orch ps ses-min2
NAME HOST STATUS REFRESHED
mgr.ses-min2.oopvyh ses-min2 running (5d) 3m ago
mon.ses-min2 ses-min2 running (5d) 3m ago
osd.0 ses-min2 running (67m) 3m ago
Das Kommando ceph orch ps
unterstützt mehrere Ausgabeformate. Hängen Sie zum Ändern die Option --format FORMAT
an, wobei FORMAT entweder json
, json-pretty
oder yaml
sein kann. Beispiel:
cephuser@adm >
ceph orch ps --format yaml
Sobald Sie den Namen des Service kennen, können Sie ihn starten, neu starten oder stoppen:
ceph orch daemon COMMAND SERVICE_NAME
Führen Sie folgendes Kommando aus, um beispielsweise den OSD-Service mit der ID 0 neu zu starten:
cephuser@adm >
ceph orch daemon restart osd.0
Verwenden Sie folgendes Kommando, wenn Sie einen bestimmten Servicetyp im gesamten Ceph-Cluster betreiben müssen:
ceph orch COMMAND SERVICE_TYPE
Ersetzen Sie COMMAND durch start
, stop
oder restart
.
Mit folgendem Kommando werden beispielsweise alle MONs im Cluster neu gestartet, unabhängig davon, auf welchen Knoten sie tatsächlich ausgeführt werden:
cephuser@adm >
ceph orch restart mon
Mit dem Kommando systemctl
betreiben Sie Ceph-bezogene systemd
-Services und -Ziele auf einem einzelnen Knoten.
Bevor Sie Ceph-bezogene systemd
-Services und -Ziele betreiben, müssen Sie die Dateinamen der zugehörigen Einheitendateien identifizieren. Die Dateinamen der Services werden nach folgendem Muster erstellt:
ceph-FSID@SERVICE_TYPE.ID.service
Beispiel:
ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@mon.doc-ses-min1.service
ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@rgw.myrealm.myzone.doc-ses-min1.kwwazo.service
Eindeutige ID des Ceph-Clusters. Sie finden sie in der Ausgabe des Kommandos ceph fsid
.
Typ des Service, beispielsweise osd
, mon
oder rgw
.
Identifikationszeichenkette des Service. Bei OSDs ist es die ID-Nummer des Service. Bei anderen Services kann es sich entweder um einen Hostnamen des Knotens oder um zusätzliche für den Servicetyp relevante Zeichenketten handeln.
Der Teil SERVICE_TYPE.ID ist in der Ausgabe des Kommandos ceph orch ps
identisch mit dem Inhalt der Spalte NAME
.
Mit den systemd
-Zielen von Ceph können Sie entweder alle Services auf einem Knoten oder alle Services, die zu einem durch seine FSID identifizierten Cluster gehören, gleichzeitig betreiben.
Führen Sie folgendes Kommando aus, um beispielsweise alle Ceph-Services auf einem Knoten zu stoppen, unabhängig davon, zu welchem Cluster die Services gehören:
root@minion >
systemctl stop ceph.target
Führen Sie folgendes Kommando aus, um alle Services neu zu starten, die zu einem Ceph-Cluster mit ID b4b30c6e-9681-11ea-ac39-525400d7702d
gehören:
root@minion >
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d.target
Nachdem Sie den Namen eines bestimmten Service identifiziert haben, betreiben Sie ihn auf folgende Weise:
systemctl COMMAND SERVICE_NAME
Führen Sie folgendes Kommando aus, um beispielsweise einen einzelnen OSD-Service mit ID 1 auf einem Cluster mit ID b4b30c6e-9681-11ea-ac39-525400d7702d
neu zu starten:
root #
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.1.service
Eine Abfrage mit systemd
ermittelt den Status von Services. Beispiel:
root #
systemctl status ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.0.service
Das Herunterfahren und Neustarten des Clusters kann bei einem geplanten Stromausfall erforderlich sein. Führen Sie folgende Schritte aus, um alle Ceph-bezogenen Services zu stoppen und ohne Probleme neu zu starten.
Fahren Sie alle Clients herunter, die auf den Cluster zugreifen, oder trennen Sie deren Verbindung.
Legen Sie den Cluster auf noout
fest, um zu verhindern, dass CRUSH den Cluster automatisch neu ausbalanciert:
cephuser@adm >
ceph osd set noout
Stoppen Sie alle Ceph-Services auf allen Cluster-Knoten:
root@master #
ceph-salt stop
Schalten Sie alle Cluster-Knoten aus:
root@master #
salt -G 'ceph-salt:member' cmd.run "shutdown -h"
Schalten Sie den Admin-Knoten ein.
Schalten Sie die Ceph Monitor-Knoten ein.
Schalten Sie die Ceph OSD-Knoten ein.
Entfernen Sie das vorher festgelegte Flag noout
:
root@master #
ceph osd unset noout
Schalten Sie alle konfigurierten Gateways ein.
Schalten Sie die Cluster-Clients ein oder verbinden Sie sie.