Inodos y "No hay espacio en el dispositivo"
Un inodo es la estructura de datos que un sistema de archivos de estilo Unix utiliza para almacenar información sobre un archivo, como su propietario, permisos, tamaño y dónde se encuentran sus datos. Cada archivo utiliza un inodo y muchos sistemas de archivos tienen un número fijo, por lo que millones de archivos diminutos pueden provocar el error "No hay espacio en el dispositivo" mientras que df -h sigue mostrando espacio libre.
1Cómo consultarlo
df -i enumera los inodos totales, usados y libres por sistema de archivos. ls -i muestra el número de inodo de un archivo y stat <file> muestra los detalles de su inodo.
2Causas típicas
Los directorios de sesiones o cachés de aplicaciones web, las colas de correo, los archivos de registro pequeños no rotados y las cachés de compilación pueden crear millones de archivos.
3Cómo encontrar el directorio
GNU du puede contar inodos: du --inodes -x / | sort -n | tail enumera los directorios con más entradas.
Cómo solucionar el agotamiento de inodos
- Confirmar:
df -i(IUse% cerca del 100 %). - Encontrar el directorio:
sudo du --inodes -x --max-depth=3 / | sort -n | tail -20 - Comprobar qué crea los archivos antes de eliminar nada.
- Eliminar los archivos antiguos de esa aplicación con su propia herramienta, o con find, por ejemplo:
find /path -type f -mtime +7 -deletetras una prueba simulada sin -delete.
Precauciones
- Ejecute siempre find primero sin -delete y revise la lista.
- El recuento de inodos de ext4 se fija cuando se crea el sistema de archivos.
Artículos relacionados
- df (espacio libre en disco)Cómo leer la salida de df, por qué Use% puede alcanzar el 100% antes de que Avail llegue a cero para los usuarios normales, y cómo comprobar los inodos con df -i.
- Búsqueda de archivos grandes y antiguos con findCómo usar find para listar archivos grandes o antiguos en Linux, previsualizarlos de forma segura y eliminar solo lo que haya revisado.
- Uso de disco con du y ncduCómo descubrir qué llena un disco de Linux con du y el interactivo ncdu, usando opciones que se limitan a un solo sistema de archivos.
Fuentes
Última revisión: