1. 刪除OSD
(以刪除osd.6為例)
查看Ceph osd相關信息
ceph -s # 查看Ceph集群狀態,確保為HEALTH_OK
ceph osd tree # 查看OSD樹(osd標號、osd權重等信息)
ceph osd dump | grep ^osd
降osd權重
先降低osd權重為0,讓數據自動遷移至其它osd,可避免out和crush remove操作時的兩次水位平衡。
水位平衡完成后,即用ceph -s查看到恢復HEALTH_OK狀態后,再繼續后續操作。
ceph osd crush reweight osd.6 0
watch -n3 -d ceph -s
注意:在生產環境下,若osd數據量較大,一次性對多個osd降權可能導致水位平衡幅度過大、雲存儲性能大幅降低,將影響正常使用。因此,應分階段逐步降低osd權重,例如:從1.2降低至0.6,等待數據水位平衡后再降低至0。
停osd服務
登錄對應節點,停止osd服務。
ssh root@<IP>
systemctl stop ceph-osd@6.service
標記osd為out
ceph osd out osd.6
刪除crush map中的osd
ceph osd crush remove osd.6
刪除osd
ceph osd rm osd.6
2. 刪除Host
刪除掉crush map中已沒有osd的host。
ceph osd crush remove <HOST>