在测试环境中创建cephfs卷非常慢

在测试环境中创建cephfs卷非常慢

我已将 Ceph 安装到单个虚拟机中以进行测试(我本身并没有测试 ceph,但我需要一个用于我将运行的工具的 ceph 端点)。安装非常简单,但我尝试创建的 cephfs 文件系统 ( ceph fs volume create tank) 需要很长时间(其中“永远”意味着“到目前为止至少 20 分钟”)才可用。跑步ceph mds status节目:

tank:1 {0=tank.ceph.znlhma=up:creating} 1 up:standby

跑步ceph status节目:

  cluster:
    id:     0350c95c-e59a-11eb-be4b-52540085de8c
    health: HEALTH_WARN
            1 MDSs report slow metadata IOs
            Reduced data availability: 64 pgs inactive
            Degraded data redundancy: 64 pgs undersized
            OSD count 1 < osd_pool_default_size 3

  services:
    mon: 1 daemons, quorum ceph.storage (age 50m)
    mgr: ceph.storage.pealqx(active, since 50m)
    mds: 1/1 daemons up, 1 standby
    osd: 1 osds: 1 up (since 50m), 1 in (since 58m)

  data:
    volumes: 1/1 healthy
    pools:   2 pools, 64 pgs
    objects: 0 objects, 0 B
    usage:   6.1 MiB used, 100 GiB / 100 GiB avail
    pgs:     100.000% pgs not active
             64 undersized+peered

这基本上是预料之中的,除了“1 MDS 报告元数据 IO 缓慢”之外,我认为这是有症状的。 100GB 虚拟磁盘 ( ) 上有一个 OSD /dev/vdb,由 NVME 磁盘上的 btrfs 文件系统支持。

我能做些什么来加快创建速度吗?我不需要 Ceph 具有特别高的性能,但我希望能够在更短的时间内启动这个测试环境。

答案1

答案是,默认情况下,ceph 不会激活副本少于三个的 OSD。解决方案是min_size为相应的池设置,如下所示:

ceph osd pool set cephfs.tank.meta min_size 1
ceph osd pool set cephfs.tank.data min_size 1

(将cephfs.tank.meta和替换cephfs.tank.data为适合您环境的任何池名称。)

相关内容