Linux inode耗尽故障处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux inode耗尽故障处理相关的知识,希望对你有一定的参考价值。

Linux系统中一切皆是文件,系统内部不使用文件名,而使用inode号码来识别文件,一个文件必须占有一个inode,由于每个文件都必须有一个inode, 因此有可能发生inode已经用光,但是硬盘还没有满的情况,这样会导致无法在硬盘上创建新文件。
首先准备实验环境,新建一个硬盘,用fdisk工具创建一个内存约5M的分区/dev/sdb1,再格式化,并将其挂载到/data目录下,使用带“-i”选项的df命令确认该分区中节点的使用情况。
技术分享图片
技术分享图片技术分享图片
技术分享图片

接着编写一个测试程序,运行该程序可以耗尽/dev/sdb1分区中所有可用的i节点。
技术分享图片
技术分享图片
技术分享图片
技术分享图片

然后当i节点耗尽后,在/dev/sdb1分区中创建新的文件时,出现“设备上没有空间”的错误提示。通过df命令可以查看到/dev/sdb1分区中实际上还有可用的剩余空间,但是由于节点已经用完,所以不能创建新文件。
技术分享图片
最后修复i节点耗尽故障,删除占用大量i节点的小文件。
技术分享图片

以上是关于Linux inode耗尽故障处理的主要内容,如果未能解决你的问题,请参考以下文章

linux故障处理:磁盘资源耗尽故障

请描述工作中解决的故障(写入数据出现 no space left on device 故障)

一个由INode节点爆满引起的业务故障

Linux启动故障处理

彻底解决Linux索引节点(inode)用满导致故障的方法

Linux故障处理系统启动类故障