Linux/Device Mapper

Device Mapper
"The device mapper is a Linux kernel framework for mapping block devices onto higher-level virtual block devices. It forms the foundation of LVM2, software RAIDs, dm-crypt disk encryption, and offers additional features such as file system snapshots.

''Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption or simulation of unreliable behavior."''

Linux Multipath
See also Linux/Multipath

dmsetup
Device-mapper resource page: http://sources.redhat.com/dm/

dmsetup - low level logical volume management

Creates a device: echo "0 $(blockdev --getsize /dev/fioa) linear /dev/fioa 0" | dmsetup create fioa

List device names (and major/minor device numbers): dmsetup ls

Note: the minor numbers determine the name of the dm device. Example: (253, 3) -> /dev/dm-3

List device status: dmsetup status

Remove device: dmsetup remove fioa

Details: dmsetup ls --tree        # also list source devices by major/minor device number dmsetup info             # show device state, and number of targets dmsetup info [DM_DEVICE] dmsetup deps             # list source devices by major/minor device number dmsetup deps [DM_DEVICE] dmsetup status           # space separated table of various details dmsetup status [DM_DEVICE] dmsetup table            # space separated table of various details dmsetup table [DM_DEVICE]

Note: With dmsetup, there doesn't appear to be a way to get the source device, other than by major/minor device number. Yuck.

Alternative ways to match dm device to /dev/device: multipath -l ls /sys/block/dm-0/slaves cat /proc/partitions

Help: dmsetup help

keywords
linux multipath multi path multipathd kpartx dmsetup