Por vezes, os OSDs da infraestrutura podem apresentar falhas, sendo necessário restituí-los, seja através da reinicialização do OSD ou da troca de um disco físico. Para tal, o procedimento a ser executado nesse cenário é:
1- Inicialmente, deve-se verificar a saúde do cluster com o comando:
root@client-1: # ceph health
Caso haja algum erro em algum OSD, uma saída semelhante a essa será exibida:
HEALTH_WARN mons are allowing insecure global_id reclaim; 1 osds down; 1 host (1 osds) down;
Degraded data redundancy: 1761/7833 objects degraded (22.482%), 50 pgs degraded; 1 pool(s) do not have an application enabled
2- Para encontrar qual OSD está com falha, basta executar o comando:
root@client-1:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.97649 root default
-3 0.19530 host dp1
2 hdd 0.19530 osd.2 up 1.00000 1.00000
-9 0.19530 host dp2
0 hdd 0.19530 osd.0 up 1.00000 1.00000
-7 0.19530 host dp3
1 hdd 0.19530 osd.1 up 1.00000 1.00000
-5 0.19530 host dp4
3 hdd 0.19530 osd.3 up 1.00000 1.00000
-11 0.19530 host dp5
4 hdd 0.19530 osd.4 down 1.00000 1.00000
E identificar qual host está com falha.
3- Em seguida, é necessário acessar tal host para verificar o estado do serviço ceph-OSD. Caso o serviço esteja parado, basta iniciá-lo com o comando:
root@dp5: # systemctl start ceph-osd@id.service
E, após o mesmo ser automaticamente reintroduzido no cluster, repetir o passo 1.
4- Caso a falha do OSD tenha sido causada por uma falha no disco físico, o procedimento a ser realizado é:
- Verifique se é seguro destruir esse OSD:
while ! ceph osd safe-to-destroy osd.id ; do sleep 10 ; done - Destrua esse OSD:
ceph osd destroy id –yes-i-really-mean-it - Adicione um novo disco no host físico e, em seguida, o formate para ser identificado como um OSD no Ceph:
ceph-volume lvm zap /dev/sdX - Adicione esse novo OSD no Ceph com o id do antigo:
ceph-volume lvm prepare –osd-id id –data /dev/sdX - Por fim, ative esse OSD:
ceph-volume lvm activate id fsid