Snapshot Storage Growth Calculator
Estimate snapshot reserve from changed-block churn and retention, then test reduction and headroom against growth, burst load and current capacity.| Measure | Value | Planning meaning | Copy |
|---|---|---|---|
| {{ row.label }} | {{ row.value }} | {{ row.note }} |
| Day | Snapshots | Retained delta | Target reserve | Gap | Copy |
|---|---|---|---|---|---|
| {{ row.day }} | {{ row.snapshots }} | {{ row.retained }} | {{ row.target }} | {{ row.gap }} |
| Case | Change | Target reserve | Delta vs base | Copy |
|---|---|---|---|---|
| {{ row.label }} | {{ row.change }} | {{ row.target }} | {{ row.delta }} |
Reserve Actions
{{ note.title }}
{{ note.body }}
A snapshot can appear almost instantaneously because it initially references existing data, yet its storage cost grows as live blocks are rewritten or deleted. Older versions must remain available for retained restore points, so daily churn often matters more than the number of new files.
Snapshot capacity planning starts with the logical protected dataset and the share changed each day. Retention determines how many days of old blocks remain pinned. Snapshot cadence divides that daily change among restore points, but in a steady changed-block model it does not multiply the total daily churn.
Metadata, clone workspaces, deletion lag, burst churn, and safety headroom can materially increase the target. Growth forecasts add another uncertainty because they hold the churn percentage, retention, and reduction assumptions constant while the protected dataset compounds.
| Driver | Effect on reserve | Frequent error |
|---|---|---|
| Daily change rate | More rewritten or deleted data retains more old blocks. | Substituting net dataset growth for changed-block churn. |
| Retention | More days keep more accumulated changes. | Counting snapshot points without considering how long blocks persist. |
| Reduction ratio | Compression and deduplication reduce modeled storage. | Assuming a ratio that has not been measured on this workload. |
| Baseline accounting | A repository may need a reduced full seed in addition to deltas. | Applying local copy-on-write behavior to every platform. |
Enough capacity does not make a snapshot a complete backup strategy. Restore testing, application consistency, repository health, access separation, immutability, and an off-system copy may still be required. The reserve estimate answers how much space the stated assumptions imply, not whether recovery will succeed.
How to Use This Tool:
Build the base reserve from measured changed-block behavior, then add only the storage layers that exist in the target platform.
- Enter the logical Protected dataset and choose TB, TiB, PB, or PiB. Do not use raw array capacity.
- Set Daily change rate from array telemetry, changed-block reports, or backup deltas, then enter Snapshots per day and Retention window.
- Enter a measured Reduction ratio, or use 1.0 when no compression or deduplication benefit is known. Add Safety headroom after the modeled layers.
- Choose Baseline accounting. Use changed blocks only for a delta reserve; include one reduced seed copy only when the repository stores or bills it.
- Add current reserve, growth, burst, metadata, clone, or cost assumptions only when they apply. Compare the reserve plan with stress cases and the forecast before changing capacity or retention policy.
Interpreting Results:
The reserve target includes retained changed blocks, any seed copy, metadata allowance, clone workspace, and headroom. Sizing target means no current reserve was entered. Reserve covered means current reserve is at least the modeled target, not that every recovery requirement is satisfied.
A positive current gap is a shortfall. When the gap is more than 20% of the target the state becomes Capacity shortfall; a smaller positive gap is Reserve tight. Check the high-churn and burst cases before treating a narrow margin as sufficient.
Technical Details:
All capacity values are normalized to tebibytes (TiB). Decimal TB and PB are converted by their byte definitions, while 1 PiB equals 1,024 TiB. Percentages are applied to logical dataset size before reduction.
Formula Core:
The base model accumulates daily logical churn across retention, divides the retained data by the reduction ratio, adds optional storage layers, then applies headroom.
D is the dataset in TiB, c is daily change as a decimal, d is retention days, q is the reduction ratio, and h is headroom as a decimal. A seed is D ÷ q when enabled. Metadata is a percentage of reduced retained changes, while clone reserve is a percentage of the dataset divided by the same reduction ratio.
Snapshot count equals snapshots per day multiplied by retention days. Average logical change per snapshot equals daily logical churn divided by snapshots per day, so cadence changes point count and per-point size but not steady-state retained churn in this model.
Mechanism Core: Stress and Forecast Rules
| Case | Rule | Interpretation |
|---|---|---|
| Quiet | 50% of entered daily churn | Lower-change comparison. |
| Base | Entered daily churn | Current planning assumption. |
| High churn | 200% of entered daily churn | Persistent high-change comparison. |
| Burst day | One normal retention day is replaced by the entered burst rate | Single-day spike, not a sustained rate. |
| Growth forecast | Dataset × (1 + annual growth)months/12 | Churn percentage and policy remain fixed. |
Worked Check:
A 12 TiB dataset changing 2.5% per day retains 9 TiB of logical changes over 30 days. At a 1.4:1 reduction ratio that becomes about 6.43 TiB. Adding 20% headroom produces a reserve target of about 7.71 TiB. Four snapshots per day create 120 restore points, but do not change that base target.
Limitations:
This is a planning model, not a platform inventory. Real consumption can differ because of block size, write amplification, deletion timing, metadata layout, sparse files, database behavior, encryption, compression order, deduplication scope, replication, consistency groups, and provider billing rules. Replace assumptions with observed data and verify the result against the storage platform.
References:
- Definitions of the SI Units: The Binary Prefixes, National Institute of Standards and Technology.
- zfs.8, OpenZFS documentation.
- How to create and manage Elasticsearch snapshots, Simplified Guide.