Linux VPS

RAID levels explained: RAID 0, 1, 5, 6 and 10 for servers

What RAID 0, 1, 5, 6 and 10 do, how much usable space and fault tolerance each gives, hardware vs software RAID, and how to check a Linux mdadm array.

IntermediateDedicated servers3 min read

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

LevelMin. disksUsable spaceSurvivesPerformance
RAID 02100%No disk failureFastest reads and writes
RAID 1250%All but one disk in the mirrorGood reads, normal writes
RAID 53(n-1) disks1 diskGood reads, slower writes
RAID 64(n-2) disks2 disksGood reads, slowest writes
RAID 10450%1 disk per mirror pairFast 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

  1. 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.

  2. Show details for an array:
    mdadm --detail /dev/md0
  3. Make sure mdadm emails you on failure by setting MAILADDR you@example.com in /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 --detail and smartctl -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/mdstat shows 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.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.