DMSETUP(8)

NAME
dmsetup - low level logical volume management

SYNOPSIS
dmsetup create device_name table_file [uuid]
dmsetup remove device_name
dmsetup rename device_name new_name
dmsetup suspend device_name
dmsetup resume device_name
dmsetup reload device_name table_file
dmsetup info device_name
dmsetup deps device_name
dmsetup status device_name
dmsetup table device_name
dmsetup wait device_name
dmsetup remove_all device_name
dmsetup version

DESCRIPTION
dmsetup manages logical devices that use the device-mapper driver. Devices are created by loading a table that specifies a target for each sector in the logical device. The first argument to dmsetup is a command. The second argument is the logical device name or uuid.

COMMANDS

create
    device_name table_file [uuid]
    Attempts to create a device using the table file given. The optional uuid can be used in place of device_name in subsequent dmsetup commands. If successful a device will appear as /dev/device-mapper/<device-name>. See below for information on the table file format.

remove
    device_name
    Removes a device

rename
    device_name new_name
    Renames a device

suspend
    device_name
    Suspends a device. Any I/O that has already been mapped by the device but has not yet completed will be flushed. Any further I/O to that device will be postponed for as long as the device is suspended.

resume
    device_name
    Un-suspends a device. Postponed I/O now gets re-queued for processing.

reload
    device_name table_file
    This command will only work if a device is in the suspended state. It changes the mapping table for an existing device.

info
    device_name
    Outputs some brief information about the device in the form:
        SUSPENDED|ACTIVE
        open_count
        major,minor
        target_count

deps
    device_name
    Outputs a list of (major, minor) pairs for devices referenced by the specified device.

status
    device_name
    Outputs status information for each of the device's targets.

table
    device_name
    Outputs the current table for the device in a format than can be fed back in using the create or reload commands.

wait
    device_name
    Sleeps until an event is triggered against a device.

remove_all
    Attempts to remove all device definitions i.e. reset the driver. Use with care!

version
    device_name
    Outputs version information.

TABLE FORMAT
Each line of the table specifies a single target and is of the form:
    logical_start_sector num_sectors target_type target_args
There are currently three simple target types available together with more complex optional ones that implement snapshots and mirrors.

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.

io-err
    Errors any I/O that goes to this area. Useful for testing or for creating devices with holes in them.

EXAMPLES
# A table to join two disks together
0 1028160 linear /dev/hda 0
1028160 3903762 linear /dev/hdb 0 # A table to stripe across the two disks,
# and add the spare space from
# hdb to the back of the volume 0 2056320 striped 2 32 /dev/hda 0 /dev/hdb 0
2056320 2875602 linear /dev/hdb 1028160

AUTHORS
Original version: Joe Thornber (thornber@sistina.com)