14 Operação de serviços do Ceph #
Você pode operar os serviços do Ceph no nível do daemon, nó ou cluster. Dependendo da abordagem necessária, use o comando cephadm ou systemctl
.
14.1 Operando serviços individuais #
Se você precisa operar um serviço individual, identifique-o primeiro:
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 um serviço em um nó específico, execute:
ceph orch ps NODE_HOST_NAME
Por exemplo:
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
O comando ceph orch ps
suporta vários formatos de saída. Para mudá-lo, anexe a opção --format FORMAT
, em que FORMAT é json
, json-pretty
ou yaml
. Por exemplo:
cephuser@adm >
ceph orch ps --format yaml
Depois de saber o nome do serviço, você poderá iniciá-lo, reiniciá-lo ou pará-lo:
ceph orch daemon COMMAND SERVICE_NAME
Por exemplo, para reiniciar o serviço OSD com ID 0, execute:
cephuser@adm >
ceph orch daemon restart osd.0
14.2 Operando tipos de serviço #
Se você precisar operar um tipo específico de serviço em todo o cluster do Ceph, use o seguinte comando:
ceph orch COMMAND SERVICE_TYPE
Substitua COMMAND por start
, stop
ou restart
.
Por exemplo, o comando a seguir reinicia todos os MONs no cluster, sejam quais forem os nós em que eles são executados de fato:
cephuser@adm >
ceph orch restart mon
14.3 Operando serviços em um único nó #
Usando o comando systemctl
, você pode operar os serviços e destinos do systemd
relacionados ao Ceph em um único nó.
14.3.1 Identificando serviços e destinos #
Antes de operar os serviços e destinos do systemd
relacionados ao Ceph, você precisa identificar os nomes dos seus arquivos unitários. Os nomes de arquivo dos serviços têm o seguinte padrão:
ceph-FSID@SERVICE_TYPE.ID.service
Por exemplo:
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 do cluster do Ceph. Você pode encontrá-lo na saída do comando
ceph fsid
.- SERVICE_TYPE
Tipo de serviço, por exemplo
osd
,mon
ourgw
.- ID
String de identificação do serviço. Para os OSDs, esse é o número de ID do serviço. Para outros serviços, ele pode ser um nome de host do nó ou strings adicionais relevantes ao tipo de serviço.
O SERVICE_TYPE.A parte ID é idêntica ao conteúdo da coluna NAME
na saída do comando ceph orch ps
.
14.3.2 Operando todos os serviços em um nó #
Ao usar os destinos do systemd
do Ceph, você pode ao mesmo tempo operar todos os serviços em um nó ou todos os serviços que pertencem a um cluster identificado por seu FSID.
Por exemplo, para parar todos os serviços do Ceph em um nó, iseja qual for o cluster ao qual eles pertençam, execute:
root@minion >
systemctl stop ceph.target
Para reiniciar todos os serviços que pertencem a um cluster do Ceph com ID b4b30c6e-9681-11ea-ac39-525400d7702d
, execute:
root@minion >
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d.target
14.3.3 Operando um serviço individual em um nó #
Depois de identificar o nome de um serviço específico, opere-o da seguinte maneira:
systemctl COMMAND SERVICE_NAME
Por exemplo, para reiniciar um único serviço OSD com ID 1 em um cluster com ID b4b30c6e-9681-11ea-ac39-525400d7702d
, execute:
root #
systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.1.service
14.3.4 Consultando o status do serviço #
É possível consultar o systemd
para saber o status dos serviços. Por exemplo:
root #
systemctl status ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.0.service
14.4 Encerrando e reiniciando todo o cluster do Ceph #
Pode ser necessário encerrar e reiniciar o cluster em caso de queda de energia planejada. Para parar todos os serviços relacionados ao Ceph e reiniciá-los sem problemas, siga as etapas abaixo.
Encerre ou desconecte todos os clientes que acessam o cluster.
Para impedir que o CRUSH reequilibre automaticamente o cluster, defina o cluster como
noout
:cephuser@adm >
ceph osd set nooutPare todos os serviços do Ceph em todos os nós do cluster:
root@master #
ceph-salt stopDesligue todos os nós do cluster:
root@master #
salt -G 'ceph-salt:member' cmd.run "shutdown -h"
Ligue o Nó de Admin.
Ligue os nós do Ceph Monitor.
Ligue os nós do Ceph OSD.
Cancele a definição do flag
noout
:root@master #
ceph osd unset nooutLigue todos os gateways configurados.
Ligue ou conecte os clientes do cluster.