Skip to main content

服务器磁盘有空间但无法写入的问题分析与解决办法(Inode使用率100%)

最近管理的一台Linux服务器,安装的宝塔面版,放了10多个CMS网站,发现全都打不开,根据提示是缓存目录无法写入,FTP也无法上传文件,初步判断是磁盘满了,,结果登录宝塔面版发现磁盘有足够的空间,SSH登录,df -h也有足够空间。

{xunruicms_img_title}

这就奇怪了,维护10多台服务器,几年经验,从来没遇到过这种情况。最近才换的华为云服务器出现这问题,所以怀疑是不是华为云服务器问题。提交工单,分析得知是因为过多的文件占用了大量的inode号,

通过SSH  df -i 发现 inode100%了。第一次认识到inode,受教了。

进一步分析找到文件太多的目录

for i in /data/*; do echo $i; find $i |wc -l; done

其中data是数据盘挂载目录

{xunruicms_img_title}

输入查询存放网站的目录:

for i in /data/wwwroot/*; do echo $i; find $i |wc -l; done

{xunruicms_img_title}

发现一个网站目录的inode数量最多,高达600多万,接着查询这个站点目录

{xunruicms_img_title}

原来是这个网站下的缓存目录文件数高达600多万个。通过命令清理删除后,就正常了。

这也是网站没配置好导致会有这么多缓存文件