Что такое иноды, и что делать, если они закончились?

В любой момент использования хостинга вы можете получить сообщение о том, что лимит на количество файлов заканчивается. В первую очередь вы проверите количество свободного места на диске и окажется, что его вполне достаточно. Так в чем же дело? Причина, как ни странно – в инодах. В этой статье вы узнаете, что они собой представляют, для чего созданы и что делать в ситуации, с которой мы начали.

Что такое инод?

Инод, или индексный дескриптор (сокращенно от “index node” – индексный узел) – это структура данных, хранящая информацию об объектах файловой системы, таких как файлы, каталог и т.д. Его можно сравнить с каталогом в огромной библиотеке, связывающим данные названия и автора книги с их местоположением (комната, секция, полка). Другими словами, иноды – это данные о метаданных.

Иноды хранят информацию, которая касается владельца, сведения о том, какие права предоставлены конкретному файлу, данные о его размере и т.п. Для каждого элемента файловой системы существует свой инод, в котором хранятся его метаданные в виде табличных структур. 

Информация, которая содержится в inode:

  • размер файла;
  • устройство, на котором хранится файл;
  • идентификаторы пользователя и группы, относящиеся к файлу;
  • разрешения, необходимые для доступа к файлу;
  • метки времени создания, чтения и записи;
  • расположение данных (но не путь к файлу).

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

Как это работает?

Каждый раз, когда создается новый файл, ему предоставляется номер inode и имя, после чего он сохраняется в виде уникальных записей в директории. Здесь важно помнить, что одним из способов исчерпания свободного места на файловой системе является именно использование всех Inodes. Это значит, что даже при наличии свободного места на диске, вы все равно не сможете создать новый файл. Когда все Inodes в вашей системе используются, это может привести к внезапной остановке системы.

Может возникнуть ситуация, что у одного пользователя слишком много файлов, но сервер начинает плохо работать для всех. Поэтому и вводится ограничение на количество инодов для различных тарифов. Вы можете просмотреть их в Правилах пользования Услугами виртуального хостинга и сети Интернет (пункт 1.1.12) и в таблице лимитов ресурсов для тарифов.

Команды, которые пригодятся

Для получения основных данных об использовании inode, включая файловую систему, на которой хранятся inode, их общее количество, сколько inode используется (в количестве и %) и сколько их осталось, используйте команду df -i

[bluematador   ~]$ df  -i  /dev/bluem1Filesystem   Inodes  IUsed  IFree IUse% Mounted on/dev/bluem1    654972   516   654456   1% /boot

Вы можете использовать команду -inum для поиска файлов, связанных с определённым inode. И напротив, для получения номера файла inode использовать команду ls  -i.

ls -i Command: display inode$ls  -i /dir/bluem_article129792 /dir/bluem_article129792 is the inode of /dir/bluem_article.

Что может произойти с инодами?

Количество inodes на диске статическое. Это означает, что если у вас много файлов, то иноды могут закончиться раньше, чем закончится дисковое пространство. Как только закончится файловая система, все новые файлы и папки будут отклонены. До этого времени никаких негативных последствий не будет. Когда inodes будет использовано на 100%, вы начнете замечать:

  • Потерю данных
  • Сбои в работе приложений
  • Перезапуск ОС
  • Отказ в перезапуске процессов
  • Периодические задания не будут выполняться

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

Как сократить использование инодов?

Существует два типа квоты inode: мягкая и жесткая. Если вы превысите мягкую квоту, то все равно сможете создавать файлы. Если же превысите жесткую – не сможете.

Многие функции вашего хостинг-аккаунта требуют создания файлов. При превышении жесткого лимита вы не сможете добавлять новые веб-страницы, получать электронную почту, устанавливать программное обеспечение и выполнять множество привычных задач.

Лучше сократить использование inode, удаляя файлы задолго до того, как вы достигнете жесткого лимита. Удалить файлы можно за счет:

  • Удаления неиспользуемых файлов с жесткого диска, например, с помощью диспетчера файлов cPanel.
  • Удаления или архивирования электронной почты.
  • Удаления старых резервных копий.
  • Очистки кэшей системы управления контентом и веб-сервера. В кэшах обычно создается множество маленьких файлов. 

Выводы

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

Опытные пользователи с большими сайтами или планирующие разместить несколько сайтов в одной хостинг-компании должны обязательно учитывать ограничения inode. Используйте рекомендации, приведенные в этой статье, и помните, что в любое время суток вы можете попросить техническую поддержку Hostpro предоставить информацию об использовании инодов. Также мы с радостью поможем вам, если есть риски превысить лимит.