linear + mirror
Derived by hand from the Linux md rule — how the pages are sourced
Every disk holds a full copy of the data, written in step. A read is served by any one copy, a write goes to all of them, and the array survives as long as one copy is left. It keeps one disk's worth of space however many disks it has, and it is the simplest redundancy there is.
RAID 1 is the pair linear + mirror: nothing is cut into chunks, and every member holds the whole (mirroring). It is the first level of the 1988 paper, "the most expensive option we consider since all disks are duplicated", and every other level is a cheaper answer to the same problem. There is no layout to choose and no chunk size, because there is nothing to place: mdadm does not accept a chunk size for it.
The strongest fault tolerance per disk: with n copies, n − 1 failures. The number the level is quoted with, one, is the two-disk case; a three-way mirror survives two, and Windows Storage Spaces offers both as two-way and three-way mirror spaces. It also gives a kind of speed that is easy to misunderstand. One read is served by one disk, at that disk's speed; but n readers at once can each have a copy, because the engine spreads requests over the members (performance). A mirror serves more readers, it does not serve a reader faster.
Space: the capacity is one disk's worth, whatever the count, so two disks keep half and three a third. And every write is written n times, at the speed of the slowest copy (write penalty). There is no parity to compute and no read-before-write, which is why a mirror's small writes cost less than a parity array's.
Two things follow from "every member holds the whole". A mirror of mirrors is just a mirror with more copies, which is why a nested level whose spans have shrunk to two-disk mirrors is recognized as one wide RAID 1. And a RAID 5 on two disks is a RAID 1: with one data block per stripe the parity is that block. The Linux kernel uses this to grow a mirror into a RAID 5: it first relabels the two-disk RAID 1 as a two-disk RAID 5, moving nothing because the two layouts are identical on two disks, and only then adds disks. The rebuild is the simplest of any level, a copy from the surviving member; and, like every redundancy, it copies a deletion as faithfully as anything else (RAID is not a backup).
How an array splits its data across its member disks. Striped cuts the data into fixed-size chunks and deals them out to every member in turn; linear writes it as one run, filling the first member before touching the next. Segmentation is about how many disks take part in one request, not about whether the data survives a failure.
RAID 1 · 2 disks
disk 0 disk 1
stripe 0 D0 D0'
stripe 1 D1 D1'
stripe 2 D2 D2'
stripe 3 D3 D3'
How an array keeps its data readable when a member fails: by storing more than the data itself. Two techniques do it. Mirroring keeps whole copies on separate disks; parity keeps a computed summary from which any one missing block, or two with a second parity, can be rebuilt. Redundancy always costs capacity; the question is how much, and how many failures it buys.
disk size, one copy's worth
N = 2 disks of 2 TB → 2 TB usable, whatever N is
the members an adversary must kill, minus one
mirror: every copy must die → 2 → tolerance 1
one logical write costs
every copy is written → 2 I/Os, random or sequential
The rule that says, stripe by stripe, which member holds the parity and where the data starts, or where a mirror's copies go. The level says what is stored; the algorithm says where. Left-symmetric for the parity levels and near for RAID 10 are the defaults nearly everything uses. The choice changes speed and compatibility, not capacity or safety.
Read more — Placement algorithm
a plain mirror has no layout to choose — every member holds a full copy
The component that turns a RAID layout into disk operations. It owns the array's metadata, translates every request from the array's addresses to the members', writes the copies or computes the parity, and keeps serving when a disk fails. It is a role, not a fixed device: a RAID-on-Chip on a controller card, the operating system's own driver, or a boot firmware working with that driver.
Open this example in the sandbox
A desktop link: below the desktop breakpoint the sandbox is not offered (ADR-003).