Amazon EC2 微型实例 - 空间不足? [关闭]

Posted

技术标签:

【中文标题】Amazon EC2 微型实例 - 空间不足? [关闭]【英文标题】:Amazon EC2 micro instance - ran out of space? [closed] 【发布时间】:2014-08-02 05:45:46 【问题描述】:

df -h 显示只使用了 71% 的空间:

root@ip-xxx-xxx-xxx-xxx:/home/myuser# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.9G  5.3G  2.2G  71% /
udev             10M     0   10M   0% /dev
tmpfs            60M   88K   60M   1% /run
/dev/xvda1      7.9G  5.3G  2.2G  71% /
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           120M     0  120M   0% /run/shm

但是没有什么可以再创建文件了,即使MC 也无法启动

#mc
Cannot create temporary directory /tmp/mc-root: No space left on device (28)

php无法创建文件

PHP Warning:  fopen(/home/.../file.json): failed to open stream: No space 
left on device in /webdev/www/..../my.php on line 10

会是什么?

我在 Micro 实例上使用 Debian 7。

【问题讨论】:

【参考方案1】:

df -h 以人类可读格式显示磁盘可用空间。但这听起来像是一个 inode 表问题,您可以通过 df -i 检查。例如,这是我在自己的运行 Ubuntu 12.04 的 Amazon ECS 微型实例上的 inode 使用情况:

Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/xvda1     524288 116113 408175   23% /
udev            73475    379  73096    1% /dev
tmpfs           75540    254  75286    1% /run
none            75540      5  75535    1% /run/lock
none            75540      1  75539    1% /run/shm

根据输出,我敢打赌您的 inode 表已填满。 inode 表记录每个单独的文件数据。不仅仅是多少空间。这意味着您可能有 71% 的文件在使用中,但是这 71% 可能会被数千个文件填充。因此,如果您有大量小文件,从技术上讲,您可能仍有可用空间,但 inode 表已满,因此您必须将其清除以使系统再次完全正常运行。

不太清楚清除此问题的最佳方法,但如果您知道一个目录有大量文件,您可以立即扔掉,我建议您先删除它们。对于它的价值,this question & answer thread 看起来有一些不错的想法。

【讨论】:

你是对的:-rootfs Inodes 100%。我确实有很多相对较小的文件。这是否意味着我不能再使用空间了,因为我的 inode 用完了?这听起来很尴尬 :) 因为我刚刚释放了 2 GB 删除大文件,并且繁荣 - 我仍然无法创建新文件 =) @Pavel “这是否意味着我不能再使用空间了,因为我的 inode 用完了?” 100% 是的。 inode 表(文件的索引)已用尽。您需要以某种方式清除那些小文件。如何?您的来电。但正如我在帖子中所说,this question & answer thread 有一些想法。如果文件只是缓存的数据,请认真考虑扔掉它们。或者查看/var/logs/,看看会有什么不同。 不,不仅仅是文件,这些是数据库中目录的图像。不管怎样,谢谢!我会想办法的,因为我现在知道是什么导致了问题:)

以上是关于Amazon EC2 微型实例 - 空间不足? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

播放不断写入光盘?在 Amazon ec2 上导致更高的账单

如何在 Amazon EC2 上使用 Gunicorn 设置 Nginx 代理缓冲?

Amazon EC2,mysql 中止启动,因为 InnoDB:mmap(x 字节)失败;错误号 12

EC2 服务器,大量的微型实例还是更少的大型实例?

如何将交换添加到 EC2 实例?

Amazon EC2 Auto Scaling CPU 利用率警报 - 数据不足