向磁盘写入数据提示:No spac left on device通过df -h查看磁盘空间,发现没满,解决方法

Posted su-root

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向磁盘写入数据提示:No spac left on device通过df -h查看磁盘空间,发现没满,解决方法相关的知识,希望对你有一定的参考价值。

初步判断应该有两种情况:一种是block满了,另一种情况就是inode耗尽了。

首先df -i 查看一下是否耗尽inode/block数量。

虚拟一块磁盘并格式化:

dd if=/dev/zero of=/opt/sdb1 bs=4096 count=100

mkfs -t ext4 /opt/sdb1

技术分享图片

将磁盘挂载到/app/log/下

mkdir /app/log -p

mount -t ext4 -o loop,defaults /opt/sdb1 /app/log/

技术分享图片

 查看使用率情况:

df -i

技术分享图片

批量生成文件:

for n in `seq 60`;do touch bqh$n;done

技术分享图片

技术分享图片

df -h命令查看磁盘使用率时显示的却是1%,但此时得用df -i查看是否耗尽了inode。

技术分享图片

发现inode数量已耗尽,需要删除多余的文件。

如果不知道那个目录满了如何解决:

find ./ -size 0  先查找到

find ./ -size 0|xargs rm –f 再删除

技术分享图片

存放文件的个数受inode和Block的限制,不能超过。

生活中,存放文件,正常情况下,先把Block耗尽,因为一个文件只占一个inode,但是

可能占多个Block。

当然删除方法有很多,若遇到大文件数量,如果直接用rm删除,可能会不让删,强行退出,可以

直接删除上级目录,然后再创建新目录,从新授权等,所以得根据实际情况而选择。

以上是关于向磁盘写入数据提示:No spac left on device通过df -h查看磁盘空间,发现没满,解决方法的主要内容,如果未能解决你的问题,请参考以下文章

No space left on device

请描述工作中解决的故障(写入数据出现 no space left on device 故障)

提示NO SPACE LEFT ON DEVICE但有磁盘空间

提示如下错误:No space left ondevice,通过 df -h 查看磁盘空间,发现没满,请问可能原因是什么?

生产环境下案例 No space left on device (inode使用满的情况)

no space left on device磁盘空间不足