0

我们有 9 个节点的 Ceph 集群。Ceph 版本是 15.2.5。集群有 175 个 OSD (HDD) + 3 个 NVMe 用于“cephfs_data”池的缓存层。CephFS 池信息:

POOL                    ID  STORED   OBJECTS  USED     %USED  MAX AVAIL
cephfs_data              1  350 TiB  179.53M  350 TiB  66.93     87 TiB
cephfs_metadata          3  3.1 TiB   17.69M  3.1 TiB   1.77     87 TiB

我们使用多个活动 MDS 实例:3 个“活动”和 3 个“备用”。每个 MDS 服务器有 128GB RAM,“mds 缓存内存限制”= 64GB。

故障转移到备用 MDS 实例需要 10-15 小时!客户端一直无法访问 CephFS。MDS 实例一直处于“up:replay”状态。看起来 MDS 恶魔在此步骤中检查了所有文件夹。我们有数百万个包含数百万个小文件的文件夹。完成文件夹/子文件夹扫描后,CephFS 将再次处于活动状态。我相信 MDS 故障转移期间 10 小时的停机时间是出乎意料的行为。有什么方法可以强制 MDS 将状态更改为活动并在后台运行所有必需的目录检查?如何定位根本原因?

PS:我们尝试了standby-replay,它有帮助,但不能消除根本原因。

4

1 回答 1

0

mds_log_max_segments = 100000 是根本原因。该值应小于 1000。

于 2020-09-22T19:13:18.160 回答