Drives fail. In a datacenter with thousands of them, several fail every week. RAID — Redundant Array of Independent Disks — is how a server keeps running through a drive failure, and the level chosen decides how much capacity you give up for how much safety.
The building blocks
Two ideas combine into every RAID level:
- Striping — split data across several drives so reads and writes happen in parallel. Faster, but a single failure loses everything.
- Mirroring / parity — keep a second copy (mirror) or a checksum from which a missing drive can be recomputed (parity). Survives failures, at a capacity cost.
RAID 0 — striping only
Two or more drives, data split across them. Capacity is the sum; speed is excellent; any one drive failing loses all data. Used for scratch space and nothing else on a server.
RAID 1 — mirror
Two drives holding identical data. Capacity of one drive; reads can come from either; one drive can fail with no loss. The simplest reliable setup and what most small servers use for the OS.
RAID 5 — striping with single parity
Three or more drives; data striped, with one drive's worth of parity spread across them. Capacity is (n−1) drives; survives one failure. Cheap capacity, but two problems on modern large drives: writes are slow (every write updates parity), and a rebuild after a failure reads every other drive in full — on 16 TB disks that is many hours during which a second failure loses everything. Rarely chosen for new hosting servers.
RAID 6 — double parity
Like RAID 5 with two parity drives; capacity (n−2); survives two simultaneous failures. The standard for large archive arrays where capacity matters and write speed does not.
RAID 10 — mirrored pairs, striped
Four or more drives in mirrored pairs, striped across the pairs. Capacity is half; reads and writes are fast; survives one failure per pair. Rebuilds are quick (copy one drive to its partner, not recompute from all). This is what hosting servers use for customer data: the combination of speed, fast recovery and simple failure behaviour is worth the 50% capacity cost.
Side by side
| Level | Min drives | Usable capacity | Survives | Write speed | Rebuild |
|---|---|---|---|---|---|
| 0 | 2 | 100% | nothing | fastest | n/a |
| 1 | 2 | 50% | 1 drive | good | fast |
| 5 | 3 | (n−1)/n | 1 drive | slow | slow, risky |
| 6 | 4 | (n−2)/n | 2 drives | slower | slow |
| 10 | 4 | 50% | 1 per pair | fast | fast |
Hardware or software RAID?
A hardware RAID card does the work in a dedicated chip with a battery-backed cache; the OS sees one drive. Software RAID (Linux mdadm, or ZFS) does it in the kernel. On modern CPUs software RAID performs as well, costs nothing, and does not depend on a specific card being available when the server needs rebuilding in three years. NVMe drives in particular are almost always software-mirrored, since they attach directly to the CPU.
Check a Linux software array:
cat /proc/mdstat
sudo mdadm --detail /dev/md0A [UU] means both members are healthy; [U_] means one has dropped out and the array is running without redundancy.
What RAID does not protect against
This is the part that matters more than the levels. RAID keeps the server up when a drive fails. It does nothing for:
- a file you deleted — the deletion is mirrored instantly;
- ransomware or a hacked site — the corrupted files are mirrored too;
- a failed controller, a fire, a flood, or a datacenter power event that takes both drives;
- a failed rebuild after the second drive of a pair goes.
Every one of those needs a backup: a copy elsewhere, taken at a point in time. RAID is availability; backup is recovery. Servers need both. Automatic backups and testing restores covers the second half.
On a VPS you do not see the array — the host's storage layer handles it. What to ask a provider: is customer data on redundant storage, and where are the backups kept? At VPSPioneer, data lives on mirrored NVMe and backups go daily to separate storage with 14-day retention; that is the answer you want from anyone.