我在mongod.log
文件中收到以下错误:
journal dir=/var/lib/mongodb/journal
Mon Jan 20 15:10:19.742 [initandlisten] recover : no journal files present, no recovery needed
Mon Jan 20 15:10:19.742 [initandlisten]
Mon Jan 20 15:10:19.742 [initandlisten] ERROR: Insufficient free space for journal files
Mon Jan 20 15:10:19.742 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Jan 20 15:10:19.742 [initandlisten]
Mon Jan 20 15:10:19.743 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Jan 20 15:10:19.743 dbexit:
这表明服务器没有更多可用于journal
的空间。是否会为服务器分配更多空间自动解决问题,还是需要手动执行某些操作以提交新分配的空间?
答案 0 :(得分:3)
您无需恢复数据库。您可以选择以下选项:
journal = false
来禁用日记功能。smallfiles = true
以使日记文件更小。在任何一种情况下,您都不必真正重启服务器。只需关闭mongod,解决问题并启动它。
示例1:
我在AWS上运行Linux VM,我的根目录中只有8GB'/',默认情况下mongo会将数据文件放在其中。我创建一个新的EBS分区或附加一些其他分区,格式化并挂载它。接下来我编辑mongod config以将我的数据目录放在这个新的驱动器/分区上。我还将旧目录中的所有文件移动到新位置。我启动mongo它应该工作正常。不要忘记设置正确的目录权限等。
示例2:
我关闭了我的VM或服务器并调整了磁盘大小。如果你使用LVM等,你可能不需要关机 - 取决于。启动mongod - 一切正常。
答案 1 :(得分:1)
这不是缺少内存而是硬盘空间。
是的,只需调整服务器大小,然后重新启动mongod
即可。
答案 2 :(得分:0)
简短回答:是的。
您可以简单地增加系统的存储空间,以便存储所有日记帐。
或者,如果您启用--smallfiles
,则会将最大journal
大小减小为512mb。但是,我不确定你是否想要这个,但它可能会占用足够的空间,不需要扩展系统的存储空间。