Skip to content

EBS Durability and RAID

An EBS volume is replicated within its Availability Zone, so a single device failure does not lose data. AWS publishes durability as an annual failure rate:

  • gp2, gp3, io1, st1 and sc1 are designed for 99.8–99.9% durability, an annual failure rate no higher than 0.2% — at most two volume failures per thousand running volumes in a year.
  • io2 Block Express is designed for 99.999% durability, an annual failure rate of 0.001%.

AWS also designs general-purpose volumes to deliver their provisioned performance 99 percent of the time.

Two limits follow from this. Replication is inside one Availability Zone, so zone loss is a real failure mode for any single volume, and the answer is snapshots (which are stored in S3 and can be copied across Regions) or replication at the application layer. And durability is not backup: a volume that survives hardware failure still contains whatever an operator or an application deleted.

Several EBS volumes can be combined into a software RAID array inside the instance. Because EBS already replicates each volume, the only RAID levels worth using are the ones that add performance or a second copy, not the ones that add parity.

RAID 0 (striping)RAID 1 (mirroring)RAID 5RAID 6
RedundancyNoneOne drive can failOne drive can failTwo drives can fail
Usable capacity100%50%(n−1)/n(n−2)/n
Read performanceBestGoodReducedReduced
Write performanceBestGoodPoorPoor
Recommended on EBSYes, for performanceYes, for redundancyNoNo

Consecutive blocks are written alternately across the volumes in the array. There is no redundancy: losing one volume loses the array. In exchange, IOPS and throughput add up across the members and the full capacity is usable. Use it when performance matters more than the extra copy — remembering that each member volume is already replicated within its zone.

Every write goes to every volume in the array, producing identical copies. Half the provisioned capacity is usable and throughput is that of a single volume, but the array survives the loss of a member. Use it when a second independent copy inside the instance is worth the doubled storage bill.

Parity RAID assumes local disks. On EBS every parity read and write crosses the network, so a significant share of the provisioned IOPS is spent maintaining parity rather than serving the application — and the redundancy it buys largely duplicates the replication EBS already performs. AWS advises against both levels on EBS.

Three arrangements of the same 4,000 provisioned IOPS on Provisioned IOPS SSD volumes:

ConfigurationVolumesTotal IOPSUsable spaceThroughput
No RAID1 × 1,000 GB4,0001,000 GB500 MB/s
RAID 02 × 500 GB8,0001,000 GB1,000 MB/s
RAID 12 × 500 GB4,000500 GB500 MB/s

RAID 0 doubles both IOPS and throughput because each volume carries its own provisioning. RAID 1 buys a copy and nothing else. Instance-level EBS bandwidth limits still apply, so an array cannot exceed what the instance type can drive — use an EBS-optimized instance sized for the aggregate.

Since gp3 and io2 Block Express raised per-volume ceilings to 80,000 and 256,000 IOPS, striping for performance alone is needed far less often than it once was. Check whether a single modern volume meets the requirement before adding a RAID layer that has to be managed, monitored and restored.

  • Take snapshots on a schedule, using Amazon Data Lifecycle Manager or AWS Backup rather than ad hoc scripts.
  • Watch IOPS and throughput utilisation, and the BurstBalance metric on gp2 volumes, before concluding that more volumes are needed.
  • Design for the loss of an Availability Zone: single-AZ storage needs a cross-zone or cross-Region copy, or a stateless architecture that can rebuild it.
  • A RAID array spans several volumes, so a consistent backup means a multi-volume snapshot, not one snapshot per member taken at different moments.