문제는 사소한 것이 아닙니다. BTRFS는 COW 파일 시스템입니다. 하드 디스크에 저장된 개체는 여러 파일에서 참조될 수 있습니다.
프로덕션 서버에서 백업 솔루션의 일부로 BTRFS 스냅샷을 사용합니다. 이런 방식으로 주어진 하위 볼륨에 대해 공간 효율적이고 탐색 가능한 기록을 가질 수 있습니다(저는스냅샷Btr).
다양한 목적으로 사용되는 여러 개의 독립적인 btrfs 하위 볼륨이 있고 각 하위 볼륨에 대한 백업 구성표가 있습니다. 여유 공간이 소진되면 스마트 로그 시간 비용 알고리즘을 기반으로 각 백업 풀에서 최소한으로 필요한 백업 스냅샷을 찍을 수 있습니다 SnapBtr
.
각 백업을 삭제한 후 공개될 데이터의 양과 오래된 스냅샷의 수명, 해당 백업 풀의 중요성을 측정할 방법이 필요합니다. 이전 정보를 잃어버렸습니다.
내가 이해한 바에 따르면 BTRFS의 여유 공간 계산 프로세스는 간단하지도 빠르지도 않습니다. 해제될 공간의 크기를 얻기 위해 하위 볼륨 삭제를 시뮬레이션할 수 있는 것이 필요합니다.
누가 날 도울 수 있죠? 이 메시지를 에 게시해야 합니까 [email protected]
?
답변1
입증된 바와 같이여기, 실제로는 매우 간단합니다.
먼저 btrfs 할당량을 활성화합니다.
# btrfs quota enable /btrfs_subvolume
그런 다음 다음을 실행하십시오.
# btrfs qgroup show /btrfs_subvolume
OR
# btrfs qgroup show -f /btrfs_subvolume
Btrfs v3.18.2의 내용은 다음을 보여줍니다.
qgroupid rfer excl
-------- ---- ----
0/260 1.09GiB 1.09GiB
0/260은 하위 볼륨 ID이고, extra는 하위 볼륨의 독점 데이터입니다. 이는 하위 볼륨을 삭제할 경우 확보할 수 있는 공간의 양입니다.
편집 : 이것에 따르면협회, 이는 공식적으로 권장되는 방법인 것 같습니다.
답변2
btrfsQuota.py
출력을 btrfs qgroup show
더 읽기 쉽게 만들려면 하위 볼륨 ID를 하위 볼륨 이름으로 바꾸십시오. 예를 들면 다음과 같습니다.
subvol group total unshared
-------------------------------------------------------------------------------
test/a 0/970 20.05M 0.05M
test/b 0/971 20.05M 10.05M
test/c 0/972 30.05M 10.05M
test/d 0/973 30.05M 0.05M
test/e 0/974 30.05M 10.05M