LinuxCommandLibrary

dmraid

Manage software RAID (dmraid) devices

SYNOPSIS

dmraid [options] [devices]

PARAMETERS

-a, --activate
    Activate RAID sets. Can be combined with: a (all), e (all active), i (incomplete metadata), n (no device bound), s (same serial), v (verbose).

-c, --clear
    Clear metadata. Can be combined with: s (specific type).

-d, --delete
    Delete a RAID set by name.

-E, --erase_metadata
    Erase metadata from selected devices. Use with extreme caution as it destroys RAID configuration.

-f, --format
    Format a device for a specified RAID set type. This is a low-level operation and should be used carefully.

-h, --help
    Display help message and exit.

-i, --inquire
    Inquire about RAID sets. Can be combined with: d (device names/serials), l (list RAID set names), m (list RAID set status), n (number of RAID sets), s (RAID set name for serial).

-l, --list_metadata
    List metadata information found on devices.

-m, --metadata_type
    Specify the metadata type to operate on (e.g., 'isw' for Intel Matrix Storage). If not specified, dmraid attempts to auto-detect.

-P, --part_start
    Specify the partition start sector when rebuilding a partition table, usually for specific fakeraid types.

-r, --rebuild_partition_table
    Rebuild the partition table for an active RAID set. This helps the kernel recognize partitions on the RAID volume.

-R, --rebuild
    Initiate a rebuild operation for a degraded RAID set, typically after replacing a failed disk.

-s, --serial
    Specify a RAID set by its unique serial number instead of its name.

-S, --status
    Display the detailed status of activated RAID sets, including array health and member disks.

-v, --version
    Display version information and exit.

-x, --xml
    Output information in XML format, typically used for programmatic parsing or integration with other tools.

DESCRIPTION

dmraid is a utility designed to manage BIOS-assisted software RAID sets, often referred to as "fakeraid" or "firmware RAID". These RAID implementations, commonly found on consumer motherboards (e.g., Intel ICH/RAID, NVIDIA NForce, Promise), are not true hardware RAIDs (which have a dedicated controller) nor purely software RAIDs (like those managed by mdadm). Instead, they rely on the system's firmware to present multiple physical disks as a single, virtual RAID device, and dmraid provides the Linux operating system with the capability to recognize, activate, and manage these proprietary RAID setups.

By utilizing the Linux device mapper subsystem, dmraid creates standard block devices (e.g., /dev/mapper/raid_set_name) from these RAID sets, allowing them to be partitioned, formatted, and used like any other disk. While historically important for compatibility with many OEM systems, dmraid's role has diminished as mdadm has gained capabilities to handle some fakeraid types, and true hardware RAID or robust software RAID solutions are often preferred for critical deployments. Development on dmraid has largely ceased.

CAVEATS

dmraid primarily deals with "fakeraid" configurations, which are proprietary and chipset-specific. It is generally not recommended for new software RAID setups on Linux; mdadm is the standard and more robust solution for native software RAID. Development of dmraid has largely ceased, meaning it might not support newer chipset fakeraid implementations or receive bug fixes. Using dmraid with non-fakeraid devices or incorrectly can lead to data loss.

DEVICE MAPPER INTEGRATION

dmraid utilizes the Linux device mapper subsystem to create virtual block devices (e.g., /dev/mapper/isw_array_name) from the detected fakeraid sets. These devices then behave like any other disk, allowing for partitioning, formatting, and mounting.

METADATA DEPENDENCY

Unlike mdadm which creates its own standard metadata, dmraid relies on reading and interpreting the proprietary metadata written to disks by the motherboard's BIOS/firmware during the fakeraid setup process. This makes it highly dependent on specific chipset implementations and their metadata formats.

HISTORY

dmraid was developed to address the challenge of Linux interoperability with BIOS-assisted RAID solutions, commonly found on consumer motherboards from vendors like Intel, NVIDIA, and Promise. These "fakeraid" arrays presented a unique problem: they were not true hardware RAID (which Linux could see as a single block device) nor standard software RAID (which mdadm could manage). dmraid emerged to bridge this gap, allowing Linux to detect and assemble these arrays by interpreting their specific metadata formats, leveraging the device mapper framework.

Its peak usage coincided with the era when these chipset-based RAID solutions were prevalent in desktop PCs. However, with the maturation of mdadm (which can now handle some fakeraid formats via external metadata drivers) and the increased adoption of either true hardware RAID or pure Linux software RAID, dmraid's importance has waned. It remains primarily for supporting legacy systems.

SEE ALSO

mdadm(8), lvm(8), fdisk(8), parted(8), dmsetup(8)

Copied to clipboard