Each line of the table specifies a single target and is of the
form:
logical_start_sector num_sectors target_type
target_args
Simple target types and target args include:
linear
destination_device start_sector
The traditional linear mapping.
striped
num_stripes chunk_size [destination start_sector]...
Creates a striped area.
e.g. striped 2 32 /dev/hda1 0 /dev/hdb1 0 will map the
first chunk (16k) as follows:
LV chunk 1 → hda1, chunk 1
LV chunk 2 → hdb1, chunk 1
LV chunk 3 → hda1, chunk 2
LV chunk 4 → hdb1, chunk 2
etc.
error
Errors any I/O that goes to this area. Useful for testing
or for creating devices with holes in them.
zero
Returns blocks of zeroes on reads. Any data written is
discarded silently. This is a block-device equivalent of
the /dev/zero character-device data sink described in
null(4).
More complex targets include:
cache
Improves performance of a block device (eg, a spindle) by
dynamically migrating some of its data to a faster smaller
device (eg, an SSD).
crypt
Transparent encryption of block devices using the kernel
crypto API.
delay
Delays reads and/or writes to different devices. Useful
for testing.
flakey
Creates a similar mapping to the linear target but
exhibits unreliable behaviour periodically. Useful for
simulating failing devices when testing.
mirror
Mirrors data across two or more devices.
multipath
Mediates access through multiple paths to the same device.
raid
Offers an interface to the kernel's software raid driver,
md.
snapshot
Supports snapshots of devices.
thin
, thin-pool
Supports thin provisioning of devices and also provides a
better snapshot support.
To find out more about the various targets and their table
formats and status lines, please read the files in the
Documentation/device-mapper directory in the kernel source tree.
(Your distribution might include a copy of this information in
the documentation directory for the device-mapper package.)