5.60 raids options for EBS
This lesson discusses the RAID options available for EBS. EBS is already a redundant storage system: each volume is replicated across multiple servers within its availability zone. So why use RAID on top? Because you may need to push IOPS or throughput beyond what a single volume can provide. RAID has to be configured inside the guest OS — Linux supports it via mdadm, Windows via Storage Spaces. AWS does not natively offer RAID 5 or RAID 6 for storage volumes.
RAID 0 — performance
- Combines two or more EBS volumes into a single logical volume.
- Data is striped block-by-block across the underlying disks.
- Doubles (or more) total throughput and total IOPS, doubles total size.
- Example: two 500 GB
io1volumes at 4,000 IOPS each → 1 TB logical volume at 8,000 IOPS. - Major drawback: no redundancy — if one EBS volume fails, the whole array is lost.
- Use case: high-IO workloads where the application handles redundancy itself (databases with native replication, caches).
RAID 1 — fault tolerance — mirrors data in real time across two EBS volumes. If one volume fails, the logical volume remains fully functional thanks to the surviving mirror. You can even hot-swap the failed volume so the array keeps running in degraded mode while it rebuilds. Throughput and IOPS do not increase; total capacity is half the sum of the disks (in our 500 GB × 2 example: a 500 GB logical volume at 4,000 IOPS).
Use cases for RAID 1: applications that need stronger fault tolerance than EBS already provides, or that require maintenance on individual disks without downtime. RAID 0 and RAID 1 are the only commonly used options on EBS — they are the two main building blocks to either push performance or harden against per-volume failure. Refer to the AWS documentation for advanced RAID 10 patterns and exact tuning per workload.
Summary
This lesson covers RAID options for AWS EBS volumes to increase I/O performance and storage capacity. It explains two main RAID configurations: RAID 0, which combines volumes for increased throughput and capacity but offers no fault tolerance, and RAID 1, which replicates data across volumes in real-time for improved fault tolerance at the cost of reduced usable capacity. Both approaches require Linux or Windows support and are suitable for different use cases depending on performance and availability requirements.
Key points
- RAID 0 (striping) distributes data across multiple EBS volumes to increase overall throughput and storage space, doubling both if combining two equal volumes
- RAID 0 has no fault tolerance; if one volume fails, all data is lost, making it unsuitable for critical data
- RAID 1 (mirroring) replicates data in real-time across volumes, providing fault tolerance and allowing continued operation if one volume fails
- RAID 1 reduces usable capacity by half since data must be written to both volumes, but maintains full data availability
- Choose RAID 0 for high-throughput applications without sensitivity to failure risk, such as databases with native replication capabilities
- Choose RAID 1 for applications requiring high fault tolerance and the ability to maintain service during disk maintenance
FAQ
What happens to data if a disk fails in a RAID 0 configuration?
In RAID 0, if one disk fails, all data becomes inaccessible because the data is distributed across multiple volumes. The entire logical volume loses integrity and cannot be recovered.
How does RAID 1 maintain data availability when a disk fails?
RAID 1 continuously replicates data across two volumes in real-time. If one volume fails, the logical volume remains functional by accessing data from the remaining volume.
Can I increase both capacity and performance with RAID 1?
RAID 1 increases fault tolerance but does not increase overall capacity or throughput. Two 500GB volumes with 4000 IOPS each result in a 500GB logical volume with 4000 IOPS, not 1TB. RAID 0 is needed to increase both capacity and performance.