本文共 651 字,大约阅读时间需要 2 分钟。
CEPH集群跑了一段时间后有几个OSD变成down的状态了,但是我用这个命令去activate也不行
ceph-deploy osd activate osd1:/dev/sdb2:/dev/sdb1
只能把osd从集群中移除,然后再重建了,这个过程必须在ceph重新把数据同步完成才可以做,保证down掉的数据在其他osd中恢复。
在集群中删除一个osd硬盘
#ceph osd rm 14 removed osd.14 #ceph osd crush rm osd.14 removed item id 24 name 'osd.24' from crush map #ceph auth del osd.14 此时在x3节点上查看已经自动umount了osd.14 #umount /var/lib/ceph/osd/ceph-24然后再重新创建即可,文档http://jqjiang.com/ceph/ceph/
然后等待ceph恢复数据同步
附:
摘掉osd的脚本如下 osd_id=`ceph osd tree | grep down | grep osd | awk '{print $3}' | awk -F . '{print $2}'` ceph osd rm ${osd_id} ceph osd crush rm osd.${osd_id} ceph auth del osd.${osd_id} umount /var/lib/ceph/osd/ceph-${osd_id}