Ceph MDS会在“ up:replay”中停留数小时 MDS故障转移需要10到15个小时

问题描述

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

kubectl port-forward  --namespace default svc/my-release-mongodb-headless 27017:27017

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

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

P.S .:我们尝试了待机重播,它虽然有帮助,但并未消除根本原因。

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...