Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿Linux dice “No space left on device” aunque df muestra espacio? Comprueba primero la ruta exacta que falló

ENOSPC no demuestra que esté lleno el sistema de archivos que miraste. Vincula la ruta fallida con su montaje y backend reales; después revisa bloques, inodos, archivos borrados aún abiertos, cuotas, overlays y límites propios del sistema.

¿Linux dice “No space left on device” aunque df muestra espacio? Comprueba primero la ruta exacta que falló
Ilustración original: Pregunta a df por esa ruta exacta Watch at Ease

“No space left on device” es el error devuelto por una operación concreta. No demuestra que el sistema mostrado por un df sin argumento sea el que falló, ni que los bytes sean el único recurso agotado.

Conserva la ruta exacta y determina el montaje, tipo de sistema y frontera de almacenamiento que la contienen. Revisa bloques e inodos en esa misma ruta y sigue la evidencia hacia archivos borrados abiertos, montajes ocultos, cuotas, capas de contenedor o asignación específica.

Captura la ruta fallida antes de limpiar

Guarda error completo, comando, hora y ruta de destino. Si la aplicación la oculta, aumenta el diagnóstico normal o reproduce una sola vez; no empieces borrando ni reiniciando.

Anota si la escritura ocurre en host, contenedor, bind mount, workspace de CI u otro servicio. El mismo nombre puede resolver a otro backend al cruzar la frontera.

Pregunta a df por esa ruta exacta

Ejecuta df sobre la ruta o su padre existente y guarda Filesystem, Type, Size, Avail y Mounted on. Repite la revisión de inodos sobre la misma ruta.

Si la ruta no existe aún, sube al padre existente más cercano y captura el mapa de montajes para no confundir /var, bind mount, overlay o red con la raíz.

Separa capacidad de bloques e inodos

Si faltan bloques, busca consumidores grandes solo en ese sistema y confirma retención y propietario antes de borrar. No cruces otros montajes salvo decisión explícita.

Si faltan inodos pero quedan bloques, encuentra el directorio que genera enormes cantidades de archivos pequeños. Añadir bytes no siempre crea inodos utilizables.

Explica la diferencia entre df y du sin perder evidencia

Si df asigna más que los directorios visibles, inspecciona archivos borrados aún abiertos. Registra PID, servicio, descriptor y tamaño antes de decidir reinicio, recarga o truncado.

Comprueba también archivos ocultos bajo un punto montado. Desmontar producción interrumpe servicio; usa ventana de mantenimiento o namespace seguro.

Revisa cuotas, contenedores y límites del sistema

Con bloques e inodos sanos, inspecciona cuotas de usuario, grupo o proyecto y reservas del escritor exacto. En contenedores captura storage root, driver, capa escribible y filesystem host.

Después usa herramientas propias para metadatos, snapshots, reservas copy-on-write o capacidad del pool. Una prueba de ext4 no resuelve automáticamente XFS, Btrfs, ZFS, LVM thin o almacenamiento remoto.

Repara una rama probada y verifica la misma escritura

Elige la acción reversible mínima: expirar datos aprobados, rotar logs, liberar un archivo abierto conocido, ampliar el volumen correcto, ajustar una cuota justificada o migrar el almacén con documentación.

Repite una vez la escritura original y confirma margen de bloques, inodos o cuota en la misma ruta. Observa el crecimiento para distinguir recuperación duradera de una caída temporal.

¿Linux dice “No space left on device” aunque df muestra espacio? Comprueba primero la ruta exacta que falló
Ilustración original: Revisa cuotas, contenedores y límites del sistema Watch at Ease