14 Funcionamiento de los servicios de Ceph #
Puede hacer funcionar los servicios de Ceph en el nivel de los daemons, los nodos o los clústeres. Según el enfoque que necesite, utilice cephadm o el comando systemctl
.
14.1 Funcionamiento de servicios individuales #
Si necesita hacer funcionar un servicio individual, identifíquelo primero:
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
Para identificar un servicio en un nodo específico, ejecute:
ceph orch ps NODE_HOST_NAME
Por ejemplo:
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
El comando ceph orch ps
admite varios formatos de salida. Para cambiarlo, añada la opción --format FORMAT
al final, donde FORMAT es uno de estas opciones: json
, json-pretty
o yaml
. Por ejemplo:
cephuser@adm >
ceph orch ps --format yaml
Una vez que sepa el nombre del servicio, puede iniciarlo, reiniciarlo o detenerlo:
ceph orch daemon COMMAND SERVICE_NAME
Por ejemplo, para reiniciar el servicio OSD con el ID 0, ejecute:
cephuser@adm >
ceph orch daemon restart osd.0
14.2 Funcionamiento de tipos de servicios #
Si necesita hacer funcionar un tipo específico de servicio en todo el clúster de Ceph, utilice el comando siguiente:
ceph orch COMMAND SERVICE_TYPE
Sustituya COMMAND por start
, stop
o restart
.
Por ejemplo, el comando siguiente reinicia todos los MON del clúster, independientemente de los nodos en los que se ejecuten:
cephuser@adm >
ceph orch restart mon
14.3 Funcionamiento de servicios en un único nodo #
Mediante el comando systemctl
, puede hacer funcionar los servicios y destinos de systemd
relacionados con Ceph en un único nodo.
14.3.1 Identificación de servicios y destinos #
Antes de hacer funcionar los servicios y destinos de systemd
relacionados con Ceph, debe identificar los nombres de archivo de sus archivos de unidad. Los nombres de archivo de los servicios tienen el siguiente patrón:
ceph-FSID@SERVICE_TYPE.ID.service
Por ejemplo:
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 exclusivo del clúster de Ceph. Lo encontrará en el resultado del comando
ceph fsid
.- SERVICE_TYPE
El tipo de servicio, por ejemplo,
osd
,mon
orgw
.- ID
Cadena de identificación del servicio. Para los OSD, es el número de ID del servicio. Para otros servicios, puede ser un nombre de host del nodo o cadenas adicionales relevantes para el tipo de servicio.
La parte de SERVICE_TYPE.ID es idéntica al contenido de la columna NAME
del resultado del comando ceph orch ps
.
14.3.2 Funcionamiento de todos los servicios en un nodo #
Al usar los destinos de systemd
de Ceph, puede hacer funcionar simultáneamente todos los servicios en un nodo, o bien todos los servicios que pertenecen a un clúster identificado por su FSID.
Por ejemplo, para detener todos los servicios de Ceph en un nodo independientemente del clúster al que pertenezcan los servicios, ejecute:
root@minion >
systemctl stop ceph.target
Para reiniciar todos los servicios que pertenecen a un clúster de Ceph con el ID b4b30c6e-9681-11ea-ac39-525400d7702d
, ejecute:
root@minion >
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d.target
14.3.3 Funcionamiento de un servicio individual en un nodo #
Después de identificar el nombre de un servicio específico, utilícelo de la siguiente manera:
systemctl COMMAND SERVICE_NAME
Por ejemplo, para reiniciar un único servicio OSD con el ID 1 en un clúster con el ID b4b30c6e-9681-11ea-ac39-525400d7702d
, ejecute:
root #
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.1.service
14.3.4 Consulta del estado del servicio #
Puede consultar systemd
para conocer el estado de los servicios. Por ejemplo:
root #
systemctl status ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.0.service
14.4 Apagado y reinicio de todo el clúster de Ceph #
Es posible que sea necesario apagar y reiniciar el clúster en caso de que se vaya a producir un corte de energía programado. Para detener todos los servicios relacionados con Ceph y reiniciar sin problemas, siga los pasos siguientes.
Apague o desconecte cualquier cliente que acceda al clúster.
Para evitar que CRUSH reequilibre automáticamente el clúster, defina el clúster en
noout
:cephuser@adm >
ceph osd set nooutDetenga todos los servicios de Ceph en todos los nodos del clúster:
root@master #
ceph-salt stoptodos los nodos del clúster:
root@master #
salt -G 'ceph-salt:member' cmd.run "shutdown -h"
Encienda el nodo de administración.
Encienda los nodos de Ceph Monitor.
Encienda los nodos de OSD de Ceph.
Anule la definición del indicador
noout
definido anteriormente:root@master #
ceph osd unset nooutEncienda todas las pasarelas configuradas.
Encienda o conecte los clientes del clúster.