Избыток inodes
Иноды, также известные как индексные дескрипторы, представляют собой структуры данных в операционных системах Unix, предназначенные для хранения информации о файлах и каталогах. Фактически, иноды являются метаданными, поскольку они содержат информацию о файлах и каталогах.
Иноды хранят разнообразные атрибуты файла, такие как размер, владелец, группа, права доступа, количество жестких ссылок, местоположение фрагмента данных файла, а также временные метки, такие как время последнего изменения, доступа и многое другое. Иными словами, иноды содержат всю информацию о файле, за исключением его имени и собственно содержимого.
Чем больше файлов создается, тем больше индексных дескрипторов требуется. Избыток файлов, таких как файлы кэша или почтовые очереди, может исчерпать доступные иноды и вызвать ошибки на сервере, а также сообщения о нехватке дискового пространства, даже если фактическое пространство на диске имеется. Для решения этой проблемы необходимо удалить ненужные файлы или каталоги.
Чтобы получить информацию о количестве используемых и доступных инодах при подключении по SSH, выполните следующую команду:
df -hTi
Значения в выводе команды:
- Inodes — общее количество инодов на файловой системе;
- IUsed — количество используемых инодов;
- IFree — количество доступных инодов;
- IUse% — процент использования инодов.
Чтобы решить проблему нехватки доступных инодов, необходимо удалить лишние файлы или каталоги, освободив тем самым иноды.
Для поиска каталогов, содержащих большое количество файлов, выполните следующую команду:
echo "Detailed Inode usage for: $(pwd)" ; for d in `find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort`; do c=$(find $d |wc -l) ; printf "$c\t\t- $d\n" ; done ; printf "Total: \t\t$(find $(pwd) | wc -l)\n"
Ненужные файлы и каталоги можно удалить с помощью команды rm, однако будьте осторожны, чтобы случайно не удалить важные данные.