You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB StatefulSet扩容后出现FailedMount问题求助

MongoDB StatefulSet扩容后VolumeAttachment未创建的排查方向
  • CSI驱动异常

    • 检查故障节点上的CSI节点插件(如csi-nodeplugin)Pod状态,是否存在崩溃循环或日志报错。部分CSI驱动在频繁处理挂载/卸载请求时,可能出现连接中断,直接导致VolumeAttachment创建触发失败。
    • 同步验证CSI控制器插件的运行状态,若控制器被限流或队列阻塞,VolumeAttachment的处理请求会被延迟甚至卡住。
  • 节点存储资源冲突

    • 故障节点的存储挂载点可能被占用,或者/var/lib/kubelet/pods目录下残留旧挂载信息,导致kubelet无法完成新挂载流程,进而不触发VolumeAttachment创建。
    • 若使用块存储,检查节点上iscsiadm、multipath等存储工具状态,工具异常会导致存储设备无法正确关联到节点。
  • StatefulSet与PV绑定残留问题

    • 之前缩容操作中,旧Pod对应的VolumeAttachment可能未被正确清理,新Pod调度到同一节点时,kube-apiserver会判定PV仍处于绑定状态,拒绝创建新的VolumeAttachment。
    • 查看PV的spec.claimRef字段,确认是否正确指向当前故障Pod的PVC,若指向已删除的旧PVC,挂载流程会直接中断。
  • kube-controller-manager异常

    • kube-controller-manager中负责volumeattachments的控制器若出现异常(如leader选举失败、进程卡顿),将无法处理PVC挂载请求,导致VolumeAttachment对象无法生成。
    • 检查kube-controller-manager日志,排查是否存在VolumeAttachment处理相关的错误或超时信息。
  • 存储类配置问题

    • 若存储类启用volumeBindingMode: WaitForFirstConsumer,但Pod调度后存储提供者未及时响应绑定请求,会导致VolumeAttachment创建延迟或失败。
    • 验证存储类的allowedTopologies配置,若限制PV仅能绑定特定节点,而故障节点不在允许范围内,也会导致VolumeAttachment无法创建。

临时修复后复发的原因

删除PVC并缩扩容能恢复,是因为强制清理了旧绑定关系,触发了新的PV/PVC绑定流程。但复发说明根本问题未解决:

  • 若CSI驱动存在内存泄漏或连接池耗尽,运行一段时间后处理能力会再次下降;
  • 节点存储资源未彻底清理,每次Pod重启都会触发相同的挂载冲突;
  • kube-controller-manager的稳定性问题未修复,会周期性出现异常。

内容的提问来源于stack exchange,提问作者jirawat paiboon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 22:57:27