Нотатки сісадміна Linux ext4_dx_add_entry:2006: Directory index full!

ext4_dx_add_entry:2006: Directory index full!

Directory index full

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

Решить проблему можно несколькими путями:

1.

Ищем все директории в которых кол-во файлов больше 9999. Этот метод чреват убийством дисков и вешаньем сервера если в каталоге будет несколько миллионов файлов, по этому стоит держать пару консолей на сервер, в одной пускать поиск, а в другой следить за нагрузкой на систему и диски через atop или iotop, как только будет видно повышение LA – сразу стоит убивать процесс поиска.

2.

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

– Диреrтории сессий php (/var/www/USER/data/mod-tmp; /home/USER/tmp; )

– Диретории почтовых каталогов (/var/spool/mail; /home/USER/mai; /var/www/USER/data/email;)

– Директории кеша серверного софта (/var/cache/*; )

и прочие другие. При просмотре каталогов стоит помнить что нужно при росте нагрузки прибивать процесс который просматривает каталог, например mc.

Каталоги где обнаружился мусор – нужно аккуратно чистить используя понижение приоритета доступа к дискам и системы – nice, ionice.

Click to rate this post!
[Total: 0 Average: 0]

Залиште відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Related Post