现象:

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

87dfa289d19afa2a5d3e5c7c81a11bf7.png

分析:

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

fa75461da6d0aea9ee9404730459b080.png

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

解决方法:

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

1d19c9594eb3884600ffe457873bff42.png

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

60b89d9f5e846da39a82c1300905c775.png

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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐