BTRFS root no deja espacio en el dispositivo, se vuelve a montar automáticamente en solo lectura; no puedo equilibrar, no puedo agregar dispositivo

BTRFS root no deja espacio en el dispositivo, se vuelve a montar automáticamente en solo lectura; no puedo equilibrar, no puedo agregar dispositivo

La raíz de mi BTRF se llenó durante la actualización del sistema y se volvió a montar automáticamente como de solo lectura. Tengo muchos archivos que puedo borrar, pero es de sólo lectura. Lo intenté:

  1. sudo mount -o remount,rw / → punto de montaje no montado o mala opción

  2. cree un /dev/loop0archivo temporal 10G e intente agregarlo al dispositivo BTRFS: sudo btrfs device add /dev/loop0 /error adding device /dev/loop0: Read-only file system

  3. Reequilibrio: sudo btrfs balance start -dusage=0 /(también probado -musage=0) →error during balancing '/': Read-only file system

Básicamente, todo lo que intenté falla porque el sistema de archivos es de solo lectura. No puedo volver a montarlo como rw por alguna razón. Tengo miedo de reiniciar el sistema porque probablemente no arrancará. ¿No hay esperanza para alguien con un btrfs full root fs?

Respuesta1

Tuve el mismo problema, logra solucionarlo haciendo esto:

umount /home
mount /dev/sdd1 on /home -o rw,clear_cache,skip_balance

Esto omitirá cualquier operación de reequilibrio (mi punto de bloqueo) y borrará parte del caché para liberar algo de espacio.

Pero después de esto, cualquier operación resultaría en cambiar a solo lectura, por lo que verifiqué y detuve cualquier reequilibrio justo después del comando de montaje:

btrfs fi balance show /home
btrfs fi balance cancel /home

Después de esto, el btrfs era más estable y pude cambiar su tamaño.

btrfs fi resize max /home

Probablemente el comando de saldo de preguntas frecuentes también debería funcionar ahora o eliminar manualmente algunos archivos grandes.

Las preguntas frecuentes informan esto (y es posible que desee probar diferentes valores de menor a mayor, ya que este es un porcentaje del espacio utilizado en fragmentos que serán seleccionados por el equilibrio y terminarán fusionándose, liberando espacio)

btrfs fi balance  start -dusage=10 /home

Finalmente, también existe la ruta de agregar un nuevo dispositivo y solicitar un reequilibrio (es decir, un raid0, pero puedes ajustar esto más tarde y cambiar a raid1 si lo deseas y tienes suficiente espacio). btrfs puede crear un "raid" sobre la marcha con varios dispositivos (en el peor de los casos, un almacenamiento USB temporal, pero recuerde eliminar los datos y eliminar el dispositivo al final)

btrfs device add /dev/sdf1 /home
btrfs balance start -dusage=20 -musage=20 /home

Ajuste los valores en dusage (datos) y musage (metadatos) para acelerar y/o mover más información. En los mismos casos, es posible que desee agregar un -ddevid=???para limitar el reequilibrio al dispositivo completo, lo que obligará a btrfs a mover fragmentos del dispositivo completo al dispositivo con más espacio. Obtener el devid debrtfs fi show

Vea los resultados al final (recuerde que df en btrfs no es suficiente ya que btrfs tiene varias capas y df solo puede ver una)

btrfs fi show
btrfs fi usage /home
btrfs device usage /home
btrfs fi df /home

información relacionada