web-dev-qa-db-ja.com

たくさんあっても利用できるスペースはありません

最近、奇妙な問題が発生しています。このマシンを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
5
BuBy

出力は、iノードの使用率が高いことを示しています。これは、これが最良の回答スレッドのようです。非常に広範囲です。

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

1
Dcg Gcd

@Rinzwindや@heemayl suugestedのように、Googleで検索しているiノードを使い果たしてしまいました... http://www.ivankuznetsov.com/2010/02/no-space-left-on-device- running-out-of-inodes.html

これが解決策です

利用可能なiノードを確認する

$ df -i

どのディレクトリがより多くのiノードを持っているかを見つける

$ 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
BuBy