dmsetup
SYNOPSIS
dmsetup help [-c|-C|--columns]
dmsetup create device_name [-u uuid] [--notable | --table <table> | ta-
ble_file]
dmsetup remove [-f|--force] device_name
dmsetup remove_all [-f|--force]
dmsetup suspend [--nolockfs] [--noflush] device_name
dmsetup resume device_name
dmsetup load device_name [--table <table> | table_file]
dmsetup clear device_name
dmsetup reload device_name [--table <table> | table_file]
dmsetup rename device_name new_name
dmsetup message device_name sector message
dmsetup ls [--target target_type] [--exec command] [--tree [-o
options]]
dmsetup info [device_name]
dmsetup info -c|-C|--columns [--noheadings] [--separator separator] [-o
fields] [-O|--sort sort_fields] [device_name]
dmsetup deps [device_name]
dmsetup status [--target target_type] [device_name]
dmsetup table [--target target_type] [device_name]
dmsetup wait device_name [event_nr]
dmsetup mknodes [device_name]
dmsetup udevflags cookie
dmsetup udevcomplete cookie
dmsetup udevcomplete_all
dmsetup udevcookies
dmsetup targets
dmsetup version
dmsetup setgeometry device_name cyl head sect start
dmsetup splitname device_name [subsystem]
devmap_name major minor
devmap_name major:minor
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 (512 bytes) in the logical device.
The first argument to dmsetup is a command. The second argument is the
logical device name or uuid.
Invoking the command as devmap_name is equivalent to
dmsetup info -c --noheadings -j major -m minor.
OPTIONS
-c|-C|--columns
Display output in columns rather than as Field: Value lines.
-j|--major major
Specify the major number.
--noudevsync
Do not synchronise with udev when creating, renaming or removing
devices.
-o|--options
Specify which fields to display.
-r|--readonly
Set the table being loaded read-only.
--readahead [+]<sectors>|auto|none
Specify read ahead size in units of sectors. The default value
is "auto" which allows the kernel to choose a suitable value
automatically. The + prefix lets you specify a minimum value
which will not be used if it is smaller than the value chosen by
the kernel. "None" is equivalent to specifying zero.
--table <table>
Specify a one-line table directly on the command line.
-u|--uuid
Specify the uuid.
-y|--yes
Answer yes to all prompts automatically.
-v|--verbose [-v|--verbose]
Produce additional output.
--version
Display the library and kernel driver version.
COMMANDS
create device_name [-u uuid] [--notable | --table <table> | table_file]
Creates a device with the given name. If table_file or <table>
is supplied, the table is loaded and made live. Otherwise a ta-
ble is read from standard input unless --notable is used. 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 format.
deps [device_name]
Outputs a list of (major, minor) pairs for devices referenced by
the live table for the specified device.
help [-c|-C|--columns]
Outputs a summary of the commands available, optionally includ-
ing the list of report fields.
info [device_name]
Outputs some brief information about the device in the form:
State: SUSPENDED|ACTIVE, READ-ONLY
(s)uspended, (r)ead-only, read-(w)rite. Precede the list with
'+' to append to the default selection of columns instead of
replacing it. Precede any sort_field with - for a reverse sort
on that column.
ls [--target target_type] [--exec command] [--tree [-o options]]
List device names. Optionally only list devices that have at
least one target of the specified type. Optionally execute a
command for each device. The device name is appended to the
supplied command. --tree displays dependencies between devices
as a tree. It accepts a comma-separate list of options. Some
specify the information displayed against each node:
device/nodevice; active, open, rw, uuid. Others specify how the
tree is displayed: ascii, utf, vt100; compact, inverted,
notrunc.
load|reload
device_name [--table <table> | table_file]
Loads <table> or table_file into the inactive table slot for
device_name. If neither is supplied, reads a table from stan-
dard input.
message
device_name sector message
Send message to target. If sector not needed use 0.
mknodes
[device_name]
Ensure that the node in /dev/mapper for device_name is correct.
If no device_name is supplied, ensure that all nodes in
/dev/mapper correspond to mapped devices currently loaded by the
device-mapper kernel driver, adding, changing or removing nodes
as necessary.
remove [-f|--force] device_name
Removes a device. It will no longer be visible to dmsetup.
Open devices cannot be removed except with older kernels that
contain a version of device-mapper prior to 4.8.0. In this case
the device will be deleted when its open_count drops to zero.
From version 4.8.0 onwards, if a device can't be removed because
an uninterruptible process is waiting for I/O to return from it,
adding --force will replace the table with one that fails all
I/O, which might allow the process to be killed.
remove_all
[-f|--force]
Attempts to remove all device definitions i.e. reset the driver.
Use with care! From version 4.8.0 onwards, if devices can't be
removed because uninterruptible processes are waiting for I/O to
return from them, adding --force will replace the table with one
that fails all I/O, which might allow the process to be killed.
This also runs mknodes afterwards.
rename device_name new_name
Splits given device name into subsystem constituents. Default
subsystem is LVM.
status [--target target_type] [device_name]
Outputs status information for each of the device's targets.
With --target, only information relating to the specified target
type is displayed.
suspend
[--nolockfs] [--noflush] 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. If there's a filesystem on the device which sup-
ports the operation, an attempt will be made to sync it first
unless --nolockfs is specified. Some targets such as recent
(October 2006) versions of multipath may support the --noflush
option. This lets outstanding I/O that has not yet reached the
device to remain unflushed.
table [--target target_type] [device_name]
Outputs the current table for the device in a format that can be
fed back in using the create or load commands. With --target,
only information relating to the specified target type is dis-
played.
targets
Displays the names and versions of the currently-loaded targets.
udevflags
cookie
Parses given cookie value and extracts any udev control flags
encoded. The output is in environment key format that is suit-
able for use in udev rules. If the flag has its symbolic name
assigned then the ouput is DM_UDEV_FLAG_<flag_name>='1',
DM_UDEV_FLAG<flag_position>='1' otherwise. Subsystem udev flags
don't have symbolic names assigned and these ones are always
reported as DM_SUBSYSTEM_UDEV_FLAG<flag_position>='1'. There are
16 udev flags altogether.
udevcomplete
cookie
Wake any processes that are waiting for udev to complete pro-
cessing the specified cookie.
udevcomplete_all
Remove all cookies. Any process waiting on a cookie will be
resumed immediately.
udevcookies
List all existing cookies. Cookies are system-wide semaphores
with keys prefixed by two predefined bytes (0x0D4D).
version
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.
error
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
ENVIRONMENT VARIABLES
DM_DEV_DIR
The device directory name. Defaults to "/dev" and must be an
absolute path.
AUTHORS
Original version: Joe Thornber (thornber@sistina.com)
SEE ALSO
Device-mapper resource page: http://sources.redhat.com/dm/
Linux Apr 06 2006 DMSETUP(8)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2012
Hurricane Electric.
All Rights Reserved.