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

MongoDB执行removeShard卡在draining阶段且分片无法访问问题咨询

处理步骤

第一步:优先恢复业务可用性(修复bp-rs1故障)

当前所有异常的根因是bp-rs1分片无法找到主节点,这既是业务查询报错的原因,也是balancer无法迁移bp-rs3上剩余chunk的直接原因,优先解决该问题:

  • 登录bp-rs1对应的服务器节点,检查mongod进程状态,确认进程是否存活、27020端口是否可正常访问,查看mongod运行日志排查进程异常原因(常见原因包括磁盘满、配置文件损坏、OOM被系统杀死等)。
  • 从sh.status的输出可以看到bp-rs1是单节点副本集,无冗余节点,直接重启异常的mongod进程即可恢复bp-rs1的服务,业务查询会自动恢复正常。

第二步:处理分片移除卡住问题

bp-rs1恢复正常后,balancer会自动恢复chunk迁移任务,bp-rs3上剩余的334个chunk会逐步迁移到bp-rs0和bp-rs1,等待迁移完成后removeShard命令会自动执行完成。
如果需要紧急回滚分片移除操作,取消bp-rs3的draining状态,执行以下命令即可:

db.adminCommand({ removeShard: "bp-rs3", abort: true })

执行后bp-rs3会恢复为正常可用分片,集群直接回到移除操作前的状态。

后续优化建议

  • 生产环境所有分片副本集至少配置3节点,避免单节点故障导致整个分片不可用,引发业务中断。
  • 执行分片移除等高风险操作前,先确认所有分片的运行状态正常,再执行操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:15:03