磁盘分区Inode使用率达到100%会造成我们的应用无法继续新建目录或者文件,此时通常系统内对应的磁盘空间还未用满,Inode用满也是平时容易被忽略的点。我们可以通过清除Inode占用高的文件或者目录、或者增加Inode数量来解决磁盘分区Inode使用率达到100%的问题。
查询Inode使用率服务器上执行
df -i如果Inode使用率达到或者接近100%,我们就要及时处理了。
清理Inode占用高的文件或者目录1.执行以下命令,分析根目录下的每个二级目录下有多少个文件。
for i in /*; do echo $i; find $i | wc -l; done哪个目录文件数最多,文件数越多说明Inode占用越高。
2.逐层进入Inode占用最高的目录,继续执行上述命令,逐步定位占用过高空间的文件或目录,最后进行相应清理。
增加Inode数量此操作风险高,需要通过备份数据、重新格式化磁盘增加Inode数、拷回数据等步骤,完成数据的保留并增加文件系统Inode数量。下面我们以卸载 /test 为例,进行示例操作。
1.卸载 /test
umount /test2.重新建立文件系统,增加Inode节点数。
本示例以磁盘分区为/dev/vdb、文件系统类型为ext4、Inode节点数为1638400为例
mkfs.ext4 /dev/vdb -N 16384003.重新挂载目录。(默认fstab已配置)
mount -a4.查看并确认修改后的Inode节点数。
dumpe2fs -h /dev/vdb | grep node