Al tratar con el antiguo cuadro CentOS 5.6, sin configuración de lvm, mi sistema de archivos raíz / está lleno, he borrado muchos archivos de registro y archivos de aplicaciones antiguos que no necesito, que tenía más de 2 a 5 GB de tamaño, sin embargo, mi sistema Todavía informa que el disco está lleno.
[root@tornms1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 130G 124G 0 100% /
/dev/sdb1 264G 188M 250G 1% /data
/dev/sda1 99M 24M 71M 26% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
[root@tornms1 ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sdb1 on /data type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
¿Alguna idea de lo que debería intentar hacer a continuación? desafortunadamente reiniciar la caja no es una opción en este momento.
/.Trash/
esté vacía? Has hechosudo rm -Rf ~/.Trash/*
?Respuestas:
Dos cosas podrían estar sucediendo aquí.
Primero , su sistema de archivos ha reservado algo de espacio en el que solo
root
puede escribir, para que el proceso crítico del sistema no se caiga cuando los usuarios normales se quedan sin espacio en disco. Es por eso que ves 124G de 130G usados, pero cero disponible. Quizás los archivos que eliminó redujeron la utilización a este punto, pero no por debajo del umbral para los usuarios normales.Si esta es su situación y está desesperado, puede alterar la cantidad de espacio reservado para
root
. Para reducirlo al 1% (el valor predeterminado es 5%), su comando seríaEn segundo lugar , el sistema operativo no liberará espacio en disco para los archivos eliminados que aún están abiertos. Si ha eliminado (digamos) uno de los archivos de registro de Apache, deberá reiniciar Apache para liberar espacio.
fuente
Si elimina un archivo que está siendo utilizado por un proceso, ya no podrá ver el archivo
ls
. El proceso todavía está escribiendo en ese archivo hasta que detenga el proceso.Para ver esos archivos eliminados, simplemente ejecute
lsof|grep delete
fuente
Otras dos formas de obtener el disco es un problema completo :
1) oculto debajo de un punto de montaje: Linux mostrará un disco completo con archivos "ocultos" debajo de un punto de montaje. Si tiene datos escritos en el disco y monta otro sistema de archivos sobre él, Linux observa correctamente el uso del disco a pesar de que no puede ver los archivos debajo del punto de montaje. Si tiene monturas nfs, intente desmontarlas y verifique si algo se escribió accidentalmente en esos directorios antes de la montura.
2) archivos corruptos: veo esto ocasionalmente en la transferencia de archivos de Windows a Linux a través de SMB. Un archivo no puede cerrar el descriptor de archivo y terminas con un archivo de basura de 4GB.
Esto puede ser más tedioso de solucionar, porque necesita encontrar el subdirectorio en el que se encuentra el archivo, pero es fácil de solucionar porque el archivo en sí es fácilmente extraíble. Uso el
du
comando y hago una lista de los subdirectorios raíz para averiguar dónde se está utilizando el espacio de archivos.El número de directorios de nivel superior generalmente es limitado, así que configuré el indicador legible por humanos
-h
para ver qué subdirectorio es el cerdo espacial.Luego, ingresa el problema secundario y repite el proceso para todos los elementos que contiene. Para que sea fácil detectar los elementos grandes, cambiamos ligeramente el du y lo combinamos con una especie.
que produce una salida más pequeña a más grande por tamaño de byte para todos los archivos y directorios
Una vez que detecte el archivo de gran tamaño, generalmente puede eliminarlo.
fuente
Puede averiguar qué archivos están abiertos con lsof. Puede producir una gran cantidad de resultados, por lo que me limité en el ejemplo a continuación a las líneas que terminan con log:
fuente
Si se eliminan algunos archivos pero aún los utiliza algún proceso, no se liberará su espacio. En este caso, reinicie un proceso que esté utilizando el archivo o anule el archivo. Siempre es una buena práctica anular dichos archivos en lugar de eliminarlos. Para encontrar archivos eliminados pero todavía están en uso por algún proceso
le dará la identificación del proceso y el descriptor de archivo. Para anular el archivo eliminado por el descriptor de archivo
fuente
Escribe el comando
Que mostrará la lista de archivos que contienen memoria con cita eliminada.
Tenga en cuenta el pid (Id. De proceso) del archivo
Matar el proceso
El proceso liberará la memoria.
Verifíquelo por comando
fuente
Además de lo explicado, el problema podría ser que hay otro punto de montaje del directorio de archivos eliminados en otro dispositivo de disco conectado en el mismo servidor. Verifique los montajes actuales y las entradas fstab.
fuente
Problema real observado en la naturaleza:
Asegúrese de eliminar los archivos reales y no los enlaces simbólicos a los archivos. Este puede ser el caso de los archivos de registro especialmente.
fuente