在 lvextend OSD 卷后,ceph 卡在 active+remapped+backfill_toofull 状态

在 lvextend OSD 卷后,ceph 卡在 active+remapped+backfill_toofull 状态

我有一个 2 OSD ceph 集群。备份卷的初始大小为 16GB。然后我关闭 OSD,lvextend对两个 OSD 执行了操作,然后再次打开 OSD。现在ceph osd df显示:

头孢噻呋

ceph -s显示它停留active+remapped+backfill_toofull在 50 页: 头孢菌素

我尝试通过阅读 CRUSH 算法来理解该机制,但似乎需要付出很多努力和知识。如果有人能描述这种行为(为什么尽管可用空间显著增加,但仍然卡在太满状态)并帮助我解决此状态,我将不胜感激。

答案1

您的RAW USE是 的倍数DATA。注意:解决方案尚未尝试,但这是我发现的。

回复:原始使用量比数据使用量高 10 倍

可能首先要检查的是,是否有小于 min_alloc 大小的对象。这些对象将使用全部 min_alloc 大小,从而导致空间浪费。

类似建议: https://stackoverflow.com/questions/68185503/ceph-df-octopus-shows-used-is-7-times-higher-than-stored-in-erasure-coded-pool/68186461#68186461

这与 bluestore_min_alloc_size_hdd=64K(Octopus 的默认值)有关。

如果使用擦除编码,数据将被分解为更小的块,每个块在磁盘上占用 64K。

解决此问题的另一种方法是尝试按照第二个屏幕上的说明进行操作:

如果此问题无法自行解决,请添加存储

相关内容