叶子的离开,是因为风的追求,还是树的不挽留?

Linux索引节点(Inode)用满导致的一次故障

技术文档 9217浏览 0评论

一、发现问题
下午在访问网站的时候,发现网站速度很慢,猜想可能服务器有些问题。按照以前的情况,很有可能是服务器空间又被塞满了,通过命令查看,发现还有剩余。

重启LNMP服务,发现失败了。于是想通过远程桌面登录进去看看:

发现无法运行vncserver,于是想测试一下,自己新建一个passwd文件

居然提示没有空间。有点奇怪了,前面明明显示还有剩余空间啊。

二、分析问题
后来用df -i查看了一下/分区的索引节点(inode),发现已经用满(已用=100%),导致系统无法创建新目录和文件

Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

而这台服务器的Block虽然还有剩余,但inode已经用满,因此在创建新目录或文件时,系统提示磁盘空间不足

三、查找原因

由于小站使用了DB Cache Reloaded Fix,并开启 了WordPress object-cache 缓存,这大大提升了小站的缓存效果。但DB Cache Reloaded Fix可以定期清理过期文件,WordPress object-cache 似乎没有这个功能,所以这会生成很多的缓存文件,从而导致系统中存在数量非常多的小字节缓存文件,占用的Block不多,但是占用了大量的inode。

四、解决方案

删除缓存目录中的过期文件,释放出系统的一部分inode,效果如下:

重启LNMP服务后,一切正常,问题得以解决。

参考文档:http://www.cnblogs.com/shapherd/archive/2012/02/07/2341638.html

http://blog.s135.com/post/295/

转载请注明:自由的风 » Linux索引节点(Inode)用满导致的一次故障

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 学习了,基本上都在学习WIN,现在也学习下LIUNX

    厦门网站建设2012-05-21 19:46 回复
  2. :shock:

    keen2012-05-23 11:40 回复