¿Cómo puedo crear una partición EXT4 con un número extra grande de inodos?

15

Sobre inodes

En Ubuntu, cada archivo y directorio es un llamado inode. Puede usar df -ipara verificar el número de inodos en uso y disponibles para todos los sistemas de archivos montados.

Pregunta

Si crea una nueva partición EXT4, utiliza el número predeterminado de inodos, que en condiciones normales debería ser suficiente. Sin embargo, si ejecuta un sistema que produce millones de archivos pequeños, ¿cómo necesita crear una nueva partición EXT4 con un número extra grande de inodos? ¿Cuál es el máximo?

Comentarios

  • NO puede cambiar el número de inodos disponibles DESPUÉS de que se haya creado la partición EXT4
bzero
fuente
@Rinzwind Esa no es la misma pregunta, ya que solo pregunta cómo encontrar la gran cantidad de archivos pequeños ... no explica cómo formatear una nueva partición EXT4 con un número extra grande de inodos. Reabriré mi pregunta.
bzero
¿Cómo puedo desactivar ese banner superior que dice que esta pregunta ya puede haber sido respondida? Esta es una pregunta diferente.
bzero

Respuestas:

12

El uso de mkfs -t ext4 -N iNumberOfINodes /dev/XdYwhere iNumberOfINodeses un número de 32 bits, por lo que el número máximo posible de inodos en cualquier sistema de archivos ext2 / 3/4 es 2 ^ 32-1, o 4,294,967,295 (~ 4 mil millones).

Fabby
fuente
55
¿Existen inconvenientes de rendimiento conocidos al configurar 4,000,000,000 de iNodes?
bzero
1
en realidad no es: mkfs.ext4: demasiados inodes (4294967296), especifique <2 ^ 32
inodes
@dalore error off-by-one: 2 ^ 32-1 ... Gracias por la retroalimentación, respuesta adaptada ... :-)
Fabby
Tenga en cuenta que también lo intenté, pero obtuve otro error que no era muy informativo sobre qué número se acepta.
Dalore
¿Has probado 2 ^ 31 ???
Fabby
3

Consulte la página de manual de mkfs.ext4.

man mkfs.ext4

La opción le -Npermite establecer el número de inodos creados en el sistema de archivos, y la opción le -Ipermite aumentar su tamaño (para que puedan manejar atributos más extendidos de los archivos). Ajuste para adaptarse a su situación cuando cree el sistema de archivos.

ubfan1
fuente
Gracias, entonces -N se usa en el momento de la creación, mientras que -l se puede usar para ajustar el número de inodos DESPUÉS de que se haya creado la partición. Voy a echar un vistazo más de cerca a las páginas del manual ahora ...
bzero
El -Icambia el tamaño de cada nodo-i en bytes en el momento de la creación. No le permitirá aumentar el número disponible de ellos en los sistemas de archivos existentes.
TwoD
"allows you to increase their size (so they can handle more files)"Aumentar el tamaño del inodo no significa que pueda manejar más archivos, cuanto mayor sea la relación bytes por inodo, se crearán menos inodos, lo que significa que se pueden manejar menos archivos.
ZN13
1

Siempre es una compensación entre inodes y tamaño de bloque. 32 bits es el máximo, pero el máximo real depende del tamaño de su disco / sistema de archivos dividido por el tamaño del bloque. Cada archivo tiene al menos un bloque. También puede especificar el tamaño del grupo que determina cuántos bloques por inodo. (es decir, bytes / inodo)

Todo eso determinará la cantidad de inodes que puede asignar para un tamaño de disco y tamaño de bloque en particular.

También es una compensación entre rendimiento y capacidad de archivo. Un tamaño de bloque más pequeño significa que los archivos grandes se fragmentarán y requerirán más operaciones de E / S para cargar el archivo.

Si va a personalizar, necesita leer o, de lo contrario, terminará con un sistema de archivos totalmente inadecuado para lo que creía que quería.

Ellison Chan
fuente