刪除OSD
以刪除osd.6為例,查看ceph osd相關信息:
ceph -s # 查看Ceph集群狀態,確保為HEALTH_OK
ceph osd tree # 查看OSD樹(osd標號、osd權重等信息)
ceph osd df
ceph -s # 查看Ceph集群狀態,確保為HEALTH_OK
ceph osd tree # 查看OSD樹(osd標號、osd權重等信息)
ceph osd dump | grep ^osdump | grep ^osd
1. 降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。
2. 登錄對應節點,停止osd服務:
systemctl stop ceph-osd@osd-id
3. 標記osd為out:
ceph osd out osd.6
4. 刪除crush map中的osd:
ceph osd crush remove osd.6
5. 刪除osd:
ceph osd rm osd.6
6. 刪除osd在ceph集群的認證:
ceph auth del osd.6
刪除host,刪除掉crush map中已沒有osd的host:
ceph osd crush remove <host>