
[root@dev-master ceph-cluster]# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.01740 root default
-4 0.00580 host osd2
0 0.00580 osd.0 down 0 1.00000
-5 0.00580 host osd3
1 0.00580 osd.1 down 0 1.00000
-6 0.00580 host osd1
2 0.00580 osd.2 down 0 1.00000
5 0 osd.5 up 0 1.00000
[root@dev-master ceph-cluster]# ceph osd out 5
osd.5 is already out.
[root@dev-master ceph-cluster]# ceph osd crush remove osd.5
device 'osd.5' does not appear in the crush map
[root@dev-master ceph-cluster]# ceph auth del osd.5
entity osd.5 does not exist
[root@dev-master ceph-cluster]# ceph osd rm 5
Error EBUSY: osd.5 is still up; must be down before removal.
하지만 어떤 호스트에서도 osd.5를 찾을 수 없습니다.
답변1
osd를 수동으로 표시해 볼 수 있습니다. osd 프로세스가 실제로 어딘가에서 실행 중인 경우 몇 초 후에 자체적으로 백업으로 표시됩니다.
ceph osd down osd.5; ceph osd rm "$_"
답변2
때로는 ceph osd purge [osd.daemon]
작동합니다.
답변3
결국 해당 노드의 서비스이므로 해당 서비스를 먼저 중지하는 것이 좋습니다.
systemctl disable [email protected]
그럼 가
ceph osd out osd.5
ceph osd safe-to-destroy osd.5
ceph osd destroy osd.5 --yes-i-really-mean-it
ceph osd crush remove osd.5
ceph osd rm osd.5