一个由INode节点爆满引起的业务故障

一个由INode节点爆满引起的业务故障,第1张

一个由INode节点爆满引起的业务故障

好久没写了。今天周六,分享一个很快解决的小通病。


情况描述:

姐姐反映的 *** 作后台有错误。实际上是这样的:



一开始以为是tmp的文件目录没有管理权限加载。查目录行政许可不是什么难事,777;


查询nginx的错误日志。一些不正确的信息如下,还有500个错误:

113.xx.xx.48--[05/Mar/2016:19:33:090800]"POST/index.PHP?r=site/loginHTTP/1.1"500112266"HTTP://XXX.XXX.com/index.PHP?r=site/login""Mozilla/5.0(Macintosh;英特尔MacOSX10_9_5)appleWebKit/537.36(KHTML,像壁虎一样)Chrome/48.0.2564.116Safari/537.36"

14.xx.xx.67--[05/Mar/2016:19:33:140800]"GET/index.PHP?r=site/loginHTTP/1.1"500120922"-"Mozilla/5.0(WindowsNT6.1)appleWebKit/537.36(KHTML,像壁虎一样)Chrome/38.0.2125.122Safari/537.36SE2。XMetaSr1.0"



查询mysql的错误日志。日志在下面。但是,在之前进行查询之前,还存在以下错误。之前没有问题。为什么一定要在这一刻出错?应该不是这个问题造成的。再查一遍。...


登录数据库进行查询,查看数据库表格,可以选择表格数据信息。但是,在desc构造的条件下,有几个表是连续desc的,结果都是一样的。以下信息不正确:


是手表坏了吗?屁对屁实现表恢复指令,如下:

/usr/local/MySQL/bin/MySQLcheck-all-databases-uUSERNAME-pPASSWORD-r


有些表格的固定方式如下:



恢复后,妈妈,同样的错误消息,



仔细看,妈妈,是不是临时文件不能写?但是为什么desc会涉及建立临时证件的问题呢?还是要学习!!

错误1(HY000):无法创建/写入文件“/tmp/#sql_3b25_0”。“MYI”(错误代码:28)




储藏室空满了吗?获取报警信息。。。我怀着怀疑的心态打听了下储藏室空,但实际情况如下:

[root@xxxxxx~]#df-h

已使用的文件系统大小可用百分比装载于

/dev/xx120G6.9G12G37%/

tmpfs3.9G03.9G0%/开发/shm

/dev/xxx63G26G34G44%/mnt


没有满。。。奇怪。。看看我的.cnf文件有没有变化。


Vim报告了一个不正确的案例。以下内容:

E303:无法打开“my.cnf”的交换文件,无法恢复


一开始没注意,又写了一遍,看了文件内容,没有修改。管理权限和所有权都很正常,所以很奇怪。。


然后vim看了看其他文件,也有不正确的提醒。。。。无法创建交换文件。。



所以我就试试touch。哎哟,我不能创建新文件。mkdir呢?是一样的。。空房间没有提醒。。。

触摸:不能触摸“e”:设备上没有剩余空间


很快,df-h就不是很明显了。还有室内房间空。是不是文件的连接点都满了?坚决df-i一次。。。

[root@xxxx~]#df-i

文件系统信息节点IUsedIFreeIUse%安装在

/dev/XXX13107201718261138894100%/

tmpfs1007261110072601%/dev/shm

/dev/XXX4194304463685373061912%/mnt



果不其然,/file目录中的连接点数量是100%。所以如果发现问题,检查一下是什么文件占用了这么多文件连接点。


最后在/var/spool/clientmqueue中准确定位。下面有很多小文件。

说明cron在系统软件中实现的程序流是有输出内容的,输出内容会通过电子邮件发送给cron的客户,但是没有启动sendmail,所以产生了这种文件。



也就是要了解这个文件的起因,删除它,最重要的是保证今天所有的业务流程都能正常运行。


转到cd/var/spool/clientmqueue并应用rm-rf。/*,哎哟,不删了?错误:

/bin/rm:参数列表太长

最终应用ls|xargsrm-rf将其删除。。。。

说明rm默认设置接受的主要参数是有限的,文件名可以通过这个命令输出并整理出来。。


使用df-i再次查询,/file目录的连接点也被释放。再浏览一遍业务流程就赢了!!

[root@xxxxclientmqueue]#df-i

文件系统信息节点IUsedIFreeIUse%安装在

/dev/XXX1310720171826113889414%/

tmpfs1007261110072601%/dev/shm

/dev/XXX4194304463685373061912%/mnt



说明inode翻译成中文是数据库的索引连接点。每个存储设备(比如电脑硬盘)或者存储设备的系统分区恢复出厂并设置为文件系统软件后,应该有两个副本,一个是inode,一个是Block,用来存储数据和信息。而inode就是用来存储这类数据信息的信息,包括文件大小、所有者、用户组、读写能力管理权限等。Inode为每个文件的信息数据库建立索引,因此它具有inode的标记值。根据该命令,计算机 *** 作系统可以根据inode值更快地找到相应的文件。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/778826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存