Un inodo huérfano es un archivo que está "semi-eliminado": no tiene más entradas de directorio, pero aún está abierto en algún proceso, por lo que los datos aún están presentes en el disco. Cuando el último proceso que tiene este archivo abierto lo cierra, el archivo se eliminará por completo y el inodo huérfano desaparecerá.
Un inodo huérfano usa un inodo y el espacio en disco para almacenar el archivo, así que ambos df
y df -i
contarlo como se usa. Por lo tanto, si el disco se informa como lleno pero df
muestra algo de espacio restante, esto no puede estar relacionado con inodos huérfanos. Los inodes huérfanos son una de las razones por las cuales el uso del sistema de archivos informado por df
y el tamaño total del archivo informado du
pueden diferir; ver ¿Por qué hay tantas formas diferentes de medir el uso del disco? para más detalles sobre este tema
Muchos sistemas de archivos reservaron un número fijo de inodes cuando se crea el sistema de archivos, lo que significa que puede tener como máximo esa cantidad de archivos en el sistema de archivos. El número de inodos es un compromiso entre el espacio utilizado por los inodos y la capacidad de crear muchos archivos. Si no hay más espacio en el sistema de archivos, entonces no puede hacer crecer los archivos existentes o crear archivos nuevos (quizás aún pueda crear algunos archivos vacíos en los directorios existentes, siempre que solo estén llenando bloques parcialmente utilizados y no que requiere que se asigne un nuevo bloque). Si no hay más inodo libre, puede hacer crecer los archivos existentes pero no puede crear un nuevo archivo.
El núcleo informa el mismo error a las aplicaciones si un sistema de archivos está lleno debido a la falta de espacio de datos o debido a la falta de inodos. Por lo tanto, puede obtener un error de "disco lleno" incluso si queda algo de espacio de datos, si la operación requiere un nuevo inodo y la tabla de inodo está llena. Ejecute df -i
para saber cuántos inodos se usan y cuántos quedan.