14 Exécution des services Ceph #
Vous pouvez exécuter les services Ceph au niveau d'un daemon, d'un noeud ou d'une grappe. Selon l'approche dont vous avez besoin, utilisez cephadm ou la commande systemctl
.
14.1 Exécution de services individuels #
Si vous devez exécuter un service spécifique, commencez par l'identifier :
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
Pour identifier un service sur un noeud spécifique, exécutez :
ceph orch ps NODE_HOST_NAME
Par exemple :
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
La commande ceph orch ps
prend en charge plusieurs formats de sortie. Pour changer de format, ajoutez l'option --format FORMAT
, FORMAT correspondant au format json
, json-pretty
ou yaml
. Par exemple :
cephuser@adm >
ceph orch ps --format yaml
Une fois que vous connaissez le nom du service, vous pouvez le démarrer, le redémarrer ou l'arrêter :
ceph orch daemon COMMAND SERVICE_NAME
Par exemple, pour redémarrer le service OSD avec l'ID 0, exécutez :
cephuser@adm >
ceph orch daemon restart osd.0
14.2 Exécution de types de service #
Si vous devez exécuter un type de service spécifique sur l'ensemble de la grappe Ceph, utilisez la commande suivante :
ceph orch COMMAND SERVICE_TYPE
Remplacez COMMAND par start
, stop
ou restart
.
Par exemple, la commande suivante permet de redémarrer toutes les instances MON de la grappe, quels que soient les noeuds sur lesquels elles s'exécutent :
cephuser@adm >
ceph orch restart mon
14.3 Exécution de services sur un seul noeud #
La commande systemctl
permet d'exécuter des cibles et des services systemd
associés à Ceph sur un seul noeud.
14.3.1 Identification des services et des cibles #
Avant d'exécuter des cibles et des services systemd
associés à Ceph, vous devez identifier les noms de leurs fichiers unité. Les noms de fichier des services se présentent comme suit :
ceph-FSID@SERVICE_TYPE.ID.service
Par exemple :
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
- FSID
ID unique de la grappe Ceph. Celui-ci figure dans la sortie de la commande
ceph fsid
.- SERVICE_TYPE
Type du service, par exemple
osd
,mon
ourgw
.- ID
Chaîne d'identification du service. Pour les OSD, il s'agit du numéro d'ID du service. Pour les autres services, il peut s'agir d'un nom d'hôte du noeud ou d'autres chaînes pertinentes pour le type de service.
La partie SERVICE_TYPE.ID est identique au contenu de la colonne NAME
dans la sortie de la commande ceph orch ps
.
14.3.2 Exécution de l'ensemble des services sur un noeud #
Les cibles systemd
de Ceph permettent d'exécuter simultanément tous les services sur un noeud ou tous les services appartenant à une grappe identifiée par son FSID.
Par exemple, pour arrêter tous les services Ceph sur un noeud, quelle que soit la grappe à laquelle ils appartiennent, exécutez :
root@minion >
systemctl stop ceph.target
Pour redémarrer tous les services appartenant à une grappe Ceph avec l'ID b4b30c6e-9681-11ea-ac39-525400d7702d
, exécutez :
root@minion >
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d.target
14.3.3 Exécution d'un service spécifique sur un noeud #
Après avoir identifié le nom d'un service spécifique, exécutez-le comme suit :
systemctl COMMAND SERVICE_NAME
Par exemple, pour redémarrer un seul service OSD avec l'ID 1 sur une grappe avec l'ID b4b30c6e-9681-11ea-ac39-525400d7702d
, exécutez :
#
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.1.service
14.3.4 Vérification de l'état des services #
Vous pouvez interroger systemd
pour connaître l'état des services. Par exemple :
#
systemctl status ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.0.service
14.4 Arrêt et redémarrage de l'ensemble de la grappe Ceph #
Une panne de courant programmée peut nécessiter l'arrêt et le redémarrage de la grappe. Pour arrêter tous les services associés à Ceph et redémarrer sans problème, suivez les étapes ci-dessous.
Arrêtez ou déconnectez tous les clients qui accèdent à la grappe.
Pour empêcher CRUSH de rééquilibrer automatiquement la grappe, définissez la grappe sur
noout
:cephuser@adm >
ceph osd set nooutArrêtez tous les services Ceph sur tous les noeuds de la grappe :
root@master #
ceph-salt stopMettez tous les noeuds de grappe hors tension :
root@master #
salt -G 'ceph-salt:member' cmd.run "shutdown -h"
Mettez le noeud Admin sous tension.
Mettez les noeuds Ceph Monitor sous tension.
Mettez les noeuds Ceph OSD sous tension.
Désélectionnez l'option
noout
préalablement sélectionnée :root@master #
ceph osd unset nooutMettez toutes les passerelles configurées sous tension.
Mettez sous tension ou connectez les clients de la grappe.