RAID in Linux is composed of the following subsystems:
Linux Hardware RAID controller drivers
Hardware RAID controllers have no specific RAID subsystem 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 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 referred to as native
mdraid also supports other metadata formats, known as external metadata. Red Hat Enterprise Linux 7 uses
mdraid with external metadata to access ISW / IMSM (Intel firmware RAID) sets.
mdraid sets are configured and controlled through the
Device-mapper RAID or
dmraid refers to device-mapper kernel code that offers the mechanism to piece disks together into a RAID set. This same kernel code does not provide any RAID configuration mechanism.
dmraid is configured entirely in user-space, making it easy to support various on-disk metadata formats. As such,
dmraid is used on a wide variety of firmware RAID implementations.
dmraid also supports Intel firmware RAID, although Red Hat Enterprise Linux 7 uses
mdraid to access Intel firmware RAID sets.