Inodes - индексиране на файловата система

Помощен център

Inodes - индексиране на файловата система

Inode (index node) е основна концепция в Linux/UNIX файлова система. Всеки обект във файловата система се представя от Inode.

Всеки файл в Linux/UNIX среда има следните атрибути:

  • a: append only (само добавяне)
  • c: compressed (компресиране)
  • d: no dump ()
  • e: extent format (степен на форматиране)
  • i: immutable (не се изменя)
  • j: data journalling (преброяване на данни)
  • s: secure deletion (сигурно изтриване)
  • t: no tail-merging (няма обединяване на опашката)
  • u: undeletable (не се изтрива)
  • A: no atime updates (не се актуализира по всяко време)
  • C: no copy on write (няма копие при запис)
  • D: synchronous directory updates (актуализации на синхронни директории)
  • S: synchronous updates (синхронни актуализации)
  • T: top of directory hierarchy (начало на йерархията на директориите)

Цялата горепосочена информация се съхранява в Inode. Накратко, Inode идентифицира файла и неговите атрибути. Всеки Inode се идентифицира чрез уникален номер в рамките на файловата система. Inode е известен и като индекс номер.

Inode е вътрешна структура от данни, която Linux/UNIX използва за съхраняване на информация за обектите на файловата система.

Причини за ограничаване броя Inodes

За да поддържа надеждността и производителността на сървърите за споделен хостинг за всички потребители, ICN.bg лимитира броя Inodes за различните хостинг планове.

Ако броят на Inodes във вашия профил достигне този лимит, трябва да намалите техния брой, като премахнете ненужните файлове и/или директории.

Ето някои причини, поради които ICN.bg ограничава броя на Inodes в споделените хостинг планове:

Големият брой Inodes на сървъра може да причини прекомерно дълги проверки на файловата система, тъй като системата проверява всеки отделен Inode. Например, ако даден клиентски акаунт има милион кеширани файла, проверката на файловата система може да отнеме часове и да причини голямо забавяне за всички клиенти на сървъра.

Големият брой файлове забавя създаването на архиви, както и възстановяване на сайт от архив тъй като няколко големи файла се възстановяват много по-бързо от голям брой малки файлове.

Всички допустими стойности на системните настройки за различните хостинг планове са подробно описани в документа Общи условия за ползване нa услугата Споделен хостинг, предоставяна от ICN.Bg

Допустимите Inodes лимити са описани в т. 4.4.1 и в таблиците по-долу показваме само тези стойности за споделен и reseller хостинг планове:

ХОСТИНГ ПЛАНINODES
Ултима100 хиляди
Икономичен150 хиляди
Бизнес200 хиляди
Стандарт300 хиляди
RESELLER ПЛАНINODES НА АКАУНТ
RS1 план70 хиляди
RS2 план70 хиляди
RS3 план70 хиляди
RS4 план70 хиляди

Как да установим броя на Inodes в хостинга?

Inode Resources

ICN.bg винаги се стреми да създаде допълнителни персонализирани приложения в рамките на cPanel, с които да улесни максимално своите потребители в управлението на хостинг акаунтите.

За да има лесен достъп до информацията за броя Inodes в хостинга, потребителят трябва само да се логне в cPanel и да отвори инструмента Inode Resources в секция Metrics:

inodes limit

На следващия екран се зарежда красива анимирана графика, показваща общия брой Inodes в хостинга:

inodes limit

Чрез използване на SSH команди

За да определите общия брой на Inodes в хостинга, въведете следната команда find . | wc -l:

find . | wc -l
88129

Ако имате голям брой файлове и директории в профила си, ще отнеме известно време командата да върне резултата от броенето.

За да видите разбивка на използваните Inodes във всички директории, намиращи се в текущата директория, въведете следната команда:

find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn

find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn
  66619 ./public_html
   7205 ./.opcache
   3697 ./tmp
   2972 ./.trash
   2680 ./mail
   2105 ./sites
    317 ./ssl
    283 ./etc
    256 ./.cpanel
    173 ./logs
     48 .
     27 ./.softaculous
     14 ./softaculous_backups
      9 ./.razor
      8 ./.cphorde
      7 ./wpbackups
      7 ./.gnupg
      5 ./.htpasswds
      3 ./.spamassassin
      3 ./.attracta
      1 ./public_ftp
      1 ./.subaccounts
      1 ./.ssh
      1 ./.sqmaildata
      1 ./.pki

Докато предишната команда показва общото използване на Inodes в акаунта, тази команда показва кои директории използват най-много Inodes. Резултата е сортиран според броя на използваните Inodes - директориите/файловете с най-голям брой Inodes са в началото на списъка, тези с най-малко Inodes - в долната част.

За да видите Inodes в конкретна поддиректория, трябва да влезете в нея с командата cd (например, напишете cd public_html) и след това изпълнете двете команди, описани в примерите горе.

За да видите наличните Inodes за конкретен файл може да използвате командатa stat (командата не работи на споделен хостинг от съображения за сигурност):

stat 2018-03-03-20939.png 
  File: ‘2018-03-03-120939_1280x919_scrot.png’
  Size: 55450       Blocks: 112        IO Block: 4096   regular file
Device: 801h/2049d  Inode: 526793      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/  ladmin)   Gid: ( 1000/  ladmin)
Access: 2018-04-25 08:33:25.550207845 +0300
Modify: 2018-03-03 12:09:40.373262667 +0200
Change: 2018-03-03 12:09:40.373262667 +0200
 Birth: -

Намаляване броя на Inodes

Ако броят на Inodes в профила Ви е твърде висок, трябва да се опитате да определите възможно най-бързо причината, за да можете да редуцирате стойността в рамките на лимита за вашия хостинг план.

Някои често срещани причини за големия брой Inodes са:

Cron задачи

Непрецизна работа на Cron задачи или други автоматизирани процеси могат да създадат голям брой файлове за много кратко време. Модифицирайте/деактивирайте cron задачата (ако се установи такава връзка) или изтрийте ненужните файлове.

Неизтрити съобщения

Стари съобщения в пощенските кутии на потребителите често не се изтриват от папка Trash (виждали сме над 10GB стари писма в кошчето!). Можете да изтеглите тези съобщения на вашия локален компютър (ако искате да ги запазите), след което да ги изтриете от сървъра.

Служебни директории

Други директории, в които обикновено се забравят файлове са /tmp, /logs, /cache - малкият файлов размер на тези директории обикновено заблуждава - 50MB дисково пространство може да съдържа 50000 текстови файла (Inodes).

Как се процедира при надвишен лимит на Inodes?

Автоматичната система на ICN.bg дава информация на техническа поддръжка и колегите изпращат съобщение на контактния имейл на акаунта, в което прилагат необходимата техническа информация.

Клиента разполага със седем дни гратисен период, в който да реши кои файлове да запази и кои да изтрие, за да се върне в рамките на лимита.

Ако клиента няма достъп до имейла или поради друга причина в рамките на тези седем дни няма обратна информация и броя Inodes не бъде редуциран, се спира създаването на архиви в хостинга.