4

不久前,我们从 Ceph 集群中移除了两个损坏的 OSD,osd.0 和 osd.8。它们现在已从大多数 Ceph 命令中消失,但仍以奇怪的设备名称出现在 CRUSH 地图中:

# 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 不会出现在 CRUSH 地图的其他任何地方。

我们在这里使用了网站上的程序:

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 树”看起来是我所期望的(没有 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

谢谢,

——丹

4

1 回答 1

0

节点故障后我遇到了同样的问题,并通过手动从粉碎地图中删除额外的设备来解决它。我已经使用标准程序删除了 osds 和故障节点,但由于某种原因,我的粉碎地图中留下了幽灵设备。

导出美眉图并进行编辑:

~# ceph osd getcrushmap -o /tmp/crushmap
~# crushtool -d /tmp/crushmap -o crush_map
~# vi 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

这再次启动了恢复过程,幽灵设备现在消失了。

于 2018-07-13T22:01:08.917 回答