CephFS 池无法使用所有可用的原始空间(MAX_AVAIL < AVAIL)

问题描述 投票:0回答:2

我有一个 Ceph 集群,旨在作为 CephFS 在硬盘驱动器机箱上运行,该硬盘驱动器机箱在多个服务器上提供总计 9PiB 的原始空间。

我创建了一个 3+3 纠删码池,该池应该跨越硬盘驱动器的整个原始空间。

令人惊讶的是,它似乎只占用了 9PiB 可用空间中的 6PiB,因此当我向其中写入 ~2.5PiB 数据(以及 ~2.5PiB 更多校验和)时,它说我只有 500TiB 可用空间(对应于 1PiB 原始空间)空间)。

这是

ceph df
的输出:

$ sudo ceph df
RAW STORAGE:
    CLASS     SIZE        AVAIL       USED        RAW USED     %RAW USED 
    hdd       8.9 PiB     3.7 PiB     5.2 PiB      5.2 PiB         58.62 
    ssd        35 TiB      15 TiB      20 TiB       20 TiB         57.96 
    TOTAL     9.0 PiB     3.7 PiB     5.2 PiB      5.3 PiB         58.62 
 
POOLS:
    POOL                ID     STORED      OBJECTS     USED        %USED     MAX AVAIL 
    cephfs_metadata      7     5.1 GiB       1.55M     5.7 GiB      0.15       780 GiB 
    cephfs_erdata        8     2.5 PiB     687.98M     5.2 PiB     84.29       500 TiB

请注意,cephfs_erdata 池的

MAX AVAIL
部分中的
POOLS
列表明仅剩下 500TiB,而
AVAIL
RAW STORAGE
hdd
中的
CLASS
列有 3.7PiB 可用。

这是什么意思?我可以为该池分配更多空间吗?为什么 Ceph 本身不为其分配所有可用空间?

ceph cephfs
2个回答
0
投票

我们找到了这个问题的原因。

  1. 由于配置错误,我们的 CephFS 使用 SSD 驱动器不仅用于存储元数据,还用于存储实际数据。每当其中一个 OSD 空间不足并且无法在其上放置更多数据时,CephFS 就会耗尽空间。所以 SSD 是

    MAX_AVAIL
    的瓶颈。

  2. 即使是 hdd Ceph OSD 也没有均匀加载。所以我们必须运行reweight。之后数据分布均匀,

    MAX_AVAIL
    大小接近
    AVAIL


0
投票

我们遇到了和您类似的问题。您能否让我更详细地了解您的第 1 点?添加 SSD 驱动器作为 OSD 来存储元数据和实际数据是有效的配置,不应导致任何固有问题。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.