Что делать, если inodes заканчиваются, хотя свободное место на диске ещё есть? Проблема не в объёме данных, а в количестве файлов: каждая файловая система имеет лимит inode, и когда он исчерпан, новые файлы не создаются даже при свободных гигабайтах. Решение — найти каталоги с миллионами мелких файлов, удалить лишнее и настроить регулярную очистку, а при постоянном росте — расширить лимит inode или вынести данные на отдельный раздел.
Начните с диагностики: команда df -i покажет использование inode по разделам, а поиск по каталогам с подсчётом файлов выявит источник — чаще всего это временные файлы, сессии PHP, кэш, почтовые очереди, логи и брошенные бэкапы. Дальше по чек-листу: очистите каталоги временных и сессионных файлов, настройте ротацию и автоудаление логов, ограничьте срок жизни кэша и сессий, проверьте почтовые спулы и каталоги загрузок пользователей, удалите старые резервные копии и «осиротевшие» файлы. После чистки обязательно включите мониторинг inode с оповещением на 70–80 процентов — иначе ситуация повторится в самый неподходящий момент.
Если разово освободить inode недостаточно, применяется готовое решение: аудит файловой системы и типовых «пожирателей» файлов, чистка с сохранением нужных данных, перенос тяжёлых каталогов на отдельный раздел или файловую систему с большим лимитом inode, настройка ротации, лимитов и автоматического контроля. Этапы внедрения простые: диагностика и отчёт, согласование плана, работы на сервере, проверка результата и передача регламента обслуживания. Такой порядок убирает причину, а не симптом, и снимает риск внезапного отказа сайта, почты или панели управления; при необходимости эти работы можно поручить специалистам, чтобы не рисковать рабочим сервером.
