Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


DMSETUP(8)		    MAINTENTANCE COMMANDS		   DMSETUP(8)



NAME
       dmsetup - low level logical volume management

SYNOPSIS
       dmsetup create device_name [-u uuid] [--notable] [table_file]
       dmsetup remove device_name
       dmsetup remove_all
       dmsetup suspend [--nolockfs] device_name
       dmsetup resume device_name
       dmsetup load device_name [table_file]
       dmsetup clear device_name
       dmsetup reload device_name [table_file]
       dmsetup rename device_name new_name
       dmsetup ls [--target target_type] [--exec command] [--tree [-o
       options]]
       dmsetup info [device_name]
       dmsetup info -c|-C|--columns [--noheadings] [-o name] [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

       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.	Only -o name is supported.

       -r|--readonly
	      Set the table being loaded read-only.

       -u|--uuid
	      Specify the uuid.

       -v|--verbose
	      Produce additional output.

       --version
	      Display the library and kernel driver version.

COMMANDS
       create device_name [-u uuid] [--notable] [table_file]
	      Creates a device with the given name.  If	 table_file  is	 sup-
	      plied, the table is loaded and made live.	 Otherwise a table 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/.	 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.

       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

       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_file]
	      Loads  table_file into the inactive table slot for device_name.
	      If table_file is not supplied,  reads  a	table  from  standard
	      input.

       remove device_name
	      Removes  a device.  It will no longer be visible to dmsetup and
	      will be deleted when its open_count is zero.

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

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

       status [--target target_type] [device_name]
	      Outputs  status  information  for each of the device's targets.
	      With --target, only information relating to the specified	 tar-
	      get type is displayed.

       suspend
	      [--nolockfs] 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.

       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 --tar-
	      get, only information relating to the specified target type  is
	      displayed.

       targets
	      Displays	the  names  and versions of the currently-loaded tar-
	      gets.

       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


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)


UNIX/Linux commands referenced on this page:
  1. clear
  2. rename
  3. ls
  4. info
  5. as
  6. which
  7. reset
  8. sync
  9. find
  10. more
  11. join