Ejecutando OpenSuse 12.2.
De repente, la partición raíz parece estar llena (99%) pero ya no puedo eliminar archivos manualmente.
"rm: no se puede eliminar xxx: no queda espacio en el dispositivo" aunque 450mb todavía están libres según df. El sistema de archivos es BTRFS.
Intenté verificar el FS usando btrfsck pero no me ayudó.
¿Qué hacer?
Respuestas:
Lo más probable es que se encuentre con un problema en el que BTRFS tiene que asignar un poco de metadatos antes de que pueda eliminar el archivo. Uno de los puntos débiles de BTRFS es su manejo de la condición de falta de espacio; Mejorar el comportamiento en esta área es una de las prioridades del proyecto.
Una sugerencia en el wiki de btrfs es golpear el archivo en lugar de eliminarlo.
Eso eliminará el contenido del archivo sin cambiar la entrada del directorio. Una vez que haya salido de la esquina en la que se encuentra, puede eliminar archivos como de costumbre. Si eso le causa problemas, es posible que desee volver a montar temporalmente con la
nodatacow
opción, que desactiva el comportamiento de copiar en escritura. Pero ... no estoy seguro de si eso ayudará o no.En general, sin embargo: no ejecute un sistema de archivos BTRFS en seco. Todavía es un software de preproducción, y los casos de esquina son un poco difíciles.
fuente
Me he enfrentado al mismo mensaje de error, pero en mi caso el sistema de archivos no se informó como lleno:
Pero preguntarle a BTRFS reveló que de hecho estaba lleno:
Incluso sobrescribir cualquier archivo (como ha sugerido tylerl) era imposible. Mi solución se encontró en http://marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html que aconseja ejecutar un reequilibrio manual del sistema de archivos usando
btrfs balance start -dusage=55 /path/to/filesystem
.fuente
Para mí, usando ZFS, descubrí que eliminar otros archivos liberaba suficiente espacio en la partición ZFS, y luego pude eliminar los archivos en cuestión.
fuente
En mi caso, con un sistema de archivos ZFS en Linux, ni siquiera pude truncar el archivo. La destrucción de las instantáneas antiguas hizo el truco (si está presente).
zfs destroy /path/of/snapshot
fuente