Linux: no queda espacio en el error del dispositivo con 50% de espacio libre

8

Después de pasar un día aplastando mi cabeza contra el escritorio, agradecería un poco de ayuda.

Estoy ejecutando un Squid-Proxy en Fedora 14. Incluso si lo intento touch /tmp/foo, recibiré el error "no queda espacio en el dispositivo". Ya he corrido fsck. Si elimino un archivo de, digamos, 1 MB, puedo almacenar 1 MB de datos nuevamente, pero no más que eso. Es de destacar que tengo mucho espacio libre:

df salida:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3             16311208   7614872   7867768  50% /
tmpfs                  1028548         0   1028548   0% /dev/shm
/dev/sda1               198337     55345    132752  30% /boot
/dev/sdb1             25803036  19407324   5084996  80% /mnt/squid-cache

¿Alguien tiene una idea de lo que puedo tratar de "reclamar" el espacio libre?

Layticia
fuente

Respuestas:

16

Supongo que se ha quedado sin inodos en lugar de bloques de disco, es decir, tiene el límite en la cantidad de archivos que el sistema de archivos puede contener en lugar del límite en la cantidad total de datos.

Puedes usar df -ipara verificar esto.

TomH
fuente
Es extraño que se quedara sin inodos en un buen espacio redondo del 50% del disco ... pero vale la pena investigarlo; Squid crea muchos archivos.
LawrenceC
Tom, lo has clavado. Es exactamente el caso ... "iFree = 0" ¡Muchas gracias por esta pista!
Layticia
@ultrasawblade el squid-cache-dir está en otro disco (sdb) el problema está en el disco del sistema (sda). Estoy generando informes "sarg" y esto significa muchos archivos de los últimos 12 meses.
Layticia
B / c mi disco está lleno ... y necesita más espacio, parece que foros.fedoraforum.org/showthread.php?t=246302 dice que necesito reformatear. Al reformatear, elegirá XFS, parece que me permitirá escalar.
jedierikb
0

Linux reserva un porcentaje de bloques para el superusuario. Normalmente se establece en 5%. 50% es inusualmente alto. Contigo tune2fs -mpuedes cambiar eso.

LawrenceC
fuente
0

Esto puede suceder si está utilizando btrfs y, en ese caso, estos remedios no funcionarán.

Después de seguir muchos rastros falsos, finalmente llegué al camino correcto después de comenzar la búsqueda con

btrfs no

y consiguió

btrfs no queda espacio en el dispositivo

Como la primera terminación. Eso llevó a la wiki del problema BTRFS. Aparentemente es un problema común.

Pero incluso desde allí no fue tan fácil resolver mi problema. Pude ejecutar las utilidades correctas al arrancar en modo de recuperación, tomar la selección que monta mis sistemas de archivos y luego caer a la raíz.

El artículo wiki decía ejecutar btrfs balance, pero eso no funcionaría para todos los sistemas de archivos, y finalmente encontré mi camino aquí (que también es el segundo resultado de búsqueda).

Si su sistema de archivos está realmente lleno, incluso el saldo no se ejecutará. O solo se ejecutará para valores pequeños de -dusage.

La receta en este caso está en la parte inferior de la publicación. Al principio lo encontré confuso y lo rechacé como una solución porque el póster elimina las instantáneas, lo que supuse que era esencial, y como no estaba tomando instantáneas, pensé que no se aplicaba. Pero lo hizo. El paso de la instantánea puede ser importante para algunos, pero no lo fue para mí.

El remedio, en resumen es:

  1. Crea un archivo grande
  2. Hazlo un dispositivo de bucle
  3. Conecte el dispositivo a la fs que no puede equilibrarse
  4. Balance de carrera
  5. Desconecta el dispositivo
  6. Destruye el archivo para recuperar ese espacio

La publicación referenciada da los pasos de la línea de comando.

WolfReporter
fuente