客户反馈腾讯云宝塔面板中数据库启动失败了,刚开始是怀疑磁盘不够导致的,通过面板监控查询磁盘总的消耗才一半,通过宝塔面板的磁盘信息才意识到是磁盘的inode使用率100%导致的。
数据库启动报错
210628 17:03:23 [ERROR] MYSQL_BIN_LOG::open_purge_index_file failed to open register file.
210628 17:03:23 [ERROR] MYSQL_BIN_LOG::open_index_file failed to sync the index file.
210628 17:03:23 [ERROR] Aborting
宝塔面板查询磁盘的Inodb占用满
1、升级磁盘空间的方式,磁盘由原本的50G升级到了100G,inode占用也由原本的100%转为50%了。
推荐理由:如果不清楚清理小文件,可以直接升级磁盘。
2、删除无用的临时文件,释放inode。
推荐理由:清楚那些文件可以清理,建议腾讯云快照后操作。
登陆SSH,运行下面的命令,分析根目录下每个目录下面有多少个文件
for i in /*; do echo $i; find $i |wc -l|sort -nr; done
查找发现 /tmp 目录下有很多sess_xxxxx的 session临时文件。
ls -lt /tmp | wc -l 4011517
进入/tmp目录,执行find -exec命令
sudo find /tmp -type f -exec rm {} \;
如果使用rm *,有可能因为文件数量太多而出现Argument list too long错误
除了/tmp的临时文件外,0字节的文件也会占用inode,应该也释放。
遍历寻找0字节的文件,并删除。
sudo find /home -type f -size 0 -exec rm {} \;
删除后,inode 的使用量减少为19%,可以正常使用了。
df -i
尽管那个分区的磁盘占用率未满,但是inode已经用完,应该是该磁盘的某些目录下存在大量的小文件导致。尽管小文件占用的磁盘空间并不大,但是数量太多,inode用尽。
扫码赞赏,鼓励支持
相关问题
Centos 7.x 下做端口映射/端口转发Windows server 2008/2012/2016/2019 服务器桌面不显示我的电脑(计算机)的解决方案No input file specified的解决方法网站如何添加工信部网站备案号和链接代码腾讯云对象存储内网与外网地址访问Windows远程桌面多个用户如何同时使用Chrome谷歌浏览器?