RAID (Redundant Array of Independent Disks) combines several drives so a server keeps running when one fails, gets faster, or both. Knowing the RAID levels helps you pick a dedicated server configuration and understand what protection you really have. RAID is not a backup, and this guide explains why.
Before you start
RAID matters on dedicated and bare-metal servers where you see the physical disks. On a VPS the host handles redundancy beneath your virtual disk. To check a software array you need root SSH access.
RAID levels at a glance
| Level | Min. disks | Usable space | Survives | Performance |
|---|---|---|---|---|
| RAID 0 | 2 | 100% | No disk failure | Fastest reads and writes |
| RAID 1 | 2 | 50% | All but one disk in the mirror | Good reads, normal writes |
| RAID 5 | 3 | (n-1) disks | 1 disk | Good reads, slower writes |
| RAID 6 | 4 | (n-2) disks | 2 disks | Good reads, slowest writes |
| RAID 10 | 4 | 50% | 1 disk per mirror pair | Fast reads and writes |
RAID 0 – striping
Data is split across all disks. You get full capacity and speed, but if any one disk dies, the whole array is lost. Only use it for scratch data you can recreate.
RAID 1 – mirroring
Every disk holds a full copy. It is simple and reliable and is the usual choice for two-disk servers and boot drives.
RAID 5 and RAID 6 – parity
Parity information is spread across disks so the array can rebuild a failed drive. RAID 5 survives one failure, RAID 6 two. Writes are slower because parity must be recalculated. With large drives, rebuilds take many hours, and a second failure during a RAID 5 rebuild loses the array – which is why RAID 6 is preferred for big HDD arrays.
RAID 10 – mirrored stripes
Pairs of mirrored disks are striped together. It gives speed close to RAID 0 with the redundancy of RAID 1 and fast rebuilds. It is the common choice for databases and busy hosting servers.
Hardware vs software RAID
- Hardware RAID uses a controller card, often with a battery- or flash-backed write cache. The OS sees one disk. Monitoring needs the vendor's tool.
- Software RAID (Linux
mdadm, ZFS) uses the CPU. It is flexible, controller-independent and very common with NVMe drives.
Check a Linux software RAID array
- See all arrays and their sync state:
cat /proc/mdstat[UU]means both mirror members are up;[U_]means one disk is missing or failed. - Show details for an array:
mdadm --detail /dev/md0 - Make sure mdadm emails you on failure by setting
MAILADDR you@example.comin/etc/mdadm/mdadm.conf(Debian/Ubuntu) or/etc/mdadm.conf(RHEL family).
Warning: RAID protects against disk failure only. It copies deletions, ransomware and corrupted files instantly to every disk. Keep separate, off-server backups.
Troubleshooting
- Array shows degraded: identify the failed disk with
mdadm --detailandsmartctl -a /dev/sdX, then ask your provider to replace it. - Slow server during rebuild: rebuilds use disk bandwidth; this is normal and ends when
/proc/mdstatshows completion.
FAQ about RAID levels
Which RAID level is best for a web server?
RAID 1 for two disks, RAID 10 for four or more. Both rebuild quickly and handle random I/O well.
Is RAID a backup?
No. RAID keeps the server online after a disk failure; backups let you recover deleted or damaged data.
Should NVMe drives use RAID?
Yes for redundancy. Software RAID 1 or 10 with mdadm is common for NVMe because many hardware controllers limit NVMe performance.
