欢迎来到博达网站群学习网!
设为首页 | 加入收藏
当前位置: 首页 >> 知识库 >> 部署类 >> 操作系统 >> 正文

Linux下磁盘无法写入数据分析处理

发布时间:2016-08-03    浏览次数:

 

现象

磁盘无法写入数据,但查了使用量并没有满(本服务器/home/vsb9guard软连接到了/opt/vsb9guard),如下图:

分析:

是inode满了,使用df–i命令查看:

inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。而这台服务器的Block虽然还有剩余,但inode已经用满,因此在创建新目录或文件时,系统提示磁盘空间不足。

解决方法:

经过查找发现,可能是/opt/vsb9gaurd/download/这个目录的问题,查看了一下光子目录就有14W个,统计花了接近一小时,没敢进一步统计文件个数。如下图:

先删除再说,执行rm命令删除这个目录下所有数据,因为文件太多,删除时间很长,大约花了6小时以上。删除以后再执行df–i查询,这次正常了(删除任务还未结束):

这个问题主要是因为download目录下小文件太多了,而这个目录是属于临时目录,可以直接清理,目前已经删除。当然也有资料显示,可以扩展磁盘或者重新格式化磁盘指定inode大小,但是生产环境要做格式化操作,几乎不可能。

阅读资料:http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html

http://blog.chinaunix.net/uid-21808213-id-3016742.html