일부 스냅샷을 삭제하여 btrfs 파일 시스템의 일부 공간을 확보하고 싶습니다. 하지만 어떤 것이 효과적으로 제거될 수 있는지 알 수 없습니다.이 질문에 대한 대답은 btrfs 스냅샷에 포함된 데이터의 양을 표시하는 방법을 설명합니다.. 그러나 일시적으로 삭제 가능한 데이터가 스냅샷 사이의 시간보다 오래 보관되는 경우에는 도움이 되지 않습니다. 예를 들어, 월요일에 파일을 생성하고 매일 스냅샷을 수행한 다음 수요일에 삭제하면 해당 파일은 두 스냅샷 모두에서 사용되므로 두 스냅샷에 속하지 않습니다.
내가 찾고 있는 것은 열거하는 방법인 것 같아요그룹다른 스냅샷이 저장하지 않는 데이터를 저장하는 스냅샷입니다.
답변1
응 넌 할 수 있어할당량 그룹.
먼저 각 스냅샷은 하위 볼륨이고 숫자로 된 하위 볼륨 ID를 가지고 있다는 점을 기억하세요. 를 사용하여 볼 수 있습니다 btrfs subvol list /myfs
.
그런 다음 하위 볼륨 10, 20, 30(일반적으로)에만 포함된 블록이 얼마나 많은 공간을 사용하는지 확인하려면 다음을 수행할 수 있습니다.
btrfs quota enable /myfs # if not enabled already
btrfs qgroup create 1/12345 /myfs # any number not already in use
btrfs qgroup assign --no-rescan 0/10 1/12345 /myfs
btrfs qgroup assign --no-rescan 0/20 1/12345 /myfs
btrfs qgroup assign --no-rescan 0/30 1/12345 /myfs
btrfs quota rescan -w /myfs # may take a long time
btrfs qgroup show /myfs
다음과 같은 줄이 보일 것입니다.
1/12345 107.07GiB 38.93GiB
이는 다음을 의미합니다.
하위 볼륨 10, 20, 30에는 총 107GiB의 총 데이터가 포함되어 있으며, 다른 하위 볼륨(예: 다른 스냅샷 또는 "활성" 파일 시스템)에 포함되거나 포함되지 않을 수 있는 데이터도 포함됩니다.
여기에는 38.93GiB의 데이터가 포함되어 있습니다.아니요다른 하위 볼륨의 일부. 하위 볼륨 10, 20, 30을 삭제하면 38.93GiB의 공간이 확보됩니다.