DMSETUP(8)                   MAINTENANCE COMMANDS                   DMSETUP(8)



NAME
       dmsetup - low level logical volume management

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 targets
       dmsetup version
       dmsetup setgeometry device_name cyl head sect start

       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.

       -m|--minor minor
              Specify the minor number.

       -n|--noheadings
              Suppress the headings line when using columnar output.

       --noopencount
              Tell  the  kernel not to supply the open reference count for the
              device.

       --notable
              When creating a device, don't load any table.

       -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.

       -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
                  Tables present: LIVE and/or INACTIVE
                  Open reference count
                  Last event sequence number (used by wait)
                  Major and minor device number
                  Number of targets in the live table
                  UUID

       info   [--noheadings]  [--separator  separator]  [-o fields] [-O|--sort
              sort_fields] [device_name]
              Output you can customise.  Fields are comma-separated and chosen
              from  the  following  list: name, major, minor, attr, open, seg-
              ments,  events,  uuid.   Attributes  are:  (L)ive,   (I)nactive,
              (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 processess 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
              Renames a device.

       resume device_name
              Un-suspends a device.  If an inactive table has been loaded,  it
              becomes live.  Postponed I/O then gets re-queued for processing.

       setgeometry
              device_name cyl head sect start
              Sets the device geometry to C/H/S.

       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.

       version
              Outputs version information.

       wait   device_name [event_nr]
              Sleeps until the event counter for device_name exceeds event_nr.
              Use -v to see the event number returned.  To wait until the next
              event is triggered, use info to find the last event number.

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.


       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)

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen