Inodes y el sistema de archivos de Linux

Los sistemas de archivos de Linux son cosas complicadas de entender, especialmente cuando se observan las malas hierbas de los datos y los metadatos. Cada vez que ejecuta el ls comando y vea el resultado (archivos enumerados, permisos, propiedad de la cuenta, etc.) comprenda que los datos que los archivos que ve están almacenados en una ubicación separada de los propios archivos y deben llamarse. Los inodos trabajan duro entre bastidores, por lo que no tienes que hacerlo tú. Veamos qué es exactamente un inodo y qué hace por nosotros.

¿Qué es un inodo?

Por definición, un inodo es un nodo de índice. Sirve como un identificador único para una pieza específica de metadatos en un sistema de archivos determinado. Cada elemento de metadatos describe lo que consideramos un archivo. Así es, los inodos funcionan en todos los sistemas de archivos, independientemente de los demás. Donde se vuelve confuso es cuando te das cuenta de que cada inodo se almacena en una tabla común. En resumen, cada sistema de archivos montado en su ordenador tiene sus propios inodos. Un número de inodo se puede usar varias veces, pero nunca por el mismo sistema de archivos. El identificador del sistema de archivos se combina con el número de inodo para crear una etiqueta de identificación única.

¿Cuántos inodos hay?

Si no te gustan las matemáticas, puedes saltarte esta sección. Hay muchos inodos en cada sistema, y ​​hay algunos números que debe conocer. En primer lugar, y menos importante, el número máximo teórico de inodos es 2^32 (alrededor de 4300 millones de inodos). En segundo lugar, y mucho más importante, está la cantidad de inodos en su sistema. Generalmente, la relación de inodos es de 1:16 KB de capacidad del sistema. Obviamente, cada sistema es diferente, por lo que debe hacer este cálculo por su cuenta.

Uso avanzado

Hay buenas noticias para aquellos a los que no les gustan las matemáticas: "Hay un comando para eso". Para verificar la cantidad de inodos en su sistema, puede usar el -i posibilidad con la df comando, como se ve aquí:

[[email protected] ~]$ df -i /dev/sda1
Filesystem     Inodes IUsed  IFree IUse% Mounted on
/dev/sda1      524288   312 523976    1% /boot

Puede ver en la sintaxis del comando y el resultado anterior que ejecutamos df -i en el sistema de archivos /dev/sda1. Hay un total de 524,288 inodos en este sistema de archivos, de los cuales solo 312 están en uso (alrededor del 1%).

Inodo de nivel de archivo

También podemos mirar el número de inodo de un archivo específico. Para hacer esto, usamos el ls -i comando en el archivo deseado. Por ejemplo:

[[email protected] my_articles]$ ls -i Creating_volume_groups 
1459027 Creating_volume_groups

El número de inodo de este archivo es 1459027.

Inodo a nivel de directorio

Al igual que con los archivos, también podemos ver el inodo de un directorio. Para hacer esto, usamos el ls -i ordenar de nuevo con algunas opciones más. Por ejemplo:

[[email protected] article_submissions]$ ls -idl my_articles/
352757 drwxrwxr-x. 2 tcarrigan tcarrigan 69 Apr  7 11:31 my_articles/

Puedes ver que usamos -i (inodos), así como -l (formato largo) y -d(directorio telefónico). Estas banderas nos presentan una plétora de información sobre el mis_articulos directorio, incluido el número de inodo, permisos, propiedad, etc.

Resumen

Los inodos son un excelente lugar para comenzar si desea obtener más información sobre los sistemas de archivos y sus estructuras. Es importante saber cómo se etiquetan e indexan las unidades de datos más pequeñas. Se pueden realizar algunas operaciones mucho más avanzadas en los inodos. Por ejemplo, puede abrir un inodo y leer el contenido del archivo. Esta capacidad le brinda una visión aún más profunda de los metadatos almacenados allí. Con suerte, esta mirada de alto nivel le proporcionará una línea de base para su exploración de inodos.

Artículos de interés

Subir