RAID (Redundant Array of Independent Disks) combines multiple physical drives into a single logical unit. It's a fundamental building block of server reliability, but choosing the wrong RAID level can risk data loss or degrade performance.
Common RAID Levels
RAID 0 (Striping): Splits data evenly across two or more disks.
- Pros: Maximum speed and full capacity utilization.
- Cons: Zero redundancy. If one drive fails, all data is lost.
- Use Case: Caching, temporary processing where data loss is acceptable.
RAID 1 (Mirroring): Writes the exact same data to two drives simultaneously.
- Pros: High redundancy (one drive can fail completely), fast read speeds.
- Cons: 50% capacity penalty (2TB + 2TB = 2TB usable).
- Use Case: OS boot drives, critical accounting data.
RAID 5 (Striping with Parity): Distributes data and parity info across 3+ drives.
- Pros: Good balance of storage efficiency (N-1 capacity) and redundancy (survives 1 drive failure).
- Cons: Slow write penalties due to parity calculation; long rebuild times can risk a second failure.
- Use Case: General purpose file servers, read-heavy archives.
RAID 10 (Stripe of Mirrors): Combines RAID 1 and RAID 0. Requires 4+ drives.
- Pros: Excellent performance and high redundancy.
- Cons: Expensive (50% usable capacity).
- Use Case: High-performance databases, virtualization hosts.
Hardware vs. Software RAID
Hardware RAID uses a dedicated controller card, offloading work from the server's CPU and often including cache batteries for power-loss protection. Software RAID (like Linux mdadm or ZFS) runs on the host CPU.
Modern CPUs are so powerful that Software RAID is now preferred for many environments (especially ZFS), offering greater flexibility and hardware independence. However, dedicated Hardware RAID remains common in enterprise servers for its plug-and-play reliability.
