How it works
This model uses identical drives and a healthy conventional array. Hot spares contribute no active capacity or performance and do not increase simultaneous-failure tolerance. RAID 1 is exactly a two-drive mirror; RAID 10 stripes over two-drive mirror pairs. RAID 50 and 60 stripe over equal-sized RAID 5 or RAID 6 groups. Capacity excludes filesystem, controller metadata, formatting and other reserved space. GB and TB use powers of 1,000; GiB and TiB use powers of 1,024. RAID is not a backup: deletion, ransomware, controller faults and unreadable data can still cause loss.
The formulaActive drives N = total drives - hot spares
Usable drive equivalents D: RAID 0 = N; RAID 1 = 1; RAID 10 = N/2; RAID 5 = N-1; RAID 6 = N-2; RAID 50 = N-groups; RAID 60 = N-2 x groups
Usable bytes = D x per-drive bytes
Ideal full-stripe write = D x per-drive sequential write
Random read IOPS = N x per-drive IOPS
Small random write IOPS = N x per-drive IOPS / write penalty
Write penalty: RAID 0 = 1; RAID 1/10 = 2; RAID 5/50 = 4; RAID 6/60 = 6
Put it into practice
EXAMPLEEight 4 TB drives in RAID 6 with one hot spare leave seven active drives. Five drive equivalents provide 20 TB (about 18.19 TiB) before formatting; 8 TB is parity overhead and 4 TB is spare capacity.
EXAMPLEEight active drives in RAID 10 create four mirror pairs and provide half the raw capacity. Four failures are survivable only if each is in a different pair; two failures in one pair lose the array.
EXAMPLETwelve active drives in RAID 60 with two groups give two six-drive groups. Each has four data equivalents and two parity equivalents, for eight data equivalents overall. Three failures in one group lose the array, even if the other group is intact.
Good to know
Are the performance figures guarantees?
No. They are idealized factors for a healthy array with identical drives, evenly distributed I/O, sufficient queue depth and no controller, bus or network bottleneck. Cache, stripe size, firmware, latency, SSD garbage collection and rebuild/degraded operation can dominate real performance. Benchmark the actual workload.
Why separate sequential bandwidth and random IOPS?
Sequential factors assume large aligned full-stripe transfers. Small random writes use a read-modify-write cost model: one data and one parity read/write for RAID 5, or one data and two parity read/writes for RAID 6. Full-stripe writes avoid those old-data reads, so the small-write penalty is not applied to sequential bandwidth.
What is assumed for random IOPS?
The optional per-drive IOPS value assumes equal read and write service cost, a fixed small block size and many independent outstanding operations. Read-only and write-only estimates are separate workloads, not simultaneous rates or a mixed-workload forecast. Single-request latency is not improved by multiplying drive count.
How are mirrored reads modeled?
The lower sequential factor uses one copy per mirror pair. The higher factor is an ideal aggregate ceiling with independent read streams balanced across both copies. A single sequential stream may get only the lower factor. Controller scheduling determines whether extra mirror read bandwidth is available.
Can I use different drives or automatic spare rebuilding?
This calculator assumes identical capacity and performance for all members and spares. Mixed capacities, asymmetric groups, multiway mirrors, distributed sparing and vendor-specific RAID variants are not modeled. A hot spare may replace a failed member only when compatible and configured; rebuild time and rebuild risk are not estimated.