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