如果一个名字不正确的主机加入了集群或者剔除完某一个主机的osd之后,使用ceph osd tree查看,如果一个主机还在ceph osd tree中,且主机下无任何osd,那这个主机名就是无用数据。可以通过手动修改crushmap去掉这些无用的主机,具体的修改方法如下:
1.导出crushmap
ceph osd getcrushmap -o crushmap.map
2.将导出的crushmap转成文本文件,进行修改
crushtool -d crushmap.map -o crushmap.txt
3.编辑导出的vi crushmap.txt,例如错误的的主机名名字是host1,删除下列内容
host host1{
XXX
XXX
}
root default {
item host1 weight 1
}
4.把上述内容删除后,把修改后的文本文件重新装换位二进制文件,最后把二进制文件更新到当前的map中
crushtool -c crushmap.txt -o crush.map
ceph osd setcrushmap -i crush.map
5.完成