内容提要:## 场景复现在一台linux服务器上,数据盘空间还很充足,但是缺无法上传文件;数据库、Nginx环境也异常停止,无法启动。这个时候可以检查一下Inode使用率。### 查看目录下的文件数量```for i in /www/wwwroot/*; do echo $i; find $i |wc -l; done```这台服务器安装的是宝塔,运行网站。所以这里重点查看下网
在一台linux服务器上,数据盘空间还很充足,但是缺无法上传文件;数据库、Nginx环境也异常停止,无法启动。
这个时候可以检查一下Inode使用率。
for i in /www/wwwroot/*; do echo $i; find $i |wc -l; done
这台服务器安装的是宝塔,运行网站。所以这里重点查看下网站的文件数量。代码中的/www/wwwroot/*
按你实际情况修改查询目录。
运行结果,发现某个站点居然有27W个文件。
通过排查发现是一个pbootcms站点,由于访问量大,生成了巨量的缓存文件,导致Inode使用率暴增。
进一步导致了Nginx无法运行,Mysql无法运行。
首先删除网站目录下的缓存文件。小网站应该不会有这么大的访问了,不出意外应该是爬虫爬出来的,查看pbootcms后台自带的蜘蛛记录,一个不知名的蜘蛛疯狂的爬取网站。直接给这个IP屏蔽掉保命。
删除文件,切换到要删除的目录
[root@node2 website]# rm -rf *
正常情况会提示参数列表太长
换个方式来删除
[root@node2 website]# ls | xargs -n 500 rm -rf
最后再来查看一下Inode是否被释放
df -i
Linux中Inodes满了的原因有很多,不同的场景情况也是不一样的,Inodes占用100%是很正常的,也会经常遇见这种情况。上面所有的操作步骤只是给大家一个解决问题的思路,哪怕你以后再遇到inode使用率满了这个类似的问题,只要按照此文章原理,相信你一定可以去自己解决的。
本站仅为信息分享,不提供任何产品销售及代购,所有产品请合法使用,使用和售后问题请联络响应服务商。
Copyright ©2022-2024 A8云站长 All Right Reserved.
苏ICP备17049062号-1