
Ich habe ein btrfs RAID1-Array (zwei 891-GiB-Partitionen auf zwei Festplatten) auf meinem Laptop. Wenn ich es ausführe, btrfs balance
dauert es sehr lange, bis es abgeschlossen ist.
Ich weiß, dass es ewig dauern würde, wenn ich das gesamte Dateisystem ausgleichen möchte. Deshalb verwende ich den -usage-Filter wie folgt: Ich habe ihn in die For-Schleife eingefügt, da ich nicht immer weiß, mit welcher Zahl ich beginnen soll.
for i in {1..100}; do sudo btrfs balance start -dusage=$i /my/mount/path/; done
In dieser Schleife fragt sudo nur beim ersten Mal nach meinem Passwort oder wenn der Saldo viel Zeit in Anspruch genommen hat. Das Ergebnis ist etwa 20 Mal
Done, had to relocate 0 out of 868 chunks
Und dann, nach einer enormen Zeit, druckt es
Done, had to relocate 1 out of 868 chunks
Das bedeutet, dass nur 1 GB (oder 200 MB) Daten verschoben wurden. Das Verschieben von nur 1 GB Daten sollte nicht so lange dauern. Ich kann in einem Zehntel der Zeit viel mehr Daten in dieses Dateisystem kopieren.
Dies ist der Eintrag auf meiner fstab
:
UUID=<the uuid> /my/mount/path/ btrfs defaults,noatime,compress=lzo 0 0
Ich muss auch erwähnen, dass ich normalerweise Schnappschüsse mache und auch lösche, nur für den Fall, dass ich etwas falsch mache.
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
Ich habe auch Kontingente aktiviert, damit ich sehen kann, wie viel zwischen den Snapshots geändert wurde.
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
Das 16.00EiB
muss irgendein Fehler sein, wer hat denn so eine Festplatte?
Warum dauert das Balancing so lange? Ich mag die BTRFS-Funktionen sehr, deshalb bleibe ich lieber dabei.
Antwort1
Ich habe es endlich herausgefunden. Der Grund, warum es so lange gedauert hat, war die Quote.
Ich habe die Ausführung deaktiviert:
sudo btrfs quota disable /my/mount/path/
Jetzt gleicht es meine FS in nur wenigen Minuten aus.