저는 btrfs 스냅샷 작업을 많이 하는데 제가 관심 있는 것 중 하나는 주어진 스냅샷이 얼마나 많은 공간을 차지하는지, 더 구체적으로 말하면 btrfs 스냅샷이 얼마나 많은 독점 데이터를 차지하는지입니다. 스냅샷을 삭제하면 공간이 확보됩니다.
내가 아는 한, 이 정보를 찾는 유일한 방법은 btrfs 할당량을 활성화하는 것입니다.
# btrfs quota enable /
그리고 달리는 중
# btrfs qgroup show /
이것은 매우 잘 작동합니다. 문제는 실제로 btrfs 할당량을 그 이외의 다른 용도로 사용하지 않는다는 것입니다. 즉, 항상 btrfs 할당량을 활성화하거나 "btrfs qgroup show /" 명령을 실행하기 전에 일시적으로 활성화하고 즉시 활성화할 수 있는 옵션이 있음을 의미합니다. 비활성화하십시오. 또한, 마지막으로 btrfs 할당량은 아직 실험적이라고 들었습니다(제가 틀렸나요?).
기본적으로 제가 알고 싶은 것은 다음과 같습니다.
- btrfs 할당량을 활성화하면 시스템 안정성에 영향을 미치나요?
- btrfs 할당량을 활성화하면 시스템 성능에 영향을 미치나요?
"보안을 위한" 대답은 필요할 때만 할당량을 활성화하는 것이라는 것을 알고 있지만 실제로는 "btrfs qgroup show /"를 실행하고 출력을 더 읽기 쉬운 형식으로 인쇄하고 항상 활성화 및 비활성화하는 코드를 추가하는 스크립트를 만들고 있습니다. 할당량 스크립트 속도가 크게 느려지고 복잡성이 추가되므로 항상 할당량을 활성화하는 것이 좋지만 단점이 있는지는 모르겠습니다.
답변1
개인 NAS에 btrfs를 사용합니다. 이는 1,000개 이상의 스냅샷이 포함된 3.7T 파일 시스템입니다. 스냅샷을 사용하여 백업을 외부 드라이브에 동기화합니다. 내 사용 사례에서 할당량을 활성화하면 시스템 안정성과 성능에 부정적인 영향을 미칠 수 있습니다. 할당량 계산이 진행되는 동안 BTRFS 트랜잭션이 몇 시간 동안 중단될 수 있습니다. 이로 인해 파일 시스템에 접근하는 모든 프로세스가 중단 없는 디스크 절전 상태에서 중단됩니다. 짝수 ls
또는 df
할당량 계산이 완료될 때까지 중단되고 종료할 수 없게 됩니다.
내 생각에는 스냅샷을 더 적게 사용했다면 이 문제가 발생하지 않았을 것입니다. 할당량은 일부 사람들의 작업량에는 합리적으로 잘 작동하는 것 같지만 내 작업량에는 그렇지 않습니다.