Проверяет понимание ограничений файловой системы, связанных с inode, и умение диагностировать нехватку inode при наличии свободного места на диске.
Inode — это структура данных в файловой системе, которая хранит метаданные о файле: права доступа, владельца, размер, временные метки и указатели на блоки данных. Каждый файл или директория занимает один inode. При создании файловой системы выделяется фиксированное количество inode, которое не меняется динамически. Если вы создаёте множество мелких файлов (например, кэш, временные файлы, сообщения в очереди), inode могут закончиться раньше, чем закончится место на диске.
Для проверки использования inode выполните команду:
df -iВы увидите столбец IUse% — процент занятых inode. Если он близок к 100%, это подтверждает проблему. Также можно найти директории с большим количеством файлов:
find /path -type f | wc -lИли найти самые «тяжёлые» по количеству файлов каталоги:
for d in /path/*/; do echo "$d $(find "$d" -type f | wc -l)"; done | sort -k2 -n | tailЕсли inode закончились, нужно удалить ненужные файлы. Например, очистить кэш, логи или временные файлы. Если проблема системная, можно пересоздать файловую систему с большим количеством inode (например, при использовании ext4 с опцией -i). Для долгосрочного решения рассмотрите использование файловых систем, поддерживающих динамическое выделение inode, таких как XFS или Btrfs.
Нехватка inode — распространённая проблема на серверах с большим количеством мелких файлов. Умение диагностировать её через df -i и быстро находить «мусорные» файлы помогает избежать простоев и потери данных.