Що таке іноди, і що робити, якщо вони закінчилися

У будь-який момент користування хостингом ви можете отримати повідомлення про те, що ліміт на кількість файлів закінчується. Найперше ви перевірите кількість вільного місця на диску і виявиться, що його цілком достатньо. То у чому ж річ? Причина, як не дивно – в інодах. У цій статті ви дізнаєтеся, що вони собою являють, для чого створені та що робити у ситуації, з якої ми почали свою розповідь.

Що таке інод?

Інод, або індексний дескриптор (скорочено від “index node” – індексний вузол) – це структура даних, яка зберігає інформацію про об’єкти файлової системи, такі як файли, каталог і т.д. Його можна порівняти з каталогом у величезній бібліотеці, який пов’язує дані назви і автора книги з їхнім місцем розташування (кімната, секція, поличка). Іншими словами, інод – це дані про метадані. 

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

Інформація, що міститься в inode:

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

Важливо зазначити, що іноди не залежать від імені файлів. Це означає, що ви можете скопіювати один файл, перейменувати його, і він все одно буде вказувати на той самий інод, що й оригінал.

Як це працює?

Щоразу, як створюється новий файл, йому надається номер inode та ім’я, після чого він зберігається у вигляді унікальних записів у директорії. Тут важливо пам’ятати, що одним зі способів вичерпання вільного місця на файловій системі є саме використання всіх інодів. Це передбачає, що навіть за умови наявності вільного місця на диску, ви все одно не зможете створити новий файл. Коли всі  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 надати інформацію про використання інодів. Також ми з радістю допоможемо вам у разі, якщо є ризики перевищити ліміт.