Introducción al Problema de Inodos en Linux
Uno de los errores más desconcertantes para los administradores de sistemas Linux es encontrarse con que el disco está supuestamente al 100% de su capacidad, impidiendo la creación de archivos o el funcionamiento de servicios, a pesar de que el comando df -h muestra que hay espacio libre en gigabytes. Este inconveniente ocurre cuando se agotan los inodos (estructuras de datos que almacenan la metainformación de los archivos) y no el espacio de almacenamiento físico en sí.
Causas Principales del Agotamiento de Inodos
El agotamiento de inodos suele ser provocado por:
- Acumulación masiva de archivos muy pequeños (caché, sesiones de PHP, registros o logs antiguos).
- Cientos de miles de archivos temporales generados por aplicaciones web o procesos automatizados (cron jobs).
- Directorios con miles de subcarpetas vacías.
Método 1: Identificar qué directorio está consumiendo los inodos
Para solucionar el problema, primero debes localizar exactamente dónde se encuentran los millones de archivos pequeños que están saturando la partición.
- Abre tu terminal SSH con permisos de superusuario (root).
- Ejecuta el siguiente comando para listar el uso de inodos por sistema de archivos:
df -i - Una vez identificada la partición afectada (por ejemplo,
/dev/sda1), ejecuta este bucle para analizar qué subdirectorios consumen más inodos:sudo du --inodes -s /* | sort -hr
Método 2: Limpiar directorios comunes que generan archivos basura
Una vez localizado el directorio problemático (frecuentemente /var/log, /tmp o directorios de sesiones web), procede a eliminar el exceso de archivos.
- Navega al directorio afectado, por ejemplo:
cd /var/spool/postfix/maildrop - Si necesitas eliminar todos los archivos contenidos sin borrar el directorio, utiliza el comando
findpara evitar errores de argumentos demasiado largos:sudo find . -type f -delete - Verifica nuevamente el estado de los inodos ejecutando
df -ipara confirmar que el porcentaje de uso ha disminuido considerablemente.