
Eu tenho uma matriz RAID1 btrfs (duas partições de 891GiB em dois HDDs) no meu laptop. Quando executo, btrfs balance
leva muito tempo para ser concluído.
Eu sei que se eu quisesse equilibrar todo o sistema de arquivos levaria uma eternidade, é por isso que estou usando o filtro -usage assim; Coloquei isso no loop for porque nem sempre sei com qual número começar.
for i in {1..100}; do sudo btrfs balance start -dusage=$i /my/mount/path/; done
Nesse loop, o sudo só pede minha senha na primeira vez, ou se o saldo demorou muito. Isso imprime cerca de 20 vezes
Done, had to relocate 0 out of 868 chunks
E depois de muito tempo ele imprime
Done, had to relocate 1 out of 868 chunks
Isso significa que ele moveu apenas 1 GB (ou 200 MB) de dados. Simplesmente não deveria demorar muito para mover apenas 1 GB de dados, posso copiar muito mais dados para este sistema de arquivos em um décimo do tempo.
Esta é a entrada no meu fstab
:
UUID=<the uuid> /my/mount/path/ btrfs defaults,noatime,compress=lzo 0 0
Também devo mencionar que normalmente faço e também excluo snapshots para o caso de cometer algo errado.
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
Também tenho cotas habilitadas para me ajudar a ver quanto foi modificado entre os instantâneos.
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
Deve 16.00EiB
haver algum tipo de erro. Quem tem esse HDD?
Por que o equilíbrio demora tanto para ser concluído? Eu realmente gosto dos recursos do Btrfs, então prefiro continuar com eles.
Responder1
Eu finalmente descobri. A razão pela qual demorou tanto foi por causa da cota.
Eu desativei ele executando:
sudo btrfs quota disable /my/mount/path/
Agora ele equilibra meu fs em apenas alguns minutos.