不久前,我们从Ceph集群中移除了两个损坏的OSD,osd.0和osd.8。它们现在从大多数Ceph命令中消失了,但仍然以奇怪的设备名称出现在CRUSH map中:
# devices
device 0 device0 <-----
device 1 osd.1
device 2 osd.2
device 3 osd.3
device 4 osd.4
device 5 osd.5
device 6 osd.6
device 7 osd.7
device 8 device8 <-----
device 9 osd.9谁能解释一下为什么device0和device8仍然存在,如果它们对集群有任何影响,以及我们是否应该删除它们?
device0和device8不会显示在压碎贴图中的任何其他位置。
我们在这里使用了网站上的步骤:
http://docs.ceph.com/docs/jewel/rados/operations/add-or-rm-osds/#removing-osds-manual
基本上:
ceph osd crush remove 8
ceph auth del osd.8
ceph osd rm 8我之所以问这个问题,主要是因为我们正在处理一些卡住的PG(不完整),它们仍然在不同的地方引用id "8“。想知道这是否相关?
否则,"ceph osd tree“看起来和我期望的一样(没有osd.8和没有osd.0):
djakubiec@dev:~$ ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 58.19960 root default
-2 7.27489 host node24
1 7.27489 osd.1 up 1.00000 1.00000
-3 7.27489 host node25
2 7.27489 osd.2 up 1.00000 1.00000
-4 7.27489 host node26
3 7.27489 osd.3 up 1.00000 1.00000
-5 7.27489 host node27
4 7.27489 osd.4 up 1.00000 1.00000
-6 7.27489 host node28
5 7.27489 osd.5 up 1.00000 1.00000
-7 7.27489 host node29
6 7.27489 osd.6 up 1.00000 1.00000
-8 7.27539 host node30
9 7.27539 osd.9 up 1.00000 1.00000
-9 7.27489 host node31
7 7.27489 osd.7 up 1.00000 1.00000谢谢,
--丹
发布于 2018-07-14 06:01:09
我在节点故障后遇到了同样的问题,并通过手动从crush map中删除额外的设备来解决它。我已经使用标准过程删除了osd和出现故障的节点,但是由于某些原因,我的crush map中还剩下了一些重影设备。
导出压缩贴图并对其进行编辑:
~# ceph osd getcrushmap -o /tmp/crushmap
~# crushtool -d /tmp/crushmap -o crush_map
~# vi crush_map这是我的crush map的设备部分之前的样子:
# devices
device 0 osd.0
device 1 device1
device 2 osd.2
device 3 osd.3
device 4 device4
device 5 osd.5
device 6 osd.6
device 7 osd.7我把它改成这样--注意,我必须重新编号,而不仅仅是删除多余的行。
# devices
device 0 osd.0
device 1 osd.2
device 2 osd.3
device 3 osd.5
device 4 osd.6
device 5 osd.7然后,重新编译压缩贴图并应用它:
~# crushtool -c crush_map -o /tmp/crushmap
~# ceph osd setcrushmap -i /tmp/crushmap这又一次启动了恢复过程,现在幽灵设备已经消失了。
https://stackoverflow.com/questions/39301357
复制相似问题