Tengo un servidor Ubuntu 14.04 que no puede crear un nuevo directorio más allá del directorio 65.000. He ejecutado un tune2fs -l
y puedo ver que la dir_nlink
bandera está configurada. ¿Alguien sabe qué más se puede comprobar para permitir que esto ocurra? Tengo muchos otros clones de la configuración de este servidor que han superado la marca de 65.000 y funcionan como se esperaba. He comparado las tune2fs -l
salidas y parecen iguales. Todavía tengo varios millones de inodos y bloques libres. Desmonté y volví a montar el sistema de archivos y nada cambió.
Respuesta1
Límite de directorio ext4
Ext4 admite dos tipos de directorios:
- directorios tradicionales casi lineales
- directorios basados en hash
Los directorios lineales tienen un límite de 65.000 enlaces, es decir, alrededor de esa cantidad son posibles muchos subdirectorios. Los directorios basados en hash no tienen límite.
Al crear un nuevo sistema de archivos, el valor predeterminado son los directorios hash. Si sus directorios aún son lineales, probablemente se deba a que actualizó una partición ext3 antigua. (Ext3 obtuvo la función de directorios basados en hash más adelante).
Pruebe si un directorio es casi lineal o está basado en hash
$ sudo debugfs /dev/partition
$ htree /
htree: Not a hash-indexed directory
Conversión
- Desmontar la partición
Habilite las funciones
dir_index
(directorios basados en hash) ydir_nlink
(enlaces ilimitados).sudo tune2fs -O dir_index,dir_nlink /dev/partition
Todos los directorios recién creados ahora pueden contener subdirectorios ilimitados.
Si desea convertir directorios existentes, haga lo siguiente:
- Desmontar la partición (importante para protegerse contra la pérdida de datos)
Dígale a fsck que reconstruya los índices del directorio:
sudo e2fsck -f -D /dev/partition
-f
obliga a fsck a comprobar el disco incluso si está en estado limpio
-D
le dice a e2fsck que reconstruya los índices:
Esta opción hace que e2fsck intente optimizar todos los directorios, ya sea reindexándolos si el sistema de archivos admite la indexación de directorios, o ordenando y comprimiendo directorios para directorios más pequeños o para sistemas de archivos que utilizan directorios lineales tradicionales.