PVC Size Calculator
Size a PersistentVolumeClaim correctly based on data growth and application needs.
About PVC Size Calculator
PersistentVolumeClaim sizing should account for both existing data and expected growth over the planning horizon, plus a safety margin so the volume doesn't fill up before the next resize cycle: size = (current + daily_growth × retention) × (1 + margin ÷ 100). Many storage classes support online volume expansion, but planning ahead avoids emergency resizes or application-level failures from a full disk.
Formula
recommendedSize = (currentData + dailyGrowth × retentionDays) × (1 + safetyMargin / 100)
- D_0
- Current data size in GB
- g
- Daily growth rate in GB/day
- R
- Retention/planning period in days
- m
- Safety margin percentage
- S
- Recommended PVC size in GB
Worked example
With the default values below, PVC Size Calculator returns Recommended PVC Size of 193.8. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Current Data Sizeaccepts 0–1,000,000 GB
- 20 GB
- Daily Growthaccepts 0–100,000 GB/day
- 1.5 GB/day
- Retention Periodaccepts 0–3,650 days
- 90 days
- Safety Marginaccepts 0–200 %
- 25 %
Results
- Recommended PVC Size
- 193.8 GB
- Recommended PVC Size
- 180.4 GiB
- Projected Data at End of Retention
- 155.0 GB
- Total Growth Over Retention
- 135.0 GB
Step by step
- 1Projected growth over retention= 135.0 GB
- 2Projected total data= 155.0 GB
- 3Recommended PVC size with margin= 193.8 GB
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax or fees or charges into account.
- Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Can I just resize the PVC later instead of over-provisioning?
If your StorageClass has allowVolumeExpansion: true, yes — but expansion isn't instantaneous and some CSI drivers require a pod restart to pick up the new size, so leaving margin still reduces operational risk.
What safety margin is typical?
20-30% is common for predictable workloads; unpredictable or bursty growth (e.g. log volumes during incidents) often warrants 50% or more.
Should database PVCs be sized differently than log PVCs?
Yes — databases often need extra headroom for WAL files, temporary tables, index rebuilds and vacuum/compaction operations, which can temporarily double disk usage during maintenance.
Does this account for filesystem overhead?
No — reserve additional space for filesystem metadata and reserved blocks (ext4 reserves ~5% by default), especially relevant for smaller volumes where that overhead is proportionally larger.
Related Calculators
You might also need
- PV Capacity CalculatorCommonly used together
- StatefulSet Capacity CalculatorCommonly used together
- StorageClass Performance CalculatorCommonly used together
- Prometheus Storage CalculatorCommonly used together
- Terraform State Size CalculatorCommonly used together
- ELK Storage CalculatorCommonly used together
