Límite máximo de inodo del sistema de archivos ext4: ¿alguien puede explicarlo?

16

Recientemente tuvimos un problema en el que uno de los sistemas de archivos ext4 parecía incapaz de manejar una gran cantidad de archivos more than 6mln in this case, a pesar de tener suficiente espacio. ¿Es 6mlnel número máximo que puede tener un sistema de archivos ext4 cuando se formatea con todas las configuraciones predeterminadas? Intenté buscarlo en Google pero no obtuve ninguna respuesta definitiva. ¿Alguien aquí puede dar algo de luz sobre esto, por favor? ¡¡Salud!!

MacUsers
fuente

Respuestas:

20

No existe un valor predeterminado como tal para ext4, depende del tamaño del dispositivo y de las opciones elegidas en la creación. Puede verificar los límites existentes usando

tune2fs -l /path/to/device

Por ejemplo,

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

Según man mkfs.ext4

-i bytes por inodo

Especifique la relación bytes / inodo. mke2fs crea un inodo por cada byte de bytes por inodo de espacio en el disco. Cuanto mayor sea la relación bytes por inodo, se crearán menos inodos. Este valor generalmente no debería ser menor que el tamaño de bloque del sistema de archivos, ya que en ese caso se realizarían más inodos de los que se pueden usar. Tenga en cuenta que no es posible expandir el número de inodos en un sistema de archivos después de crearlo, así que tenga cuidado al decidir el valor correcto para este parámetro.

OchoBitTony
fuente
6

Depende de cómo formateó el sistema de archivos. Utilizando tune2fs -l <device>puede encontrar la cantidad de inodes que tiene su dispositivo, probablemente alrededor de 6 millones de inodes en su caso. Cada archivo o directorio usa un inodo.

Hasta donde sé, la única posibilidad de aumentar el número de inodos es volver a formatear el sistema de archivos. El -iparámetro a mkfspuede usarse para especificar la relación bytes / inodo. El valor predeterminado se define en /etc/mke2fs.conf(en mi sistema: 16384).

Una relación bytes / inodo más grande define menos inodes, uno más pequeño más inodes. Los valores predeterminados funcionan bien en la mayoría de los casos, pero si tiene una gran cantidad de archivos pequeños, es posible que se encuentre con el límite y necesite formatear el sistema de archivos con una relación bytes / inodo más pequeña.

Oliver
fuente