Объекты FS (inodes)
Опубликовано on 17 July 2015 12:12

Общая информация
Inode — объект файловой системы, файл или папка. Каждому такому объекту задается  номер «inode». Чем больше файлов и папок на сервере, тем больше используются inode

Как узнать текущий процент занятых inode?
Подключитесь к серверу по SSH и введите команду: df -i.


Вывод будет примерно таким:
[root@kolesnikov ~]# df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/vzfs      2000000 119184 1880816    6% /
none            131072    152  130920    1% /dev


Колонка «IUse%» показывает, что занято только 6% i-node.


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

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


Чем заняты inode?


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

Просмотреть количество сообщений в очереди можно при помощи команды:

>> Для Exim:
exim -bpc              

>> Для Sendmail:
mailq | wc -l

>> Для Postfix:
postqueue -p| wc -l
Чтобы узнать примерное число писем, полученный результат нужно поделить на 3.5.

Очистить очередь можно командами:
>> Для Postfix:
postsuper -d ALL

>> Для Exim:
exipick -zi | xargs exim -Mrm    # (очистит все замороженные сообщения)
exipick -i | xargs exim -Mrm     # (очистит вообще все сообщения из очереди)

>> Для Sendmail:
find /var/spool/mqueue -type f -exec rm -f {} \;

Кэш сайтов
Особенно актуально для CMS Bitrix. Рекомендуем периодически очищать директорию /bitrix/cache/. Также проверяйте размер кэша остальных CMS.

Поиск файлов, занимающих больше всего i-node

ls -d1 /* | while read i; do echo -en "$i\t"; find "$i" -name "*" | wc -l; done;


Команда покажет, в какой директории находится больше всего файлов.
Пример вывода:


[root@kolesnikov ~]# ls -d1 /* | while read i; do echo -en "$i\t"; find "$i" -name "*" | wc -l; done;
/aquota.group    1
/aquota.user    1
/backup    1
/bin    98
/boot    3
/dev    152
/etc    1490
/home    22140
/lib    209
/lib64    358
/media    1
/mnt    1
/opt    346
/proc    18680
/root    1859
/sbin    149
/selinux    1
/srv    1
/sys    341
/tmp    19
/usr    92113
/var    5637 


Видно, что больше всего файлов содержит в себе каталог /usr.
Теперь перейдем в этот каталог при помощи команды: cd *имя_директории* и выполнить следующий скрипт inodes.sh:
Откройте файл vi inodes.sh

Добавьте код:

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n > /root/inodes.txt

Выполните sh inodes.sh
По окончанию информация вида количество inodes ./_путь_ будет записана в root/inodes.txt

Чтобы увидеть самые «большие» директории, выполните:
tail  root/inodes.txt


Что делать если inodes закончились и подключиться к серверу нельзя?

Нужно составить запрос через тикет систему в нашу службу поддержки

 
(3 голос(а))
Эта статья помогла
Эта статья не помогла

Коментарии (0)