删除OSD
(以删除osd.6为例)
查看Ceph osd相关信息
ceph -s # 查看Ceph集群状态,确保为HEALTH_OK ceph osd tree # 查看OSD树(osd标号、osd权重等信息) ceph osd dceph -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。
停osd服务
登录对应节点,停止osd服务。
systemctl stop ceph-osd@osd-id
标记osd为out
ceph osd out osd.6
删除crush map中的osd
ceph osd crush remove osd.6
删除osd
ceph osd rm osd.6
删除osd在ceph集群的认证
ceph auth del osd.6
删除Host
1. 删除掉crush map中已没有osd的host。
ceph osd crush remove <HOST>