74 votos

df dice que el disco está lleno, pero no lo está

En un servidor virtualizado que ejecuta Ubuntu 10.04, df informa lo siguiente:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.4G  7.0G     0 100% /
none                  498M  160K  498M   1% /dev
none                  500M     0  500M   0% /dev/shm
none                  500M   92K  500M   1% /var/run
none                  500M     0  500M   0% /var/lock
none                  500M     0  500M   0% /lib/init/rw
/dev/sda3             917G  305G  566G  36% /home

Esto me desconcierta por dos razones: 1.) df dice que /dev/sda1, montado en /, tiene una capacidad de 7,4 gigabytes, de los cuales sólo 7,0 gigabytes están en uso, sin embargo informa / estando 100 por ciento lleno; y 2.) puedo crear archivos en / por lo que claramente tiene espacio libre.

Posiblemente relevante es que el directorio /www es un enlace simbólico a /home/www, que está en una partición diferente (/dev/sda3, montado en /home).

¿Alguien puede ofrecer sugerencias sobre lo que podría estar pasando aquí? El servidor parece funcionar sin problemas, pero quiero asegurarme de que no hay ningún problema con la tabla de particiones, los sistemas de archivos o cualquier otra cosa que pueda resultar en una implosión (o explosión) más tarde.

124voto

mkomitee Puntos 251

Es posible que un proceso haya abierto un archivo grande que desde entonces ha sido eliminado. Tendrás que matar ese proceso para liberar el espacio. Puedes ser capaz de identificar el proceso usando lsof. En Linux los archivos borrados pero abiertos son conocidos por lsof y marcados como (borrados) en la salida de lsof.

Puedes comprobarlo con sudo lsof +L1

49voto

David Schwartz Puntos 22683

El 5% (por defecto) del sistema de archivos se reserva para los casos en que el sistema de archivos se llena para evitar problemas graves. El sistema de archivos está lleno. No está ocurriendo nada catastrófico debido al buffer del 5% -- a root se le permite usar ese buffer de seguridad y, en su configuración, los usuarios no root no tienen razón para escribir en ese sistema de archivos.

Si tienes demonios que se ejecutan como un usuario no-root pero que necesitan administrar los archivos en ese sistema de archivos, las cosas se romperán. Un demonio común como este es named . Otro es ntpd .

37voto

Clifford Ilkay Puntos 121

Puede que se le hayan acabado los inodos. Compruebe el uso de los inodos con este comando:

df -i

18voto

mattmc3 Puntos 6768

La mayoría de los sistemas de archivos de Linux reservan un 5% de espacio para usar sólo el usuario root.

Puedes ver esto con, por ejemplo

dumpe2fs /dev/sda1 | grep -i reserved

Puedes cambiar la cantidad reservada usando :

tune2fs -m 0 /dev/sda1

En la mayoría de los casos el servidor parecerá seguir funcionando bien - asumiendo que todos los procesos se están ejecutando como "root".

8voto

mailq Puntos 13433

df -h está redondeando los valores. Incluso los porcentajes se redondean. Omite el -h y se ven diferencias de grano más fino.

Oh. Y ext3 y derivados reservan un porcentaje (por defecto 5%) para el sistema de archivos para exactamente esta problemática constelación. Si tu sistema de archivos root está realmente lleno (quedan 0 bytes) no puedes boot el sistema. Así que la parte reservada evita esto.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: