Es ist ziemlich einfach für eine Festplatte, eine große Anzahl von Inodes zu verwenden, selbst wenn die Festplatte nicht sehr voll ist.
Ein Inode wird einer Datei zugewiesen. Wenn Sie also Millionen von Dateien mit jeweils 1 Byte haben, gehen Ihnen die Inodes aus, lange bevor Ihnen die Festplatte ausgeht.
Es ist auch möglich, dass das Löschen von Dateien die Inode-Anzahl nicht verringert, wenn die Dateien mehrere feste Links haben. Wie gesagt, Inodes gehören zur Datei, nicht zum Verzeichniseintrag. Wenn mit einer Datei zwei Verzeichniseinträge verknüpft sind, wird durch Löschen eines Eintrags der Inode nicht freigegeben.
Darüber hinaus können Sie einen Verzeichniseintrag löschen. Wenn jedoch bei einem laufenden Prozess die Datei noch geöffnet ist, wird der Inode nicht freigegeben.
Mein erster Rat wäre, alle Dateien zu löschen, die Sie können, und dann die Box neu zu starten, um sicherzustellen, dass keine Prozesse übrig bleiben, die die Dateien offen halten.
Wenn Sie dies tun und immer noch ein Problem haben, lassen Sie es uns wissen.
Übrigens, wenn Sie nach Verzeichnissen suchen, die viele Dateien enthalten, kann dieses Skript helfen:
#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$