我已将 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
为适合您环境的任何池名称。)