Storage Expansion Calculator
Calculate additional disks or capacity needed to reach a target storage size.
Inputs
New Disks Needed
4
New Total Usable Capacity (GB)
10,000.00
Added Usable Capacity (GB)
6,000.00
Raw Capacity of New Disks (GB)
8,000.00
RAID Efficiency Used
75.0%
Step by step
Values used
Current Usable Capacity (GB) = 4,000; Target Usable Capacity (GB) = 10,000; New Disk Size Each (GB) = 2,000; RAID Level for New Disks = RAID 5 ((n-1)/n efficiency)
New capacity
new_capacity = current_capacity + disks_added × disk_size × raid_efficiency
New Disks Needed
= 4
New Total Usable Capacity (GB)
= 10,000.00
Added Usable Capacity (GB)
= 6,000.00
Raw Capacity of New Disks (GB)
= 8,000.00
RAID Efficiency Used
= 75.0
How it works
Expanding storage to a target capacity requires accounting for the RAID overhead of the new disks being added, not just their raw size — RAID 5 sacrifices one disk's worth of capacity to parity regardless of array size, RAID 6 sacrifices two, and mirrored levels (RAID 1/10) sacrifice half. This calculator finds the minimum number of same-size new disks, at the chosen RAID level, needed to close the gap between current and target usable capacity.
Formula
New capacity
new_capacity = current_capacity + disks_added × disk_size × raid_efficiency
- n
- disks added
- S
- size per disk
- \eta
- RAID efficiency for that level/count
Frequently Asked Questions
Why does RAID 5 efficiency depend on the number of disks?
RAID 5 always dedicates exactly one disk's worth of capacity to distributed parity, so efficiency is (n-1)/n — with 4 disks that's 75% usable, but with 8 disks it rises to 87.5%, since the fixed one-disk parity cost is spread across more capacity.
Is it better to add disks to an existing array or build a new one?
Growing an existing RAID array (if your RAID controller/mdadm setup supports online reshaping) avoids downtime and data migration, but adding a separate new array is often simpler, avoids a lengthy and I/O-intensive reshape/resync operation, and lets you choose a different RAID level for the new capacity.
Does this account for hot spares?
No — this calculates usable data capacity only. If you want dedicated hot-spare disks for automatic rebuild, add their count on top of the disksNeeded result; they don't contribute to usable capacity in the array itself.