баланс btrfs занимает слишком много времени

баланс btrfs занимает слишком много времени

У меня на ноутбуке массив btrfs RAID1 (два раздела по 891GiB на двух HDD). Когда я его запускаю, btrfs balanceон занимает огромное количество времени.

Я знаю, что если бы я хотел сбалансировать всю файловую систему, это заняло бы целую вечность, поэтому я использую фильтр -usage следующим образом; я поместил это в цикл for, потому что не всегда знаю, с какого числа начать.

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

В этом цикле sudo спрашивает мой пароль только в первый раз, или если баланс занял много времени. Это выводится около 20 раз

Done, had to relocate 0 out of 868 chunks

И затем, после того как это заняло огромное количество времени, он печатает

Done, had to relocate 1 out of 868 chunks

Это значит, что он переместил только 1 ГБ (или 200 МБ) данных. Перемещение всего 1 ГБ данных не должно занять так много времени, я могу скопировать гораздо больше данных в эту файловую систему за десятую часть времени.

Это запись на моем сайте fstab:

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

Я также должен упомянуть, что я обычно делаю и удаляю снимки экрана на всякий случай, если сделаю что-то неправильно.

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

У меня также включены квоты, которые помогают мне видеть, сколько данных было изменено между моментальными снимками.

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

Это 16.00EiB, должно быть, какая-то ошибка. У кого есть такой HDD?

Почему балансировка занимает так много времени? Мне очень нравятся функции btrfs, поэтому я предпочитаю оставаться с ними.

решение1

Я наконец понял. Причина, по которой это занимало так много времени, была в квоте.

Я отключил его, запустив:

sudo btrfs quota disable /my/mount/path/

Теперь он балансирует мою ФС всего за несколько минут.

Связанный контент