MySQL Error--存储inode用完后报设备没有空间
问题描述:
磁盘有足够剩余空间,但在创建文件或文件夹时报错,提示“设备没有空间”。
问题原因:
当存储设备通过分区格式化为文件系统后,会分为两部分:
1、block部分: 存储的最小单位为扇区(Sector),8个连续的扇区为block,为提高效率,操作系统通常按照block来进行数据访问。
2、inode部分: 存储block的元数据信息,如文件创建者/创建时间/文件大小/文件block位置等。
每个分区的inode数量有限,当block有剩余,但inode用完时,系统也会提示磁盘空间不足。
问题排查:
查看各分区的inode使用情况
## 查看根目录下的inode使用:
df -lhi 正常的输出信息:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1.3M 421K 831K % /
tmpfs 7.9M 7.9M % /dev/shm
/dev/sda3 222M 40K 222M % /export 如果IUse%为100%,则表示该分区所有inode用完。
查看根目录下各目录的inode使用情况:
for i in /*;
do
node_count=`find $i | wc -l`
echo "$i : $node_count "
done
输出结果:
/bin :
/boot :
/dev :
/etc :
/export :
/home :
/lib :
/lib64 :
/lost+found :
/media :
/mnt :
/opt :
/proc :
/root :
/sbin :
/selinux :
/srv :
/sys :
/tmp :
/usr :
/var :
可以发现/var目录下使用较多,查看/var目录的使用:
for i in /var/*;
do
node_count=`find $i | wc -l`
echo "$i : $node_count "
done
最后定位到/var/spool/clientmqueue下面使用较多。
问题扩展
由于早期在配置cron进行定时作业时,未在文件头部配置MAILTO="",导致在/var/spool/clientmqueue下面创建大量小文件,导致inode被用完。
如果直接使用rm命令删除特定目录下大量小文件,会存在性能问题,推荐使用下面方式:
ls /var/spool/clientmqueue | xargs /bin/rm -rf
MySQL Error--存储inode用完后报设备没有空间的更多相关文章
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
- 数据库迁移后报错提示MySQL Error:Can''t find file errno: 13 - Permission denied的解决方法
用户MYSQL数据库迁移后,遇到报错MySQL Error:Can't find file (errno: 13 - Permission denied)使用以下指令重新设置所有者和权限,依然不能解决 ...
- MySQL InnoDB存储引擎大观
转的一篇文章作者:七把刀链接:https://www.jianshu.com/p/d4cc0ea9d097 MySQL InnoDB 引擎现在广为使用,它提供了事务,行锁,日志等一系列特性,本文分析下 ...
- mysql innodb存储引擎介绍
innodb存储引擎1.存储:数据目录.有配置参数为“ innodb_data_home_dir ” .“ innodb_data_file_path ” 和 “innodb_log_group_ho ...
- MySQL的存储引擎与日志说明
1.1 存储引擎的介绍 1.1.1 文件系统存储 文件系统:操作系统组织和存取数据的一种机制.文件系统是一种软件. 类型:ext2 3 4 ,xfs 数据. 不管使用什么文件系统,数据内容不会变化, ...
- MySQL之四 存储引擎
1.介绍 存储引擎MySQL中的"文件系统" MySQL体系结构 InnoDB存储引擎介绍 My1SAM 和InnoDB区别 mysql MariaDB [(none)]> ...
- MySQL Error Handling in Stored Procedures
http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/ mysql存储过程中的异常处理 定义异常捕获类型及处 ...
- MYSQL ERROR CODE 错误编号的意义
mysql error code(备忘) 转1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件 ...
- MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO
MySQL安装完server端和客户端后,登录Mysql时报错:[root@rhel204 MySQL 5.6.23-RMP]# mysqlERROR 2002 (HY000): Can't conn ...
随机推荐
- RedisHelper Redis帮助类
using StackExchange.Redis; using System; using System.Collections.Generic; using System.IO; using Sy ...
- Spring cloud微服务安全实战-7-8ELK+SpringBoot环境搭建
采集不可聚合的离散的.日志信息的e ELK是三个系统的简称 LogStash:用来做日志的收集.过滤.格式转换 Kibana:和普罗米修斯的grafana一个意思.主要用来展示数据. 用docker来 ...
- mysql全文索引:fulltext
fulltext全文索引 要使用全文索引,不仅需要把某个字段的索引类型设置为fulltext,还需要修改mysql配置文件: [mysqld] ft_wordlist_charset #表示词典的字符 ...
- Laya微信小游戏的动态资源
版本2.1.1. 由于有4m包限制,所以一般小游戏项目分成主包+远程资源. 现在我新建一个remote目录,该目录下资源不发布到微信小游戏目录下,而是服务器远程加载. 发布时,勾线是否提取本地包 远程 ...
- python提取mysql中指定列参数,并循环打印
试验环境: Python 3.7.0 Mysql 5.0 实验目的: 使用python将数据库中指定的列中的数值取出来,并循环遍历,用以当成参数传递给需要它的方法. 本次实验取的是para列的数据 实 ...
- 基于EasyNVR摄像机流媒体服务器实现RTSP或Onvif监控摄像头Web无插件化直播监控
前言介绍 随着互联网的发展,尤其是移动互联网基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的产品,而传统的安防IPC所输出的各种RTSP.GB28181.SDK视 ...
- [LeetCode] 150. Evaluate Reverse Polish Notation 计算逆波兰表达式
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- C# 注册DLL至GAC 并在添加引用中使用该DLL
本文链接:https://blog.csdn.net/World3000/article/details/819835901,创建一个强签名的类库 类库属性中新建秘钥文件 或者使用工具 使用命令sn ...
- Harbor的安装和基本使用
Harbor是一个开源的云原生registry工程.Harbor对开源的Docker Distribution扩进行了扩展,支持registries之间镜像的复制功能,而且还提供了一些高级的安全方面的 ...
- 北京WINUI外包团队:长期开发各类基于WINUI框架应用项目
今年早些时候的Build 2018中,微软高层表示,使用.NET Core 3.0,开发人员将获得使用WPF.Windows Forms和XAML Islands(WinForms和WPF应用程序中的 ...