Как проверить и увеличить количество inode в Linux


Увеличить количество inode на диске можно расширив диск, удалив с него какие-то файлы или (в случае с новым диском) переформатировать файловую систему.

inode — элемент файловой системы напрямую связанный с файлами на диске. Если на диск сервера загружать файлы в большом количестве inode-ы могут заканчиваться.



Как проверить количество inode


Посмотреть количество inode-ов можно выполнив в консоли

df -i


количество inode


В примере в корне сервера занято 24% inode, всё в порядке. Других дисков нет.

Если значение близко к 100%, в работе сервера будут проблемы. Прежде всего перестанет корректно функционировать ПО, которое записывает на диск временные файлы. Например, MySQL.

Проверять нужно для всех подключенных и смонтированных в файловой системе дисков.



Как увеличить количество inode



Если система использует ~100% inode — нужно исправлять ситуацию. Самый простой способ — увеличить диск виртуальной машины или удалить часть файлов — диск часто забивают PHP сессии.



Также можно подключить дополнительный диск. Для него задать специальные параметры при создании файловой системы, которые увеличат число inode. Затем диск нужно будет примонтировать в точку файловой системы, в которой размещается содержимое, занявшее inode (обычно PHP сессии или изображения).



Для основного диска сервера с операционной системой так делать нельзя, будут потеряны все данные.




Пусть дополнительный диск имеет имя /dev/vdb. На нем удаляем файловую систему, её будем создавать заново с нужными параметрами.

wipefs -a /dev/vdb



Затем создается заново с указанием количества inode-ов (ключ -N).

mkfs.ext4 -N 1000000 /dev/vdb



Устройство монтируем туда, куда код приложения будет сохранять файлы

mount /dev/vdb /MOUNTPOINT



Дополнительно обязательно нужно прописать директиву в /etc/fstab для автоматического монтирования после перезагрузки.



На скриншоте пример монтирования диска в директорию с изображениями для сайта:

монтирование диска и увеличенных количеством inodes


Важно помнить, что количество inode и объем дискового пространство взаимосвязаны.

Слишком сильно увеличивать параметры для диска не стоит, иначе доступного места на диске будет значительно меньше. Можно посмотреть через df -i сколько inode доступно изначально, и задать при создании файловой системы значение в несколько раз большее.

Сказать спасибо