我已经看过几次这个问题了,但目前没有什么对我有用。所以从错误信息是:
Tue May 31 16:06:09.566 [initandlisten] ERROR: Insufficient free space for journal files
Tue May 31 16:06:09.566 [initandlisten] Please make at least 3379MB available in data/journal or use --smallfiles
我的数据库名为data
,因此当我运行mongod
时,我需要通过我的数据库所在位置,以便运行mongod --dbpath data/
我已尝试附加--smallfiles
并结束这个:
Tue May 31 16:07:10.268 [FileAllocator] error: failed to allocate new file: data/local.ns size: 16777216 boost::filesystem::create_directory: No space left on device: "data/_tmp". will try again in 10 seconds
我遇到了这个答案Why getting error mongod dead but subsys locked and Insufficient free space for journal files on Linux?,它告诉我将smallfiles = true
添加到我拥有的mongodb.conf
文件中,但仍然遇到问题。
因为我不确定如何解决此问题,所以我尝试将我的实例从t2.micro
增加到m4.large
,但我仍然在没有足够空间的情况下收到错误。
有谁知道我能做些什么来解决这个问题?
答案 0 :(得分:1)
t2或m4实例正在使用EBS驱动器(当您从EBS连接磁盘时,您将获得更多CPU / RAM但没有更多磁盘空间)
您可以expand your EBS volume获得更多磁盘空间
高级别的逐步程序将是:
在EBS卷上运行命令df –h
。它将在调整大小和驱动器上的可用空间之前显示驱动器的详细信息
停止您的实例并从此实例中分离现有卷
从卷(您刚刚分离的那个)创建快照
转到控制台的快照区域,然后选择快照,然后选择创建卷。在弹出窗口中,您可以调整大小(确保给它足够的空间)
当卷准备就绪时,将此新卷附加到您的实例(以root设备身份附加)并启动您的实例
ssh到您的实例并重新运行df -h
以检查驱动器上的新可用空间。
如果df -h
给出的信息未显示预期空间,则需要声明可用空间,运行sudo resize2fs /dev/xvda???
(确保将???替换为您的分区号码由df -h
)