我的笔记本电脑上有一个 btrfs RAID1 阵列(两个 HDD 上的两个 891GiB 分区)。当我跑步时,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
所以这意味着它只移动了 1GB(或 200MB)的数据。只是移动 1GB 数据不应该花费那么多时间,我可以在十分之一的时间内将更多数据复制到该文件系统。
这是我的条目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
是某种错误,谁有这样的硬盘?
为什么平衡需要这么长时间才能完成?我真的很喜欢 btrfs 功能,所以我更愿意继续使用它。
答案1
我终于弄明白了。之所以要花这么长时间,是因为配额的原因。
我禁用它运行:
sudo btrfs quota disable /my/mount/path/
现在它在短短几分钟内就平衡了我的 fs。