Ubuntu сервер ext4 достиг предела 65000 подкаталогов

У меня есть сервер Ubuntu 14.04, который не может создать новый каталог за пределами каталога 65 000. Я управлял tune2fs -l и вижу, что dir_nlink флаг установлен. Кто-нибудь знает, что еще можно проверить, чтобы это произошло? У меня есть много других клонов этой конфигурации серверов, которые прошли отметку в 65 000 и работают как положено. Я сравнил tune2fs -l выходы и они кажутся одинаковыми. У меня еще есть несколько миллионов бесплатных инодов и блоков. Я размонтировал и перемонтировал файловую систему, и ничего не изменилось.

1 ответ

Ограничение каталога Ext4

Ext4 поддерживает два вида каталогов:

  • традиционные почти линейные каталоги
  • хеш-каталоги

Линейные каталоги имеют ограничение в 65000 ссылок, т. Е. Вокруг этого возможно много подкаталогов. Хеш-каталоги не имеют ограничений.

При создании новой файловой системы по умолчанию используются хеш-каталоги. Если ваши каталоги по-прежнему линейны, возможно, вы обновили старый раздел ext3. (Ext3 получил функцию каталогов на основе хэша позже.)

Проверьте, является ли каталог почти линейным или основанным на хэше

$ sudo debugfs /dev/partition
$ htree /
htree: Not a hash-indexed directory

преобразование

  1. Размонтировать раздел
  2. Включить dir_index (основанные на хэше dirs) и dir_nlink (неограниченное количество ссылок).

    sudo tune2fs -O dir_index,dir_nlink /dev/partition
    

Все вновь созданные каталоги теперь могут содержать неограниченное количество подкаталогов.

Если вы хотите конвертировать существующие каталоги, сделайте следующее:

  1. Размонтируйте раздел (важно защитить от потери данных)
  2. Скажите fsck перестроить индексы каталога:

    sudo e2fsck -f -D /dev/partition
    

-f заставляет fsck проверять диск, даже если он находится в чистом состоянии

-D говорит e2fsck перестроить индексы:

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

Другие вопросы по тегам