linux inode 满,导致系统无法写入文件
今天,朋友让帮忙看一个服务器问题,站点打不开,表象,502, 这个友好提示并不能说明神马问题,果断先看日志
![](/uploads/image/a217/26719405_1471402444kqxq.png)
1.检查日志
环境,使用了 wdcp环境,nginx 代理给后端的apache去处理,nginx工作正常,apache无法启动,怪哉
![](/uploads/image/a217/26719405_147140235100hh.png)
此处必有蹊跷,提示,设备空间已满
2.检查设备空间使用情况
![](/uploads/image/a217/26719405_1471402561aoz3.png)
磁盘物理空间并未使用满
3.检查 inode
恶补一下,inode知识:
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1kb或每2kb就设置一个inode。
# dumpe2fs -h /dev/sdb1 | grep "inode size" #查看设备inode
![](/uploads/image/a217/26719405_1471402915ez10.png)
由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件
检查服务器设备 inode 使用情况
#df -i #查看inode 使用情况
![](/uploads/image/a217/26719405_1471403100i0aa.png)
由此看来,inode 存储空间已满,导致 apache pid 文件无法创建服务器无法启动
4.解决方法
删除没用的空文件,备份文件可以移动到其他盘,清掉一些,缓存文件,释放一些inode 否则空间无法使用
清理过,然后在看 inode 使用率
![](/uploads/image/a217/26719405_14714033580et4.png)
然后再启动服务,就ok 了
阅读(3335) | 评论(0) | 转发(0) |