即使有很多空间,也没有更多可用空间

即使有很多空间,也没有更多可用空间

我最近遇到了一些奇怪的问题。我将这台机器用作 Web 服务器。当我尝试在目录中写入文件时,它说没有更多空间。我删除了一些文件,它工作了一段时间。几分钟后,我再次遇到问题:

root@web1:/home# mkdir test
mkdir: cannot create directory ‘test’: No space left on device
root@web1:/home# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/web1-root   43G  4.5G   37G  11% /
none                   4.0K     0  4.0K   0% /sys/fs/cgroup
udev                   3.9G  4.0K  3.9G   1% /dev
tmpfs                  798M  828K  798M   1% /run
none                   5.0M     0  5.0M   0% /run/lock
none                   3.9G     0  3.9G   0% /run/shm
none                   100M     0  100M   0% /run/user
/dev/sda1              228M   91M  126M  42% /boot
/dev/sdb1              197G   75G  113G  40% /home

df -i报告使用率为 100% 的分区:

root@web1:/home# df -i | grep 100%
/dev/sdb1 13107200 13107200 0 100% /home

答案1

就像@Rinzwind 和@heemayl 建议的那样,我在 google 上搜索时用完了 inode,我找到了答案...... http://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html

这是解决方案

检查可用的 Inode

$ df -i

查找哪个目录有更多 inode

$ for i in /*; do echo $i; find $i |wc -l; done

递归重复搜索,直到找到问题

$ for i in /DIRWITHHIGHINODES/*; do echo $i; find $i |wc -l; done

一旦找到嫌疑人,只需删除文件即可

$ sudo rm -rf /home/bad_user/directory_with_lots_of_empty_files

大功告成。再次使用 df -i 命令检查结果。您应该看到类似以下内容:

答案2

我看到输出显示 inode 使用率很高,这似乎是最好的答案线程。它非常广泛。

https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-used

相关内容