Entiendo qué es un inodo, pero ¿cuál es la definición exacta de un inodo huérfano? Realmente no entiendo lo que eso significa.
ACTUALIZAR
Hubo un tiempo en que un servidor que estaba administrando se quedó sin inodos, pero cuando hacía un df -h me demostró que el servidor solo tenía un 60% de espacio usado. Supongo que esto se debe a inodes huérfanos. ¿Cómo se pueden usar todos los inodes pero aún queda "espacio" en el servidor? ¿Puedes abordar esto en tus respuestas?
filesystems
inode
ninjacoder
fuente
fuente
df -i
mostrará la información correspondiente para inodes.Respuestas:
Un inodo huérfano es un inodo que no está conectado a una entrada de directorio en el sistema de archivos, lo que significa que no se puede alcanzar.
Los inodos huérfanos pueden aparecer por varias razones:
fsck
crea nuevas entradas de directorio para inodos huérfanos enlost+found
.fuente
df -h
me mostró que solo tenía un 60% de espacio. Supongo que esto se debe a inodes huérfanos. ¿Cómo se pueden usar todos los inodos pero aún queda "espacio" en el servidor?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
ydf -i
contarlo como se usa. Por lo tanto, si el disco se informa como lleno perodf
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 pordf
y el tamaño total del archivo informadodu
pueden diferir; ver ¿Por qué hay tantas formas diferentes de medir el uso del disco? para más detalles sobre este temaMuchos 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.fuente
Un inodo huérfano es aquel que se ha desvinculado pero que aún está abierto en otro proceso. Por ejemplo, ejecutarse
tail -f {file}
en un shell seguido derm {file}
otro. El sistema de archivos realiza un seguimiento de estos para que puedan limpiarse cuando finalice el proceso.Es perfectamente normal cuando tienes un desmontaje inmundo. Son simplemente archivos que se habían eliminado, pero que aún estaban abiertos cuando se volvió a montar el fs de solo lectura. No son la causa, sino simplemente un síntoma.
Para problemas de inodes, ejecute esta consulta para obtener la lista de la cantidad de inodes que se utilizan en todos los directorios.
Puede consultar esto y esto para obtener más métodos de verificación.
fuente