Общая информация 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 закончились и подключиться к серверу нельзя?
Нужно составить запрос через тикет систему в нашу службу поддержки
|