无法写入磁盘但磁盘未满

无法写入磁盘但磁盘未满

我无法写入任何文件,即使以 root 身份也无法执行任何其他需要写入的操作。任何需要写入的进程也无法执行此操作,因此它们都失败了。df表示我有足够的空间:

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       30G   14G   15G  48% /
udev            984M  4.0K  984M   1% /dev
tmpfs           399M  668K  399M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            997M     0  997M   0% /run/shm

我找到的所有“无法写入磁盘”的结果都与磁盘已满有关。我甚至不知道从哪里开始。这个问题今天早上突然出现。

PHP 的最后一条日志记录为“失败:设备 (28) 上没有剩余空间”。Vim 提示“无法打开(文件)进行写入”。其他应用程序也出现类似错误。

删除了约 1gb 以确保万无一失,问题仍然存在。我还重新启动了。Ubuntu 12.04

答案1

回答于编辑经过OP

编辑:事实证明,尽管我的磁盘空间没有用完,但 inode 却用完了。问题已经解决

You are out of inodes. It's likely that you have a directory somewhere with
many very small files.

什么是 inode?

Ext4 理论上文件数上限为 40 亿,这受其用于标识每个文件的 inode 编号大小限制(ext4 使用 32 位 inode 编号)。不过,正如 John 所说,Ext4 静态分配 inode 表,因此实际限制是在创建文件系统时设置的。

来源

相关内容