btrfs のバランス調整に時間がかかりすぎる

btrfs のバランス調整に時間がかかりすぎる

私のラップトップには btrfs RAID1 アレイ (2 つの HDD 上の 2 つの 891GiB パーティション) があります。実行すると、btrfs balance完了するまでに非常に長い時間がかかります。

ファイルシステム全体のバランスをとろうとすると、永遠にかかることが分かっているので、このように -usage フィルターを使用しています。どの番号から開始すればよいか常にわかっているわけではないので、これを for ループに入れています。

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

このループでは、sudoは最初の1回だけ、または残高に時間がかかった場合にのみパスワードを尋ねます。これは約20回印刷されます。

Done, had to relocate 0 out of 868 chunks

そして、膨大な時間をかけて印刷します

Done, had to relocate 1 out of 868 chunks

つまり、1GB (または 200MB) のデータのみが移動されたことになります。1GB のデータの移動にそれほどの時間はかからないはずです。このファイルシステムには、10 分の 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/

今では、わずか数分で FS のバランスが取れます。

関連情報