У меня есть в некоторых серверах это предупреждение, у меня есть каталог с миллионами (20 более или менее) файлов, но согласно ext4 документации это не должно быть проблемой.
Какая-либо идея, как это может влиять на мои системы? в опасности я для выпуска файлов? там какая-либо конфигурация должна остановить это поведение?
[1130768.836378] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130768.836558] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130768.836739] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130768.836914] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130769.881446] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130769.881668] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130769.881841] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130769.881969] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
[1130769.882084] EXT4-fs warning (device dm-0): ext4_dx_add_entry:2006: Directory index full!
Вывод df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/INTEGRASERVER02--vg-root 72179712 11081503 61098209 16% /
none 2049034 2 2049032 1% /sys/fs/cgroup
udev 2046225 1252 2044973 1% /dev
tmpfs 2049034 1237 2047797 1% /run
none 2049034 2 2049032 1% /run/lock
none 2049034 1 2049033 1% /run/shm
none 2049034 2 2049032 1% /run/user
/dev/sda1 62248 298 61950 1% /boot
Каждое сообщение является отказом добавить файл к каталогу.
нет никакого официального предела на количество записей файла в ext4 каталоге, но существует 2 статьи, описывающие первоначальный проект (запустился в ext2 в 2001), которые указывают следующее, и которые так же важны для ext4:
два уровня индексных узлов достаточны для поддержки [более чем 1 115] 16 миллионов, с 52 символами имена файлов.
А второй индексный уровень требуется только для очень больших каталогов, которые могут разместить несколько [больше чем 1 116] 30 миллионов записи.
, Если Вы создаете и удаляете файлы много в каталоге, по-видимому, может быть пространство, потерянное из-за фрагментации в строках имени файла, которые можно восстановить путем выполнения (в размонтированной файловой системе):
fsck -D /dev/...
Посмотрите человека fsck.ext4:
-D каталоги Optimize в файловой системе. Эта опция заставляет e2fsck пытаться оптимизировать все каталоги, или путем переиндексации их, если файловая система поддерживает индексацию каталога, или путем сортировки и сжатия каталогов для меньших каталогов, или для filesys-изобилует с помощью традиционных линейных каталогов.