记文件系统inode使用耗尽的一次故障处理

Fri Mar 15, 2024

100 Words|Read in about 1 Min
Tags: Devops  

记录一次文件系统inode使用耗尽的故障处理过程

故障现象:

1.无法启动php-fpm
2.无法启动mysql
3.网站无法访问

分析思路:

1.查看磁盘容量,服务运行情况
2.查看inodoe使用情况

排查过程:

1.容量正常
2.端口运行不正常,php服务 mysql服务为启动,启动失败
3.检查inode发现使用率100%

问题分析:

当 ext4 文件系统中的 inode 使用率达到 100% 时,表示系统已经使用完了所有的 inode。即使磁盘空间还有剩余,由于没有空闲的 inode,就无法创建新的文件或目录。要处理这个问题,可以按照以下步骤进行: 检查当前的 inode 使用情况: 可以使用 df -i 命令来检查当前文件系统的 inode 使用情况。找到 inode 使用量已经达到 100% 的文件系统。 找出占用大量 inode 的目录: 使用 df -i 命令查看 inode 使用情况后,可以进入占用 inode 较多的目录,然后使用以下命令找出占用大量 inode 的文件或目录:

find /path/to/directory -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

清理不必要的文件或目录: 根据上一步骤找出的占用 inode 较多的文件或目录,可以进行清理,删除不必要的文件或目录来释放 inode。 考虑重新分配 inode: 如果上述清理操作后仍然无法解决问题,可以考虑重新创建文件系统并分配更多的 inode。在新创建文件系统时,可以通过 mke2fs 命令的 -N 选项来指定分配更多的 inode。 请注意,在处理 inode 使用率达到 100% 的问题时,一定要谨慎操作,确保不删除重要的文件或目录,且备份好需要保留的数据。

经查是某个cache文件夹下产生了大量0字节的垃圾文件,使inode耗尽。不排除是黑客入侵行为。

See Also

Fri Mar 15, 2024

100 Words|Read in about 1 Min
Tags: Devops