CentOS 上 MongoDB 故障排查指南
一 快速定位流程
sudo systemctl status mongodsudo journalctl -ex | grep mongodsudo tail -n50 /var/log/mongodb/mongod.log/etc/mongod.conf
net.bindIp、net.port(默认端口 27017)storage.dbPath、systemLog.pathsecurity.authorizationmongosh --host 127.0.0.1:27017telnet <服务器IP> 27017 或 nc -vz <IP> 27017top/htop、df -h、free -mopenssl-devel 等缺失库sestatus,排查被策略拦截的可能二 常见故障与修复
sudo chown -R mongod:mongod /var/lib/mongo /var/log/mongodbss -lntp | grep 27017,结束占用进程后重启rm -f /var/lib/mongo/mongod.lock,并以 --repair 修复后再启动:/usr/bin/mongod -f /etc/mongod.conf --repairnet.bindIp: 0.0.0.0(或指定内网 IP),并重启服务sudo firewall-cmd --add-port=27017/tcp --permanent && sudo firewall-cmd --reloadsecurity.authorization: enabledmongosh -u <用户名> -p <密码> --authenticationDatabase <库名>sudo setenforce 0,若恢复正常需为 MongoDB 配置合适的 SELinux 策略或保持宽容模式并完善策略sudo yum install -y openssl-devel 等,再重启服务三 性能卡顿与不稳定
mongostat、mongosh --eval 'db.serverStatus()'top/htop、iostat -x 1、df -hexplain() 分析执行计划storage.wiredTiger.engineConfig.cacheSizeGBkernel.sched_min_granularity_ns、kernel.sched_wakeup_granularity_ns,并通过 RPS 均衡网卡软中断四 维护与加固建议
mongodump -d <库名> -o <备份目录>;恢复:mongorestore -d <库名> <备份目录>/<库名>top/htop/iostat)+ 第三方(如 Prometheus/Grafana/Zabbix)五 一键诊断命令清单
sudo systemctl status mongodsudo journalctl -ex | grep mongodsudo tail -n100 /var/log/mongodb/mongod.logss -lntp | grep 27017telnet <IP> 27017 或 nc -vz <IP> 27017sudo firewall-cmd --list-portscat /etc/mongod.conf | egrep 'bindIp|port|dbPath|logPath|authorization'ls -ld /var/lib/mongo /var/log/mongodbps aux | grep mongodtop/htop、iostat -x 1、df -h、free -msestatussudo yum provides */libssl.so 或 sudo yum install -y openssl-develmongostatmongosh --eval 'db.serverStatus()'mongosh --eval 'db.adminCommand({connectionStatus: 1})'sudo chown -R mongod:mongod /var/lib/mongo /var/log/mongodb/usr/bin/mongod -f /etc/mongod.conf --repairmongodump / mongorestore