Ceph删除OSD和Host的正确方法
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>