Cómo Solucionar el Error de Espacio en Disco Lleno por Inodos (Inodes Full) en Linux Paso a Paso

Cómo Solucionar el Error de Espacio en Disco Lleno por Inodos (Inodes Full) en Linux Paso a Paso
Anuncio relacionado

Introducción al Problema de Inodos Llenos en Linux

¿Te aparece un error de disco lleno en tu servidor Linux al intentar crear archivos, pero al ejecutar el comando df -h notas que aún tienes gigabytes de espacio libre? Es muy probable que hayas alcanzado el límite máximo de inodos. Los inodos son estructuras de datos en los sistemas de ficheros tipo Unix que almacenan la información metadatos de los archivos (como permisos, propietario y tamaño), pero no el contenido en sí.

Causas Principales del Agotamiento de Inodos

La causa más común de este problema es la acumulación masiva de archivos pequeños. Esto ocurre frecuentemente por:

  • Acumulación excesiva de sesiones PHP o archivos temporales en directorios como /tmp.
  • Registros (logs) antiguos que no han rotado correctamente en /var/log.
  • Cachés de aplicaciones web o frameworks que generan miles de pequeños archivos en poco tiempo.

Método 1: Identificar qué directorio está consumiendo los inodos

Para solucionar el problema, primero debes localizar qué carpeta o ruta está acaparando todos los inodos disponibles en tu sistema de archivos. Sigue estos pasos:

  1. Abre tu terminal SSH con privilegios de administrador (root).
  2. Ejecuta el siguiente comando para listar el uso de inodos por cada directorio en la raíz: sudo df -i
  3. Identifica el sistema de archivos que muestra un uso del 100% en la columna IUse%.
  4. Usa el siguiente comando para analizar qué subdirectorios dentro de la ruta afectada tienen más archivos: sudo find /ruta-afectada -xdev -printf '%h ' | sort | uniq -c | sort -k 1 -n

Método 2: Limpiar archivos temporales y caché

Una vez localizado el origen del problema, procede a eliminar los archivos innecesarios que están saturando la tabla de inodos.

  1. Si el problema está en las sesiones de PHP, navega hasta el directorio correspondiente y elimínalas con seguridad: cd /var/lib/php/sessions && sudo rm -f *
  2. Para limpiar logs antiguos que ya no necesitas, puedes vaciar archivos específicos usando el comando de truncado: sudo truncate -s 0 /var/log/syslog
  3. Si utilizas un gestor de paquetes como APT en distribuciones basadas en Debian o Ubuntu, limpia la caché de paquetes obsoletos ejecutando: sudo apt-get clean

Método 3: Configurar la rotación automática para prevenir futuros errores

Para evitar que este molesto error vuelva a ocurrir en el futuro, es fundamental automatizar la limpieza de archivos temporales mediante el servicio tmpfiles.d o configurando correctamente logrotate.

  1. Crea un archivo de configuración personalizado en /etc/tmpfiles.d/limpieza.conf.
  2. Añade una regla para que el sistema borre automáticamente archivos temporales con más de 7 días de antigüedad.
  3. Verifica el funcionamiento del servicio ejecutando: sudo systemd-tmpfiles --clean
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Desarrollo

Cómo Solucionar el Error Detached HEAD en Git de Forma Definitiva

Descubre por qué ocurre el molesto estado Detached HEAD en Git y cómo recuperar tu flujo de trabajo de desarrollo sin perder código.

Leer guía completa →
Hardware

Cómo Solucionar el Error de Sobrecalentamiento y Thermal Throttling en la CPU de Forma Definitiva

¿Tu ordenador se apaga o va lento al jugar o realizar tareas pesadas? Aprende a identificar y solucionar el sobrecalentamiento y el thermal throttling en tu CPU.

Leer guía completa →
Mac

Cómo Solucionar el Error NSURLErrorDomain -999 en Mac de Forma Definitiva

Descubre por qué ocurre el molesto error NSURLErrorDomain -999 en tu Mac y cómo solucionarlo definitivamente con estos sencillos pasos.

Leer guía completa →