
Tengo una matriz btrfs RAID1 (dos particiones de 891 GiB en dos discos duros) en mi computadora portátil. Cuando lo ejecuto, btrfs balance
lleva 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.00EiB
haber 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.