MongoDB服务无法启动,原因居然是…

前言

某台CentOS服务器上的MongoDB服务突然停止运行,于是登上去排查原因,接下来就是苦逼的爬坑之旅。

爬坑记录

1、重启服务

使用systemctl命令重启服务:

systemctl restart mongod.service

查看系统日志:

journalctl -ex

只是提示启动失败,没有输出任何错误原因:

图片

2、查看日志文件

于是准备查看MongoDB的日志,看看是否有错误信息。

但是发现日志文件较大,于是将原始log文件重命名,想在干净的日志中查看:

mv mongod.log mongod.log_old

没想到,这里给自己挖了个大坑!

再次重启服务,还是理所当然的启动失败了。

有条不紊地去查看日志,自以为马上可以找到原因了。结果,发现没有写任何日志,mongod.log文件大小为0

图片

换成使用mongod命令运行,效果也是一样:

mongod -f ./mongod.conf

3、曙光乍现

由于没有日志,不知问题在哪,完全没有头绪如何修复。

突然想到,mongod.log文件大小为0!!! 那是不是说明mongod.log文件写不进去啊。

但是该文件是mongod自动创建的,应该有访问权限。

赶快使用mongod命令行参数运行,不写日志文件,直接将日志输出到屏幕:

mongod --dbpath xxx

看到这句输出,一切真相大白:

图片

没有磁盘空间了?!

赶快查看磁盘剩余空间:

df -h

确实是0:

图片
图片

结论

找到问题原因,解决方案当然很简单了。

回顾整个过程,由于MongoDB的数据存储是挂接专门的磁盘,所以系统运行不受影响,关键是系统日志也没任何相关提示,导致开始时忽略了这一问题。

如果你觉得这篇文章对你有所启发,请关注我的个人公众号”My IO“

发表评论

登录后才能评论
网站客服
网站客服
申请收录 侵权处理
分享本页
返回顶部