aws ec2 - Mongodb EROR:日志文件的可用空间不足

时间:2016-05-31 16:17:42

标签: mongodb amazon-web-services amazon-ec2 mongoose

我已经看过几次这个问题了,但目前没有什么对我有用。所以从错误信息是:

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,但我仍然在没有足够空间的情况下收到错误。

有谁知道我能做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:1)

t2或m4实例正在使用EBS驱动器(当您从EBS连接磁盘时,您将获得更多CPU / RAM但没有更多磁盘空间)

您可以expand your EBS volume获得更多磁盘空间

高级别的逐步程序将是:

  1. 在EBS卷上运行命令df –h。它将在调整大小和驱动器上的可用空间之前显示驱动器的详细信息

  2. 停止您的实例并从此实例中分离现有卷

  3. 从卷(您刚刚分离的那个)创建快照

  4. 转到控制台的快照区域,然后选择快照,然后选择创建卷。在弹出窗口中,您可以调整大小(确保给它足够的空间)

  5. 当卷准备就绪时,将此新卷附加到您的实例(以root设备身份附加)并启动您的实例

  6. ssh到您的实例并重新运行df -h以检查驱动器上的新可用空间。

  7. 如果df -h给出的信息未显示预期空间,则需要声明可用空间,运行sudo resize2fs /dev/xvda???(确保将???替换为您的分区号码由df -h

    提供