打赏

星辰大海ゞ

That which does not kill us makes us stronger!

导航

Linux inode索引节点使用率100%解决

Linux的inode节点中记录了文件的类型、大小、权限、所有者、文件连接的数目、创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的指针。一般情况不需要特殊配置,如果存放文件很多,则需要配置。有时磁盘空间有剩余但是不能存放文件,可能是由于inode耗尽所致。

# df -i 可查看当前inode占用情况

解决方法:

一、清除inode占用高的文件或者目录(推荐)
1、、登录服务器,执行如下命令,分析根目录下的每个二级目录下有多少个文件
# for i in /*; do echo $i; find $i | wc -l; done
2、逐层进入inode占用最高的目录,继续执行上述指令,逐步定位占用过高空间的文件或目录,最后进行相应清理。

本次故障经查发现 /var/spool/postfix/maildrop 目录占用 inode 最高,经过清理后,恢复正常。

该目录之所以占用大量inode 是由于linux在执行cron定时任务时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者,这些小文件就会堆积在maildrop目录下面。

永久性解决该问题需要进行如下配置修改

修改 /etc/crontab 将 MAILTO=root 替换成 MAILTO= "",然后 crontab -e 在最前面直接加入MAILTO="",最后重启crond服务,之后执行crond定时任务时将不会再发送邮件。

 

二、修改inode数量
如果不允许清理磁盘中的文件,或者清理后inode使用率仍然较高,则需要通过如下步骤,增加inode节点数量。
注:inode的调整需要重新格式化磁盘,请确保数据已经得到有效备份后,再进行以下操作。
1、执行如下命令,卸载系统文件
# umount /home
2、执行如下命令,重新建立文件系统,指定inode节点数
# mkfs.ext3 /dev/vda -N 2621440
注:本文指定inode节点数2621440,现场实际环境请以实际为准。
3、执行如下命令,查看修改后的inode节点数
# dumpe2fs -h /dev/xvdb | grep node

 

posted on 2022-01-18 11:11  星辰大海ゞ  阅读(1302)  评论(0编辑  收藏  举报