故障现象:
分区无法写入文件。
故障分析:
执行df -h命令发现空间占用不到50%,执行df -hi,发现某分区IUse%值为99%,说明innode已经用完,应该是某些目录下存在大量的小文件导致。
解决方法:
大量小文件分布有两种可能,一是只有一个或少量目录下存在大量小文件,这种情况我们可以使用如下命令来找出异常目录:
find / -type d -size +10M
此命令作用是找出大小大于10M的目录(目录大小越大,表示目录下文件越多)。
第二种可能是,大量的小文件分布在大量的目录下,这时候上面的命令可能找不出异常的目录,需要以下命令:
cd / find */ ! -type l | cut -d / -f 1 | uniq -c
此命令作用是找出目录下文件总数,可能需要执行多次,直到找出具体的目录。比如上面的命令找出了/tmp目录下存在大量的小文件,但/tmp/目录还有很多目录,这时候我们还需要继续执行:
cd /data find */ ! -type l | cut -d / -f 1 | uniq -c
故障总结:
对inode占用进行监控,并且收到inode警告时应及时使用以上方法来定位问题,最好从根源处解决问题。