SAN LUN Capacity Calculator
Estimate usable SAN capacity with representative RAID ratios and aggregate Fibre Channel bandwidth from port speed and active initiator count.
How these numbers are derived
Usable LUN storage applies the parity or mirroring overhead of the selected RAID level to the raw disk capacity. Mirroring is fixed at 50%, but the parity figures are representative rather than exact: RAID 5 loses one disk per group and RAID 6 loses two, so usable capacity depends on how many disks are in the group. The 80% and 70% here correspond to roughly a five-disk RAID 5 group and a seven-disk RAID 6 group — wider groups give back more, narrower groups less. Either way it is a ceiling, not a commitment: array metadata, snapshot reserve and the free space a pool needs to stay healthy all come out of this figure before any host sees a volume.
Aggregate FC throughput multiplies the port speed by the number of active initiators. Fibre Channel port speeds are quoted per direction, so a 32 Gb port carries roughly 3,200 MB/s each way. This is a wire-rate ceiling and assumes every path is carrying traffic — which, on a misconfigured multipath host, is exactly the assumption that turns out to be false.
Max NVMe-oF read rate converts that aggregate line rate into bytes per second. Whether a workload can reach it depends on the transport binding: FC-NVMe, RDMA over Ethernet and NVMe/TCP have very different latency behaviour at the same nominal speed.
Treat every output here as a sizing sanity check for a design review, not as a performance prediction. Real throughput is bounded by the array backend, the media, and the queue depth the workload actually generates.
Before you act on a number
- Choose the transport first — the port count means little until then. NVMe-oF vs iSCSI vs Fibre Channel compares their command models, support requirements and fabric choices.
- Confirm the vocabulary behind each field in SAN zoning and LUN masking explained.
- Already built and slower than this page suggested? SAN high latency: where to look first works the bottleneck from the host outward.
Everything is calculated locally in your browser. No values entered above are transmitted or stored.