Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
Bezieht sich auf SUSE Enterprise Storage 5

3 Ausführen von Ceph Services

Ceph Services werden entweder mit systemd oder mit DeepSea ausgeführt.

3.1 Ausführen von Ceph Services mit systemd

Mit dem Kommando systemctl lassen sich alle Services im Umfeld von Ceph ausführen. Sie werden in dem Node ausgeführt, in dem Sie zurzeit angemeldet sind. Zur Durchführung von Vorgängen bezüglich Ceph Services benötigen Sie root-Berechtigungen.

3.1.1 Starten, Stoppen und Neustarten von Services anhand von Targets

Zur Vereinfachung des Start-, Stopp- und Neustartvorgangs aller Services eines bestimmten Typs (beispielsweise alle Ceph Services, alle MONs oder alle OSDs) in einem Node bietet Ceph die folgenden Dateien für die systemd-Einheit:

root #  ls /usr/lib/systemd/system/ceph*.target
ceph.target
ceph-osd.target
ceph-mon.target
ceph-mgr.target
ceph-mds.target
ceph-radosgw.target
ceph-rbd-mirror.target

Führen Sie zum Starten, Stoppen oder Neustarten von Ceph Services folgendes Kommando aus:

root # systemctl stop ceph.target
root # systemctl start ceph.target
root # systemctl restart ceph.target

Führen Sie zum Starten, Stoppen oder Neustarten aller OSDs im Node folgendes Kommando aus:

root # systemctl stop ceph-osd.target
root # systemctl start ceph-osd.target
root # systemctl restart ceph-osd.target

Die Kommandos für die anderen Targets sind entsprechend.

3.1.2 Starten, Stoppen und Neustarten einzelner Services

Einzelne Services führen Sie anhand der folgenden parametrisierten Dateien für die systemd-Einheit aus:

ceph-osd@.service
ceph-mon@.service
ceph-mds@.service
ceph-radosgw@.service
ceph-rbd-mirror@.service

Für diese Kommandos müssen Sie zunächst den Namen des auszuführenden Service identifizieren. In Abschnitt 3.1.3, „Identifizieren einzelner Services“ erfahren Sie mehr zur Identifizierung von Services.

Führen Sie zum Starten/Stoppen/Neustarten des osd.1-Service folgendes Kommando aus:

root # systemctl stop ceph-osd@1.service
root # systemctl start ceph-osd@1.service
root # systemctl restart ceph-osd@1.service

Die Kommandos für die anderen Servicetypen sind entsprechend.

3.1.3 Identifizieren einzelner Services

Die Namen/Nummern bestimmter Servicetypen finden Sie durch Ausführen des Kommandos systemctl und Filtern der Ergebnisse mit dem Kommando grep. Beispiel:

root # systemctl | grep -i 'ceph-osd.*service'
root # systemctl | grep -i 'ceph-mon.*service'
[...]

3.1.4 Service-Status

Eine Abfrage mit systemd ermittelt den Status von Services. Beispiel:

root # systemctl status ceph-osd@1.service
root # systemctl status ceph-mon@HOSTNAME.service

Ersetzen Sie HOSTNAME durch den Namen des Hosts, auf dem der Daemon ausgeführt wird.

In Abschnitt 3.1.3, „Identifizieren einzelner Services“ finden Sie weitere Informationen, falls Sie den genauen Namen bzw. die Nummer des Service nicht kennen.

3.2 Neustarten von Ceph Services mit DeepSea

Nach dem Anwenden von Updates in den Cluster Nodes müssen Sie die zugewiesenen Services neu starten, um die kürzlich installierte Version nutzen zu können.

Anmerkung
Anmerkung: Beobachten des Neustarts

Der Vorgang zum Neustarten des Clusters kann einige Zeit dauern. Sie können die Ereignisse mit dem Salt-Ereignisbus beobachtet. Führen Sie dazu folgendes Kommando aus:

root@master # salt-run state.event pretty=True

3.2.1 Neustarten aller Services

Führen Sie zum Neustarten aller Services am Cluster das folgende Kommando aus:

root@master # salt-run state.orch ceph.restart

Die Reihenfolge, in der die einzelnen Rollen neu starten, ist je nach DeepSea-Version (rpm -q deepsea) anders:

  • Bei DeepSea-Versionen, die älter sind als Version 0.8.4 wird ein Neustart der Services Metadata Server, iSCSI Gateway, Object Gateway und NFS Ganesha gleichzeitig ausgeführt.

  • Bei DeepSea ab Version 0.8.4 werden alle konfigurierten Rollen in der folgenden Reihenfolge neu gestartet: Ceph Monitor, Ceph Manager, Ceph OSD, Metadata Server, Object Gateway, iSCSI Gateway, NFS Ganesha. Nodes werden nacheinander neu gestartet, um die Ausfallzeit so kurz wie möglich zu halten und potenzielle Probleme möglichst früh zu erkennen. Beispielsweise wird nur jeweils ein Monitor Node neu gestartet.

Das Kommando wartet auf die Wiederherstellung des Clusters, wenn sich der Cluster in einem qualitativ schlechten, fehlerhaften Zustand befindet.

3.2.2 Neustarten bestimmter Services

Führen Sie zum Neustarten eines bestimmten Service im Cluster folgendes Kommando aus:

root@master # salt-run state.orch ceph.restart.service_name

Beispiel: Führen Sie zum Neustarten aller Object Gateways folgendes Kommando aus:

root@master # salt-run state.orch ceph.restart.rgw

Sie können die folgenden Targets verwenden:

root@master # salt-run state.orch ceph.restart.mon
root@master # salt-run state.orch ceph.restart.mgr
root@master # salt-run state.orch ceph.restart.osd
root@master # salt-run state.orch ceph.restart.mds
root@master # salt-run state.orch ceph.restart.rgw
root@master # salt-run state.orch ceph.restart.igw
root@master # salt-run state.orch ceph.restart.ganesha
Diese Seite drucken