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
преобразование
- Размонтировать раздел
Включить
dir_index
(основанные на хэше dirs) иdir_nlink
(неограниченное количество ссылок).sudo tune2fs -O dir_index,dir_nlink /dev/partition
Все вновь созданные каталоги теперь могут содержать неограниченное количество подкаталогов.
Если вы хотите конвертировать существующие каталоги, сделайте следующее:
- Размонтируйте раздел (важно защитить от потери данных)
Скажите fsck перестроить индексы каталога:
sudo e2fsck -f -D /dev/partition
-f
заставляет fsck проверять диск, даже если он находится в чистом состоянии
-D
говорит e2fsck перестроить индексы:
Эта опция заставляет e2fsck попытаться оптимизировать все каталоги, либо переиндексируя их, если файловая система поддерживает индексирование каталогов, либо сортируя и сжимая каталоги для небольших каталогов, либо для файловых систем, использующих традиционные линейные каталоги.