dmsetup

DMSETUP(8)		     MAINTENTANCE 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)

Personal Tools