如何排查Ext4文件系统上没有空闲的inode

问题描述

ECS报错“No space left on device”,使用df -h发现磁盘使用率并未达到100%

解决方案
  1. 使用以下命令查看Inode数量
df -i /dev/(device)
  1. 也可以使用dumpe2fs以下命令查看有关 inode 大小和池的其他信息:
dumpe2fs /dev/(device) |grep ^Inode 
  1. 若不知道具体那个目录文件数量较多,使用以下命令:
for i in /*; do echo $i; find $i | wc -l; done
  1. 若明确相关文件有用,对目录进行打包示例如下:
tar zcvf test.tar.gz /home/test
  1. 确认文件可以删除,执行下列命令删除即可:
find .  -ctime +7 -name "*" | xargs -i rm -rf {} 

注意: 如果文件数量太多直接用 rm -rf xxx 会报 Argument list too long 问题,就是要删除的文件太多了。

问题分析

每个文件和目录都使用一个“inode”, inodes创建文件系统时,会为该文件系统创建一个特定的块。如果存在许多小文件,这可能会导致池inodes过早消耗。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论