刚来新公司没几天就遇到一次由服务器磁盘满引发的线上异常,这次处理异常的过程博主思路清晰,趁余热未过,写下此文记录下整个过程。
客户反映错误如图:
看到此报错后,刚到公司一周的我也是一脸懵逼。但懵逼归懵逼,出来混,该干的活儿还是要干的。喝了口茶,便开始一步步排查了起来。
首先我进入了服务器,开始研究此项目的数据结构,如图。
然后就随便点开了mongodb看了起来,在查看mogondb运行日志时,看到了如下报错:
日志反馈的信息很明确,一句话就是“磁盘已被写满啦!
然后就使用 查看磁盘命令 df -h 查看磁盘空间占用情况
发现磁盘已满,边对服务器进行了清理,删除了一些无用的程序包和大量日志文件。
然后便对mongodb进行重启操作。
重启的过程中又遇到一个问题:
进过一番查询,发现是由于mongo服务端启动后在硬盘中创建的一个锁文件,如果非正常关闭,下次启动时需要删掉mongod.lock文件,否则就会出现上图中的文件。
至此,大功告成,问题得以解决! 此问题警示我们还是有定期检查服务器空间使用情况啊!