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는 처음으로 비밀번호를 묻거나 잔액을 확인하는 데 많은 시간이 걸리는 경우에만 묻습니다. 약 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의 균형을 맞춥니다.

관련 정보