Installation guide

Chapter 13. Redundant Array of Independent Disks (RAID)
88
you have a sufficiently large number of member devices in a software RAID5 array such that the
combined aggregate data transfer speed across all devices is high enough, then this bottleneck
can start to come into play.
As with level 4, level 5 has asymmetrical performance, with reads substantially outperforming
writes. The storage capacity of RAID level 5 is calculated the same way as with level 4.
Level 6
This is a common level of RAID when data redundancy and preservation, and not performance,
are the paramount concerns, but where the space inefficiency of level 1 is not acceptable. Level
6 uses a complex parity scheme to be able to recover from the loss of any two drives in the array.
This complex parity scheme creates a significantly higher CPU burden on sofware RAID devices
and also imposes an increased burden during write transactions. As such, not only is level 6
asymmetrical in performance like levels 4 and 5, but it is considerably more asymmetrical.
The total capacity of a RAID level 6 array is calculated similarly to RAID level 5 and 4, except that
you must subtract 2 devices (instead of 1) from the device count for the extra parity storage space.
Level 10
This RAID level attempts to combine the performance advantages of level 0 with the redundancy
of level 1. It also helps to alleviate some of the space wasted in level 1 arrays with more than 2
devices. With level 10, it is possible to create a 3-drive array configured to store only 2 copies of
each piece of data, which then allows the overall array size to be 1.5 times the size of the smallest
devices instead of only equal to the smallest device (like it would be with a 3-device, level 1 array).
The number of options available when creating level 10 arrays (as well as the complexity of
selecting the right options for a specific use case) make it impractical to create during installation.
It is possible to create one manually using the command line mdadm tool. For details on the
options and their respective performance trade-offs, refer to man md.
Linear RAID
Linear RAID is a simple grouping of drives to create a larger virtual drive. In linear RAID, the
chunks are allocated sequentially from one member drive, going to the next drive only when the
first is completely filled. This grouping provides no performance benefit, as it is unlikely that any
I/O operations will be split between member drives. Linear RAID also offers no redundancy and,
in fact, decreases reliability — if any one member drive fails, the entire array cannot be used. The
capacity is the total of all member disks.
13.5. Linux RAID Subsystems
RAID in Linux is composed of the following subsystems:
Linux Hardware RAID controller drivers
Hardware RAID controllers have no specific RAID subystem in Linux. Because they use special RAID
chipsets, hardware RAID controllers come with their own drivers; these drivers allow the system to
detect the RAID sets as regular disks.
mdraid
The mdraid subsystem was designed as a software RAID solution for Linux; it is also the preferred
solution for software RAID under Linux. This subsystem uses its own metadata format, generally
refered to as native mdraid metadata.