一、删除OSD前先确定一下当前集群的容量状况,确保删除OSD后不会使集群达到near full比率,可以通过以下命令进行查看:
二、设置noout、norebalance,防止数据发生恢复迁移等操作。切记操作完成后要取消此项设置。
ceph osd set norebalance
三、删除OSD前,需要先把OSD踢出集群,命令格式如下:
ceph osd out {osd-num}
假设现在需要删除的OSD的num为0,以下是一个可供参考的示例:
ceph osd out 0
四、做完上面的操作,此时OSD的状态是up且out,删除前还需要先停止OSD进程,命令格式如下:
五、此时OSD的状态为down,在Luminous版中,可以直接使用purge对osd进行清除,命令格式如下:
ceph osd purge {osd-num} --yes-i-really-mean-it
以下是一个可供参考的示例:
ceph osd purge 0 --yes-i-really-mean-it
六、删除ceph.conf中对应OSD的条目,并把修改好的配置文件拷贝到其他主机。内容示例如下:
七、卸载磁盘分区,并清除数据目录,命令格式如下:
umount /var/lib/ceph/osd/ceph-{osd-num}
以下是一个可供参考的示例:
umount /var/lib/ceph/osd/ceph-0
rm -rf /var/lib/ceph/osd/ceph-0
八、取消noout、norebalance,命令如下:
ceph osd unset noout