¬ŅC√≥mo funcionan los inodes de Linux? – Hacer la tecnolog√≠a m√°s f√°cil

Si ha estado usando Linux el tiempo suficiente, ha visto el término "inodes". Es algo que aparece a veces, pero no afecta lo que haces. Aquí explicamos qué es inode y cómo funciona.

¬ŅQu√© son los inodes?

En una biblioteca, todos los libros están organizados por género, nombre de autor o grupo de edad. Si desea encontrar un thriller de Bobby Daniels, vaya directamente a la sección de thriller y comience a buscar nombres de autores que comiencen con "B". Al igual que una biblioteca, todos los archivos en un sistema Linux están organizados para una descarga y uso eficientes. Inode es un dispositivo que ayuda a organizar los archivos en un sistema Linux.

¬ŅQu√© es la pel√≠cula etadata?

Digamos que tenemos un archivo llamado "sample.txt" que contiene datos "hola".

  

Este archivo tiene algunos datos e informaci√≥n que le son relevantes, como el tama√Īo del archivo, los permisos, la propiedad del usuario y del grupo, las marcas de tiempo de creaci√≥n / acceso / modificaci√≥n, el recuento de enlaces, etc. Toda esta informaci√≥n se denomina colectivamente etadata de pel√≠cula.

Que es Inode - metadatos de películas

¬ŅQu√© es el sistema de archivos?

En un dispositivo de almacenamiento como un disco duro, una partición se formatea como un sistema de archivos antes de usarse para el almacenamiento de archivos. Un sistema de archivos es el bibliotecario del disco duro. Formalmente, es un conjunto de estructuras de datos y algoritmos que funcionan en conjunto para almacenar metódicamente archivos en la partición.

Las particiones en sistemas Linux a menudo están formateadas con EXT4. Otros sistemas de archivos como B-Tree File System (BTRFS), Travel File System, ZFS, etc. también están disponibles para su uso.

√Ātalos a todos juntos

Inode es una estructura de datos ext4 que contiene todos los metadatos de un archivo.

Ingrese detalles

Por supuesto, habr√≠a muchos archivos en un sistema de archivos. Como lo adivin√≥, cada archivo tendr√≠a su propio inodo. Para identificar de manera √ļnica los inodes, cada inodo est√° numerado.

¬ŅC√≥mo ser√≠a la numeraci√≥n de Inode?

Los n√ļmeros de inodo en un sistema de archivos comienzan desde 1. Los primeros diez inodes est√°n reservados para uso del sistema. Los archivos de usuario tienen sus metadatos almacenados desde inode 11. Todos los inodes se apilan juntos en una tabla de inodes.

Inodtabell

Una entrada en la tabla Inode tendr√≠a un tama√Īo de 256 bytes. ¬°Para un archivo, Linux organiza de forma inteligente todos los metadatos en 256 bytes! Adem√°s, un inodo para un archivo tambi√©n tendr√≠a informaci√≥n sobre d√≥nde existe la informaci√≥n del archivo en el sistema de archivos. Recuerde: solo los metadatos del archivo se almacenan en el inodo.

El n√ļmero total de inodos en un sistema de archivos depende del espacio disponible y el n√ļmero de archivos que se pueden almacenar en la partici√≥n.

¬ŅC√≥mo se distribuyen y redistribuyen los inodes?

Cuando el usuario agrega archivos a un sistema de archivos recién formateado, se asignan inodes que comienzan desde 11 para guardar metadatos de películas.

Hay otra estructura de datos llamada "Inode Bitmap" para rastrear el estado de asignaci√≥n de un inodo. Es una colecci√≥n de piezas que act√ļan como un mapa.

Consideremos ocho bits en el mapa de bits de inodo para denotar el estado de asignación de los inodes. 11 para 18 como se muestra en la tabla a continuación. Un valor de 1 en el mapa de bits significa que se asigna el inodo, es decir, se utiliza para contener metadatos para un archivo. Un valor de 0 en el mapa de bits significa que el inodo no se usa actualmente. Aquí podemos ver ese inodo 17 utilizado.

Mapa de bits de Inode

Sobre el archivo que tiene sus metadatos en inode 17 eliminado, su estado de mapa de bits correspondiente sería 0, que indica que es libre de usar otro archivo.

Tabla de mapa de bits de Inode

¬ŅC√≥mo ves el n√ļmero de inodo para un archivo?

Hay dos formas de hacer esto.

El primero usa el comando ls con el modificador i, seguido del nombre de un archivo. El primer campo en la salida es el n√ļmero de inodo que tiene metadatos para "sample.txt".

ínodo 7

Se puede obtener la misma información con el comando stat seguido del nombre del archivo.

ínodo 8

Para ver el n√ļmero total de inodos disponibles para una partici√≥n, se puede usar el comando df con el modificador -i.

ínodo 9

En la partición "/ dev / sda4", los inodos 404754480 están disponibles para su uso, de los cuales solo se utilizan 359044 inodos.

conclusión

En la naturaleza, la tabla Inode apila metadatos para todos los archivos con precisión en inodes, junto con información sobre la ubicación de los datos del archivo. Todo lo que discutimos sobre los inodes de Linux es simplemente la punta del iceberg. Para obtener más información sobre su funcionamiento interno, puede ver este enlace.

¬ŅEs √ļtil este art√≠culo?