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

5 Ausführen von Ceph Services Edit source

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

5.1 Ausführung von Ceph Cluster-spezifischen Services mit systemd Edit source

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.

5.1.1 Starten, Stoppen und Neustarten von Services anhand von Zielen Edit source

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:

cephadm@adm > 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 start ceph.target
root # systemctl stop ceph.target
root # systemctl restart ceph.target

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

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

Die Kommandos für die anderen Targets sind entsprechend.

5.1.2 Starten, Stoppen und Neustarten einzelner Services Edit source

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-mgr@.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 5.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 start ceph-osd@1.service
root # systemctl stop ceph-osd@1.service
root # systemctl restart ceph-osd@1.service

Die Kommandos für die anderen Servicetypen sind entsprechend.

5.1.3 Identifizieren einzelner Services Edit source

Die Namen/Nummern eines bestimmten Servicetyps lassen sich auf verschiedene Weise ermitteln. Die folgenden Kommandos geben Ergebnisse für ceph*-Services zurück. Sie können sie auf jedem Knoten im Ceph Cluster ausführen.

Mit folgendem Kommando rufen Sie alle (auch inaktiven) Services des Typs ceph* ab:

root # systemctl list-units --all --type=service ceph*

Mit folgendem Kommando rufen Sie lediglich die inaktiven Services ab:

root # systemctl list-units --all --state=inactive --type=service ceph*

Mit salt können Sie auch Services auf mehreren Knoten abfragen:

root@master # salt TARGET cmd.shell \
 "systemctl list-units --all --type=service ceph* | sed -e '/^$/,$ d'"

Nur Speicher-Nodes abfragen:

root@master # salt -I 'roles:storage' cmd.shell \
 'systemctl list-units --all --type=service ceph*'

5.1.4 Service-Status Edit source

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 5.1.3, „Identifizieren einzelner Services“ finden Sie weitere Informationen, falls Sie den genauen Namen bzw. die Nummer des Service nicht kennen.

5.2 Neustarten von Ceph Services mit DeepSea Edit source

Nach einem Update der Cluster Nodes müssen die betroffenen Ceph-spezifischen Services neu gestartet werden. In der Regel werden Neustarts automatisch von DeepSea durchgeführt. In diesem Abschnitt wird erläutert, wie Sie die Services manuell neu starten.

Tipp
Tipp: Beobachten des Neustarts

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

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

Ein weiteres Kommando zur Überwachung aktiver Aufträge:

root@master # salt-run jobs.active

5.2.1 Neustarten aller Services Edit source

Warnung
Warnung: Serviceunterbrechung

Wenn Ceph-spezifische Services – insbesondere iSCSI oder NFS Ganesha – als Single-Point-of-Access konfiguriert sind, fallen sie bei einem Neustart aus Sicht der Clients vorübergehend aus.

Tipp
Tipp: Keine Samba-Verwaltung durch DeepSea

DeepSea und das Ceph Dashboard unterstützen derzeit keine Samba-Implementierungen. Sie müssen Samba-spezifische Services daher manuell verwalten. Weitere Informationen finden Sie unter Kapitel 20, Exportieren von Ceph-Daten mit Samba.

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

root@master # salt-run state.orch ceph.restart
  • 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.

5.2.2 Neustarten bestimmter Services Edit source

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

5.3 Ordnungsgemäßes Herunterfahren des gesamten Ceph Clusters Edit source

Unter bestimmten Umständen müssen alle Ceph-spezifischen Services im Cluster in der empfohlenen Reihenfolge angehalten werden, damit sie später wieder problemlos gestartet werden können. Dies gilt beispielsweise bei einem geplanten Stromausfall.

Zum Herunterfahren des gesamten Ceph Clusters deaktivieren Sie die Sicherheitsmaßnahmen und führen Sie das Ausführungsprogramm ceph.shutdown aus:

root@master # salt-run disengage.safety
root@master # salt-run state.orch ceph.shutdown

Zum Starten des gesamten Ceph Clusters führen Sie das Ausführungsprogramm ceph.startup aus:

root@master # salt-run state.orch ceph.startup
Diese Seite drucken