Куда делись все мои иноды?

Куда делись все мои иноды?

Сегодня у меня закончились иноды на одном из моих VPS.
Я удалил кучу лишних мелких файлов, освободив достаточно инодов, чтобы система снова заработала:

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/simfs       586K  529K   58K   91% /

Я также составил короткую команду, которая выдает мне количество используемых инодов (по сути, это список всех файлов с номерами их инодов, отфильтровывание дубликатов и подсчет строк результата):

sudo find / -xdev -type f -printf '%i~%P\n' > files.txt
<files.txt | sort -u -t'~' -k1,1 > inodes.txt
wc -l files.txt inodes.txt
1513608 files.txt  
275320 inodes.txt

Таким образом, похоже, что файлы содержат /только 275 тыс. инодов, но dfсообщают об использовании 529 тыс.

Как это может быть?

(Я даже перезапустил систему, чтобы освободить все иноды, которые все еще были заблокированы процессами, но это вообще не изменило количество используемых инодов.)

решение1

Используйте монтирование bind вместо -xdev. Кроме того, каталоги также используют inodes.

mkdir /mnt/somewhere
mount -o bind / /mnt/somewhere
find /mnt/somewhere -printf '%i\n' | sort -u | wc -l

Связанный контент