El saldo de btrfs tarda demasiado

El saldo de btrfs tarda demasiado

Tengo una matriz btrfs RAID1 (dos particiones de 891 GiB en dos discos duros) en mi computadora portátil. Cuando lo ejecuto, btrfs balancelleva una gran cantidad de tiempo completarlo.

Sé que si quisiera equilibrar todo el sistema de archivos tomaría una eternidad, es por eso que estoy usando el filtro -usage de esta manera; Puse esto en el bucle for porque no siempre sé con qué número empezar.

for i in {1..100}; do sudo btrfs balance start -dusage=$i /my/mount/path/; done

En este bucle, sudo solo me pregunta mi contraseña la primera vez o si el saldo tomó mucho tiempo. Esto se imprime unas 20 veces.

Done, had to relocate 0 out of 868 chunks

Y luego, después de tomar una gran cantidad de tiempo, se imprime.

Done, had to relocate 1 out of 868 chunks

Entonces significa que solo ha movido 1 GB (o 200 MB) de datos. Simplemente no debería llevar mucho tiempo mover solo 1 GB de datos; puedo copiar muchos más datos a este sistema de archivos en una décima parte del tiempo.

Esta es la entrada en mi fstab:

UUID=<the uuid>  /my/mount/path/  btrfs  defaults,noatime,compress=lzo  0  0

También debo mencionar que normalmente hago y también elimino instantáneas en caso de que haga algo mal.

sudo btrfs subvolume list /my/mount/path/
ID 5238 gen 178224 top level 5 path SNAP/snap-2017-04-15
ID 5270 gen 178229 top level 5 path SNAP/snap-2017-04-17
ID 5272 gen 178228 top level 5 path SNAP/snap-2017-04-21
ID 5276 gen 178230 top level 5 path SNAP/snap-2017-04-25
ID 5284 gen 178232 top level 5 path SNAP/snap-2017-05-04
ID 5290 gen 178231 top level 5 path SNAP/snap-2017-05-10
ID 5291 gen 178229 top level 5 path SNAP/snap-2017-05-11
ID 5309 gen 178225 top level 5 path SNAP/snap-2017-05-11-22-52-30
ID 5310 gen 178226 top level 5 path SNAP/snap-2017-05-13
ID 5311 gen 178232 top level 5 path SNAP/snap-2017-05-15
ID 5312 gen 178227 top level 5 path SNAP/snap-2017-05-17
ID 5313 gen 178227 top level 5 path SNAP/snap-2017-05-18

También tengo cuotas habilitadas para ayudarme a ver cuánto se ha modificado entre instantáneas.

sudo btrfs qgroup show /my/mount/path/
qgroupid         rfer         excl
--------         ----         ----
0/5         774.25GiB    910.87MiB
0/3098      142.21GiB        0.00B
0/3119       39.38GiB     16.00EiB
0/5226          0.00B     16.00EiB
0/5228          0.00B     16.00EiB
0/5233       48.00KiB     16.00EiB
0/5236       96.00KiB     16.00EiB
0/5238      785.18GiB     46.57GiB
0/5270      768.99GiB      1.22MiB
0/5272      768.73GiB      1.36MiB
0/5276      766.70GiB     12.70MiB
0/5284      768.55GiB      3.33MiB
0/5290      772.23GiB    964.00KiB
0/5291      772.23GiB    912.00KiB
0/5309      773.77GiB    608.00KiB
0/5310      773.78GiB      1.09MiB
0/5311      773.56GiB      1.66MiB
0/5312      773.55GiB      2.16MiB
0/5313      774.32GiB    147.49MiB

Debe 16.00EiBhaber algún tipo de error. ¿Quién tiene ese disco duro?

¿Por qué el saldo tarda tanto en completarse? Me gustan mucho las funciones de btrfs, así que prefiero quedarme con ellas.

Respuesta1

Finalmente lo resolví. La razón por la que estaba tomando tanto tiempo era por la cuota.

Lo deshabilité ejecutando:

sudo btrfs quota disable /my/mount/path/

Ahora equilibra mis fs en sólo unos minutos.

información relacionada