首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有人能解释一下Ceph CRUSH地图中那些奇怪的剩余OSD设备--从osd.N重命名为deviceN?

有没有人能解释一下Ceph CRUSH地图中那些奇怪的剩余OSD设备--从osd.N重命名为deviceN?
EN

Stack Overflow用户
提问于 2016-09-03 06:16:59
回答 1查看 1.6K关注 0票数 4

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

代码语言:javascript
复制
# 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

基本上:

代码语言:javascript
复制
ceph osd crush remove 8
ceph auth del osd.8
ceph osd rm 8

我之所以问这个问题,主要是因为我们正在处理一些卡住的PG(不完整),它们仍然在不同的地方引用id "8“。想知道这是否相关?

否则,"ceph osd tree“看起来和我期望的一样(没有osd.8和没有osd.0):

代码语言:javascript
复制
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

谢谢,

--丹

EN

回答 1

Stack Overflow用户

发布于 2018-07-14 06:01:09

我在节点故障后遇到了同样的问题,并通过手动从crush map中删除额外的设备来解决它。我已经使用标准过程删除了osd和出现故障的节点,但是由于某些原因,我的crush map中还剩下了一些重影设备。

导出压缩贴图并对其进行编辑:

代码语言:javascript
复制
~# ceph osd getcrushmap -o /tmp/crushmap
~# crushtool -d /tmp/crushmap -o crush_map
~# vi crush_map

这是我的crush map的设备部分之前的样子:

代码语言:javascript
复制
# 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

我把它改成这样--注意,我必须重新编号,而不仅仅是删除多余的行。

代码语言:javascript
复制
# 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

然后,重新编译压缩贴图并应用它:

代码语言:javascript
复制
~# crushtool -c crush_map -o /tmp/crushmap
~# ceph osd setcrushmap -i /tmp/crushmap

这又一次启动了恢复过程,现在幽灵设备已经消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39301357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档