스냅샷은 공간 관리에 대해 흥미로운 딜레마를 제공합니다. 스냅샷은 지정된 시점에서 공유에 의해 참조되는 물리적 블록 세트를 나타냅니다. 초기에 이 스냅샷은 추가 공간을 사용하지 않습니다. 그러나 새 공유에서 새 데이터를 덮어씀에 따라 활성 공유의 블록은 새 데이터만 포함하며 기존 블록은 가장 최근의 스냅샷(기존 스냅샷도 가능)에 의해 "보유"됩니다. 점차적으로 활성 공유에서 내용이 분산됨에 따라 스냅샷은 추가 공간을 사용할 수 있습니다.
다른 일부 시스템은 사용 가능한 것처럼 가장하거나 스냅샷 데이터를 보관할 수 있는 공간만 "예약"하여 스냅샷 비용을 숨기려고 합니다. 이러한 시스템은 스냅샷에 내재된 기본 사실에 대해서는 명확하게 언급하지 않으려고 합니다. 지정된 크기의 파일 시스템 스냅샷을 생성하고 파일 시스템 내에서 데이터를 100% 다시 쓰는 경우 당연히 원래 파일 시스템에 있던 데이터의 양을 두 배로 늘리도록 참조를 유지 관리해야 합니다. 스냅샷이 사용 가능하지 않고 다른 시스템에서 이 추상화를 제공하는 유일한 방법은 공간이 가득 찰 때 자동으로 스냅샷을 삭제하는 것입니다. 이는 분명히 최악의 상황을 초래할 수 있습니다. 프로세스가 통제하기 어렵게 되면서 데이터를 다시 작성할 때 이전 스냅샷이 모두 제거되어 프로세스에서 복원 작업이 불가능해질 수 있습니다.
Oracle ZFS Storage Appliance에서는 스냅샷 비용은 항상 명시적이며 지정된 환경에 대한 관리 모델에 가장 적합한 방식으로 이 공간을 관리할 수 있는 도구가 제공됩니다. 각 스냅샷에는 2개의 연관된 공간 통계인 고유한 공간과 참조된 공간이 있습니다. 참조된 공간의 양은 스냅샷이 생성되었을 때 파일 시스템에서 사용하는 총 공간입니다. 이 공간은 스냅샷이 모든 데이터 블록에 대한 유일한 참조로 남는 경우 해당 스냅샷의 이론적인 최대 크기를 나타냅니다. 고유한 공간은 현재 스냅샷에서만 참조되는 물리적 공간의 양을 나타냅니다. 스냅샷이 삭제되면 풀의 나머지에서 고유한 공간을 사용할 수 있습니다. 모든 스냅샷에서 사용하는 공간의 양은 모든 스냅샷에서의 고유한 공간 합계에 해당되지 않습니다. 공유 및 단일 스냅샷을 사용하는 경우 모든 블록은 스냅샷과 공유 중 하나 또는 모두에서 참조되어야 합니다. 그러나 여러 스냅샷의 경우 블록이 특정 스냅샷이 아닌 일부 스냅샷 하위 세트에서 참조될 수 있습니다. 예를 들어, 파일이 만들어지면 2개의 스냅샷인 X 및 Y가 생성되고, 파일이 삭제되고, 다른 스냅샷 Z가 생성되고, 파일 내 블록이 Z가 아닌 X 및 Y에 의해 보관됩니다. 이 경우 Z를 삭제할 때 공간이 확보되지 않지만 X와 Y를 모두 삭제하면 공간이 확보됩니다. 이 때문에 스냅샷에서 사용하는 총 공간의 양은 항상 감소하지만 스냅샷을 삭제하면 이웃 스냅샷에서 참조하는 고유한 공간이 영향을 받을 수 있습니다.
사용량 분석도 제공되지만 프로젝트 또는 공유의 총 크기는 항상 모든 스냅샷에서 사용하는 공간을 차지합니다. 이 총 공간에서 물리적 제약 조건을 적용하기 위해 프로젝트 레벨에서 쿼터 및 예약을 설정할 수 있습니다. 또한 쿼터 및 예약을 파일 시스템 레벨에서 설정할 수 있으며 이러한 설정은 참조된 데이터 또는 총 데이터에만 적용할 수 있습니다. 쿼터 또는 예약을 참조된 데이터 또는 총 물리적 데이터에 적용해야 할지 여부는 관리 환경에 따라 달라집니다. 사용자가 자신의 스냅샷을 관리할 수 없는 경우(예: 스냅샷에 대해 자동 스냅샷 일정이 설정된 경우) 쿼터는 일반적으로 계산에 스냅샷을 포함하지 않아야 합니다. 그렇지 않으면 사용자의 공간이 부족하여 파일을 삭제할 수 없을 때 당황할 수 있습니다. 스냅샷 또는 이러한 스냅샷 관리 방법을 모르고 있는 경우 관리자가 개입하지 않고는 이러한 상황이 복구되지 않을 수 있습니다. 이러한 시나리오에서 스냅샷은 백업 기능을 제공하기 위해 시스템 작동에 영향을 준 오버헤드 비용을 나타냅니다. 반면 사용자가 자신의 물리적 공간 요구 사항에 따라 비용을 지불해야 하며 사용자가 자신의 데이터 세트에 대한 이동률에 따라 요구 사항에 맞는 몇 가지 백업 레벨을 제공하기 위해 스냅샷을 선택할 수 있는 환경이 있습니다. 이러한 환경에서는 스냅샷을 포함하여 총 물리적 데이터를 기반으로 쿼터를 적용하는 것이 더 적합합니다. 사용자는 스냅샷의 비용을 잘 알고 있으며 어플라이언스에 대한 전용 역할처럼 스냅샷을 적극적으로 관리하는 방법을 제공받을 수 있습니다.