Jump to content

RAID

From Pulsed Media Wiki


RAID (Redundant Array of Independent Disks) combines multiple physical disks into a single logical volume. Depending on the RAID level, the array can provide faster read/write speeds, protection against disk failure, or both.

RAID was originally defined in a 1988 paper by Patterson, Gibson, and Katz at UC Berkeley, where it stood for "Redundant Array of Inexpensive Disks." The industry later changed "Inexpensive" to "Independent."

RAID levels

Each RAID level makes a different trade-off between capacity, performance, and fault tolerance.

RAID 0 (striping)

Data is split into blocks and written across all disks in the array. If the array has 4 disks, each disk holds roughly 25% of the data.

  • Capacity: 100% of total disk space (4 x 4TB = 16TB usable)
  • Fault tolerance: None. If any single disk fails, the entire array is lost.
  • Performance: Read and write speeds scale with the number of disks. A 4-disk RAID 0 can theoretically read 4x faster than a single disk.

RAID 0 is used where speed matters more than data safety. On a seedbox, torrent data can always be re-downloaded, so the risk of losing data to a disk failure is acceptable in exchange for higher throughput. Pulsed Media's V series products (V1000, V10G) use RAID 0.

RAID 1 (mirroring)

Every write goes to two disks simultaneously. Both disks contain identical copies of the data.

  • Capacity: 50% of total disk space (2 x 4TB = 4TB usable)
  • Fault tolerance: 1 disk can fail. The other disk has a complete copy.
  • Performance: Read speed can be 2x (reads from both disks). Write speed is the same as a single disk (must write to both).

RAID 1 is simple and reliable but expensive in terms of capacity. It is typically used for operating system drives or small critical storage, not for bulk data.

RAID 5 (striping with parity)

Data is striped across all disks, with parity information distributed across the array. The parity allows the array to reconstruct any single failed disk's data from the remaining disks.

  • Capacity: (N-1) disks worth of space. With 4 x 4TB disks: 12TB usable.
  • Fault tolerance: 1 disk can fail. The array continues operating in degraded mode while the failed disk is replaced and rebuilt.
  • Performance: Read speeds are fast (similar to RAID 0 minus one disk). Write speeds are slower than RAID 0 because every write also updates parity.

RAID 5 is the most common choice when data protection matters but 50% capacity loss (RAID 1/10) is too expensive. Pulsed Media's M series products (M1000, M10G) use RAID 5.

The trade-off: during a rebuild after a disk failure, the array runs in degraded mode with reduced performance. If a second disk fails before the rebuild finishes, the array is lost. Rebuilds on large disks (8TB+) can take 12-24 hours or more.

RAID 6 (double parity)

Like RAID 5, but with two independent parity calculations. This means two disks can fail simultaneously without data loss.

  • Capacity: (N-2) disks. With 6 x 4TB: 16TB usable.
  • Fault tolerance: 2 disks can fail.
  • Performance: Slightly slower writes than RAID 5 (two parity calculations per write).

RAID 6 is used in large arrays where the probability of a second disk failure during rebuild is not negligible. With modern high-capacity drives (8TB, 16TB, 20TB), rebuild times are long enough that a second failure during rebuild is a real risk.

RAID 10 (mirrored stripes)

Disks are paired into RAID 1 mirrors, then the mirrors are striped together as RAID 0. Combines the speed of striping with the redundancy of mirroring.

  • Capacity: 50% of total disk space.
  • Fault tolerance: 1 disk per mirror pair can fail. If both disks in the same pair fail, the array is lost.
  • Performance: Fast reads (striped across mirrors) and fast writes (no parity calculation).

RAID 10 is used where both speed and redundancy matter, and the 50% capacity cost is acceptable. Database servers and high-IOPS workloads commonly use RAID 10.

RAID 50 and RAID 60

Nested levels that stripe across multiple RAID 5 (or RAID 6) groups. Used in very large arrays (12+ disks) to improve rebuild speed and reduce the performance impact of a single degraded group.

Software RAID vs. hardware RAID

Software RAID Hardware RAID
Controller Operating system (kernel) Dedicated RAID card with its own CPU
Linux tool mdadm Vendor utilities (hpssacli, megacli, storcli)
Cost Free RAID card costs $200-2000+
Performance CPU handles parity; negligible on modern hardware Dedicated hardware; marginally faster parity
Portability Array metadata is on the disks; readable by any Linux system Tied to the specific controller model
Battery backup Relies on OS/UPS Some cards have battery-backed cache (BBU)
Transparency Full visibility into array state via mdadm, /proc/mdstat Requires vendor tools; some hide information

Pulsed Media uses Linux software RAID (mdadm) on its infrastructure. Software RAID has no vendor lock-in: if a motherboard fails, the disks can be moved to any Linux system and the array will assemble. With hardware RAID, replacing a failed controller requires finding the same model (or a compatible one).

Checking array status

On a Linux system with mdadm:

<syntaxhighlight lang="bash">

  1. Show all arrays and their status

cat /proc/mdstat

  1. Detailed info on a specific array

mdadm --detail /dev/md0 </syntaxhighlight>

A healthy array shows [UUUUU] (all disks up). A degraded array shows an underscore for the failed disk, e.g., [UU_UU].

RAID and performance

Normal operation

RAID 0 and RAID 10 have the best raw throughput because every disk contributes to reads without parity overhead. RAID 5 and RAID 6 are slightly slower on writes due to parity calculation, but modern CPUs handle this without noticeable impact.

For seedbox workloads (large sequential reads and writes from BitTorrent), all RAID levels perform well. The bottleneck is usually the network, not the disk array.

During rebuild (resync)

When a disk fails and a replacement is inserted, the array rebuilds by recalculating the missing data from parity (RAID 5/6) or copying from the mirror (RAID 1/10). During rebuild, the array must read from all remaining disks while simultaneously writing to the new disk.

The performance impact is substantial. Measured on real hardware, a RAID 5 rebuild can reduce both read and write speeds by 80-90%. This is not a brief spike — a rebuild on large drives can take 12-24 hours, during which the server performs significantly worse.

This is one reason Pulsed Media runs periodic array health checks (RAID scrubs) on a staggered schedule rather than all servers at once. A fleet-wide check would create an I/O storm.

RAID is not backup

RAID protects against disk hardware failure. It does not protect against:

  • Accidental file deletion (the delete happens on all disks simultaneously)
  • Filesystem corruption (corrupted data is faithfully replicated/parity-protected)
  • Ransomware or malware (encrypts data on the live filesystem)
  • Fire, flood, or theft (all disks are in the same machine)

Backups are separate copies stored elsewhere. RAID and backups solve different problems.

RAID in seedbox hosting

In seedbox hosting, RAID level is a product choice that reflects the customer's priority:

Product type RAID level Trade-off
V series (V1000, V10G) RAID 0 Maximum speed and capacity. No redundancy. If a disk dies, data is lost and the seedbox is rebuilt from scratch.
M series (M1000, M10G) RAID 5 Data survives a single disk failure. Slightly less raw throughput and capacity than RAID 0.

For most seedbox users, the data on the seedbox (downloaded torrents) can be re-downloaded from trackers. RAID 0 gives the most space and speed for the price. Users who store data that cannot be replaced (personal files, media libraries) benefit from RAID 5's protection.

Neither option includes offsite backup. If data matters, keep a copy elsewhere.

See also

On the blog:

Knowledge base: