资讯专栏INFORMATION COLUMN

处理Linux中inode占用过高的情况

IT那活儿 / 2719人阅读
处理Linux中inode占用过高的情况
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

inode概念

Linux的文件存储系统中,硬盘是按照“扇区”进行存储数据,每个扇区的存储容量为512字节。
多个扇区组成一个“块(block)”,即文件存取的最小单位,操作系统读取硬盘中的文件时,一次性读取一个“块”。一个“块”一般为4KB。
所有的文件数据都存储到“块”中,那么还必须有一个位置用来存储文件的元信息,比如文件的创建者、字节数、创建日期等。
这种存储文件元信息的区域叫做inode。

inode包含文件的元信息,具体来说有以下内容

  • inode 编号;
  • 文件的链接数目;
  • 属主的ID (UID);
  • 属主的组 ID (GID);
  • 文件的大小;
  • 文件所使用的磁盘块的实际数目;
  • 最近一次修改的时间;
  • 最近一次访问的时间;
  • 最近一次更改的时间。
每个inode节点的大小,一般是128字节或256字节。

inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。也就说inode数量是有限制

故障现象及分析

1. 故障现象 

linux主机根目录分配了50G磁盘空间,平台告警根目录使用率100%。

2. 题排查
1)查看/var/log下的日志:
发现messages日志和history.log日志占用了23G的空间。
先清除这两个日志,让主机恢复正常。
[root@shsnc-amp28 ~]# > messages
[root@shsnc-amp28 ~]# > history.log
2)清理完日志后,根目录下还占用了27G,因为根目录下没有放置大文件,所以依旧不正常。
根据df -i判断节点占用数:
发现inode使用率达到了19%。
使用du --block-size=g --max-depth=0 【目录名】命令一层层递进,最终找到问题目录为/var/spool/postfix/maildrop/。
该目录下文件数量预估几百万,占用了大量了inode和磁盘空间
造成原因初步判断为:
  • 定期任务执行,没有将输出结果丢掉 > /dev/null 2>&1。

    任务执行失败时,会自动发送邮件,而没有配置邮件信息,就会不断的往/var/spool/postfix/maildrop/目录下丢,导致该目录下文件数量不断变多,最后占满。

解决办法

1. 临时解决

删除该目录下的文件,由于文件数量太大,使用ls命令都会卡死,所以直接使用xargs命令接受ls结果进行删除,不展示文件目录下的文件名:
ls | xargs -n 90 rm -rf
慢慢删除后,磁盘恢复正常。
2. 长久对策
找到对应的定期任务,并添加上 > /dev/null 2>&1,丢掉输出结果。

本文作者:胡京康(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129395.html

相关文章

  • 【VisualVM 简明教程】(4): 分析CPU

    摘要:快照,带线程命令,是显示全部进程,是显示线程,全格式输出显示进程树,不加显示所有实时快照推荐程度按数字从小到大。 有时候好好的程序放到生产服务器上一段时间后,就会发现服务器响应缓慢,进而进一步发现是cpu过高,于是就慌了,造成cpu过高的原因很多,不过大多是由于资源吃紧造成,例如:sql执行过慢,程序里存在死循环,数据库连接未释放,网络阻塞导致的第三方框架代码出现死循环,大量的操作导致...

    ormsf 评论0 收藏0
  • linux inode文件系统;备份恢复及日志分析

    摘要:通常文件系统磁盘空间中大约百分之一空间分配给了表。的备份级别默认为。邮件系统日志记录进入或发出系统的电子邮件活动。用户登录日志记录用户认证相关的安全事件信息。 1 、深入理解linux文件系统1.inode与blockinode存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做ino...

    terro 评论0 收藏0
  • LINUX文件系统及日志分析

    摘要:恢复文件系统下的所有内容在当前目录下会出现一个目录,里面保存了已经恢复的文件该图我们依旧是对磁盘进行一个创建分区的操作。 inode和block概述文件数据包括元信息与实际数据文件存储在硬盘上,硬盘最小存储单位是扇区,每个扇区存储512字节block (块)连续的八个扇区组成一个block(4K)是文件存取的最...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<