问题描述
|
我有一台装有MongoDB的机器,它的数据照常位于/ data / db。
当我的机器因电力故障而崩溃时,我的MongoDB拒绝启动时启动(通过LaunchAgent的Mac OS X Server),并且/ data / db也神秘地消失了!
同样,所有日志文件也将被清除。这发生在我的开发SSD MBA上,我认为这只是一个奇怪的SSD案例。但是我的XServe服务器在电源跳闸时也能正常运行。
我是否在某处缺少一些数据保护文章?当然,仅删除/ data / db不会造成这种不可靠!
解决方法
不,那是不正常的。
如果无法启动,则可能是mongodb指示您需要运行修复程序,因为mongod.lock存在并且在/ data / db中具有特定状态。但这意味着/ data / db存在。
如果/ data / db存在但为空(显然,在这种情况下会很糟),它将立即启动。
如果缺少日志,听起来像是更一般的磁盘问题。
因此,检查启动消息是否有关mongod.lock那里有数据。在v1.8 +中也可以使用日记功能。 (尽管即使没有日志记录也不会丢失所有数据文件)
, MongoDB永远不会删除您的数据库文件!
万一发生崩溃,您必须使用--repair选项启动mongod。
另外:在V 1.8+中使用MongoDB的新日记功能,当您将MongoDB作为独立服务运行时,应该会很有帮助。