linux服务器告警信息:Free inodes is less than xx% on /volume 排查

本文探讨了Linux服务器因inodes使用率超过阈值引发的告警,通过排查邮件队列和定时任务,发现与cron作业和邮件发送服务有关。解决办法包括检查定时任务需求、修复邮件配置并清理clientmqueue文件。
摘要由CSDN通过智能技术生成

项目场景:

linux服务器告警信息:Free inodes is less than xx% on /volume


问题描述:

linux服务器告警信息:Free inodes is less than xx% on /volume


原因分析:

经过查找,出现当前告警信息的原因是因为inodes的使用率达到了阈值,所以报警了。我的理解是某个文件系统inodes总数可能是100,由于一直创建文件,文件也不删除,可挂载点下的文件超过了80个,就会出现Free inodes is less than 20% on /volume的预警。


排查步骤:

第一步:查看所有文件系统inodes的使用率

df -i

此命令会列出所有文件系统inodes的总数,使用,剩余以及挂载点等信息。
我当前服务器上有个文件系统的inodes使用率达到了81%,挂载点是根目录。

第二步:查询挂载点inodes的占用情况,可以把每个文件夹都遍历一遍

for i in /* ; do echo $i find $i | wc -i;done > result.txt

第三步:肉眼查找一下,占用最多的那几项

可以看下这几项中,就这两天总共产生了多少个文件

第四步:我当前服务器是定位到了 /etc/spool/clientmqueue

经过查询,说是当前目录是邮件队列,即将发送而未发送的邮件,邮件如果发送失败,就一直会在。

第五步:查看一下发送邮件的服务

ps -ef | grep sendmail
//当前结果就是,有个Fcrondemon进程,那么大致能够确认跟定时任务有一定的关系

第六步:查看有哪些定时任务在执行

crontabl -l
//确认存在有计划任务在执行

第七步:关注几个日志,一个是计划任务的日志,一个是发送邮件的日志。

计划任务失败,会发送邮件给其他用户(哪些用户能收到,哪些用户收不到这个我不知道怎么配置),
由于某些问题(本身发送邮件的服务没有配置,或者配置有问题,都会导致发送邮件失败)
导致发送邮件失败,那么邮件队列中的邮件始终不能出队列,意味着这个 /etc/spool/clientmqueue
文件下只会一直产生文件。假设你的定时任务一分钟执行一次,都执行失败的话,
一天可能产生大概3600文件,这只是一个定时任务,如果开启多个,就算你删除了,没过多久就又会出现。

注:这个/etc/spool/clientmqueue 下的文件,我始终不能理解成要发送的邮件,更像是cron日志,因为
文件的内容本身有类似日志的一些输出,很随意的输出。里面还包含了一些类似发送失败的消息,因为什么发送失败了。接着就是标准的邮件格式。但是cron本身有自己的日志,所以这个文件不知道怎么理解。

解决方案:

1、看一下是不是真的需要执行这个定时任务。
2、检查一下发送邮件的配置,调试好发送邮件,成功使其发送邮件。
3、删除/etc/spool/clientmqueue下的文件,治标不治本。删除的时候可能因为由于太少,会失败。
参考:/var/spool/clientmqueue/目录下存在大量文件的原因及解决方法

注:
在这里插入图片描述
网上千篇一律都是这句话,但还是理解不来,有知道的大佬评论区支援一下~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值