mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-27 07:22:49 +03:00
363 lines
9.7 KiB
Groff
363 lines
9.7 KiB
Groff
.TH DMSETUP 8 "Apr 06 2006" "Linux" "MAINTENANCE COMMANDS"
|
|
.SH NAME
|
|
dmsetup \- low level logical volume management
|
|
.SH SYNOPSIS
|
|
.ad l
|
|
.B dmsetup help
|
|
.I [-c|-C|--columns]
|
|
.br
|
|
.B dmsetup create
|
|
.I device_name [-u uuid] [--notable | --table <table> | table_file]
|
|
.br
|
|
.B dmsetup remove
|
|
.I [-f|--force] device_name
|
|
.br
|
|
.B dmsetup remove_all
|
|
.I [-f|--force]
|
|
.br
|
|
.B dmsetup suspend
|
|
.I [--nolockfs] [--noflush] device_name
|
|
.br
|
|
.B dmsetup resume
|
|
.I device_name
|
|
.br
|
|
.B dmsetup load
|
|
.I device_name [--table <table> | table_file]
|
|
.br
|
|
.B dmsetup clear
|
|
.I device_name
|
|
.br
|
|
.B dmsetup reload
|
|
.I device_name [--table <table> | table_file]
|
|
.br
|
|
.B dmsetup rename
|
|
.I device_name new_name
|
|
.br
|
|
.B dmsetup message
|
|
.I device_name sector message
|
|
.br
|
|
.B dmsetup ls
|
|
.I [--target target_type] [--exec command] [--tree [-o options]]
|
|
.br
|
|
.B dmsetup info
|
|
.I [device_name]
|
|
.br
|
|
.B dmsetup info -c|-C|--columns
|
|
.I [--noheadings] [--separator separator] [-o fields] [-O|--sort sort_fields]
|
|
.I [device_name]
|
|
.br
|
|
.B dmsetup deps
|
|
.I [device_name]
|
|
.br
|
|
.B dmsetup status
|
|
.I [--target target_type]
|
|
.I [device_name]
|
|
.br
|
|
.B dmsetup table
|
|
.I [--target target_type]
|
|
.I [device_name]
|
|
.br
|
|
.B dmsetup wait
|
|
.I device_name
|
|
.I [event_nr]
|
|
.br
|
|
.B dmsetup mknodes
|
|
.I [device_name]
|
|
.br
|
|
.B dmsetup targets
|
|
.br
|
|
.B dmsetup version
|
|
.br
|
|
.B dmsetup setgeometry
|
|
.I device_name cyl head sect start
|
|
.br
|
|
|
|
.B devmap_name
|
|
.I major minor
|
|
.br
|
|
.B devmap_name
|
|
.I major:minor
|
|
.ad b
|
|
.SH 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 \fBdevmap_name\fP is equivalent to
|
|
.br
|
|
\fBdmsetup info -c --noheadings -j \fImajor\fB -m \fIminor\fP.
|
|
.SH OPTIONS
|
|
.IP \fB-c|-C|--columns
|
|
.br
|
|
Display output in columns rather than as Field: Value lines.
|
|
.IP \fB-j|--major\ \fImajor
|
|
.br
|
|
Specify the major number.
|
|
.IP \fB-m|--minor\ \fIminor
|
|
.br
|
|
Specify the minor number.
|
|
.IP \fB-n|--noheadings
|
|
.br
|
|
Suppress the headings line when using columnar output.
|
|
.IP \fB--noopencount
|
|
.br
|
|
Tell the kernel not to supply the open reference count for the device.
|
|
.IP \fB--notable
|
|
.br
|
|
When creating a device, don't load any table.
|
|
.IP \fB-o|--options
|
|
.br
|
|
Specify which fields to display.
|
|
.IP \fB-r|--readonly
|
|
.br
|
|
Set the table being loaded read-only.
|
|
.IP \fB--readahead\ [+]<sectors>|auto|none
|
|
.br
|
|
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.
|
|
.IP \fB--table\ <table>
|
|
.br
|
|
Specify a one-line table directly on the command line.
|
|
.IP \fB-u|--uuid
|
|
.br
|
|
Specify the uuid.
|
|
.IP \fB-v|--verbose\ [-v|--verbose]
|
|
.br
|
|
Produce additional output.
|
|
.IP \fB--version
|
|
.br
|
|
Display the library and kernel driver version.
|
|
.SH COMMANDS
|
|
.IP \fBcreate
|
|
.I device_name [-u uuid] [--notable | --table <table> | table_file]
|
|
.br
|
|
Creates a device with the given name.
|
|
If table_file or <table> is supplied, 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/<device-name>.
|
|
See below for information on the table format.
|
|
.IP \fBdeps
|
|
.I [device_name]
|
|
.br
|
|
Outputs a list of (major, minor) pairs for devices referenced by the
|
|
live table for the specified device.
|
|
.IP \fBhelp
|
|
.I [-c|-C|--columns]
|
|
.br
|
|
Outputs a summary of the commands available, optionally including
|
|
the list of report fields.
|
|
.IP \fBinfo
|
|
.I [device_name]
|
|
.br
|
|
Outputs some brief information about the device in the form:
|
|
.br
|
|
State: SUSPENDED|ACTIVE, READ-ONLY
|
|
.br
|
|
Tables present: LIVE and/or INACTIVE
|
|
.br
|
|
Open reference count
|
|
.br
|
|
Last event sequence number (used by \fBwait\fP)
|
|
.br
|
|
Major and minor device number
|
|
.br
|
|
Number of targets in the live table
|
|
.br
|
|
UUID
|
|
.IP \fBinfo -c|-C|--columns
|
|
.I [--noheadings] [--separator separator] [-o fields] [-O|--sort sort_fields]
|
|
.I [device_name]
|
|
.br
|
|
Output you can customise.
|
|
Fields are comma-separated and chosen from the following list:
|
|
name, major, minor, attr, open, segments, 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.
|
|
.IP \fBls
|
|
.I [--target target_type]
|
|
.I [--exec command]
|
|
.I [--tree [-o options]]
|
|
.br
|
|
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.
|
|
.IP \fBload|reload
|
|
.I device_name [--table <table> | table_file]
|
|
.br
|
|
Loads <table> or table_file into the inactive table slot for device_name.
|
|
If neither is supplied, reads a table from standard input.
|
|
.IP \fBmessage
|
|
.I device_name sector message
|
|
.br
|
|
Send message to target. If sector not needed use 0.
|
|
.IP \fBmknodes
|
|
.I [device_name]
|
|
.br
|
|
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.
|
|
.IP \fBremove
|
|
.I [-f|--force] device_name
|
|
.br
|
|
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.
|
|
.IP \fBremove_all
|
|
.I [-f|--force]
|
|
.br
|
|
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 \fBmknodes\fP afterwards.
|
|
.IP \fBrename
|
|
.I device_name new_name
|
|
.br
|
|
Renames a device.
|
|
.IP \fBresume
|
|
.I device_name
|
|
.br
|
|
Un-suspends a device.
|
|
If an inactive table has been loaded, it becomes live.
|
|
Postponed I/O then gets re-queued for processing.
|
|
.IP \fBsetgeometry
|
|
.I device_name cyl head sect start
|
|
.br
|
|
Sets the device geometry to C/H/S.
|
|
.IP \fBstatus
|
|
.I [--target target_type]
|
|
.I [device_name]
|
|
.br
|
|
Outputs status information for each of the device's targets.
|
|
With --target, only information relating to the specified target type
|
|
is displayed.
|
|
.IP \fBsuspend
|
|
.I [--nolockfs] [--noflush]
|
|
.I device_name
|
|
.br
|
|
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 supports 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.
|
|
.IP \fBtable
|
|
.I [--target target_type]
|
|
.I [device_name]
|
|
.br
|
|
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 displayed.
|
|
.IP \fBtargets
|
|
.br
|
|
Displays the names and versions of the currently-loaded targets.
|
|
.IP \fBversion
|
|
.br
|
|
Outputs version information.
|
|
.IP \fBwait
|
|
.I device_name
|
|
.I [event_nr]
|
|
.br
|
|
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 \fBinfo\fP to find
|
|
the last event number.
|
|
.SH TABLE FORMAT
|
|
Each line of the table specifies a single target and is of the form:
|
|
.br
|
|
logical_start_sector num_sectors target_type target_args
|
|
.br
|
|
.br
|
|
|
|
There are currently three simple target types available together
|
|
with more complex optional ones that implement snapshots and mirrors.
|
|
|
|
.IP \fBlinear
|
|
.I destination_device start_sector
|
|
.br
|
|
The traditional linear mapping.
|
|
|
|
.IP \fBstriped
|
|
.I num_stripes chunk_size [destination start_sector]+
|
|
.br
|
|
Creates a striped area.
|
|
.br
|
|
e.g. striped 2 32 /dev/hda1 0 /dev/hdb1 0
|
|
will map the first chunk (16k) as follows:
|
|
.br
|
|
LV chunk 1 -> hda1, chunk 1
|
|
.br
|
|
LV chunk 2 -> hdb1, chunk 1
|
|
.br
|
|
LV chunk 3 -> hda1, chunk 2
|
|
.br
|
|
LV chunk 4 -> hdb1, chunk 2
|
|
.br
|
|
etc.
|
|
|
|
.IP \fBerror
|
|
.br
|
|
Errors any I/O that goes to this area. Useful for testing or
|
|
for creating devices with holes in them.
|
|
|
|
.SH EXAMPLES
|
|
|
|
# A table to join two disks together
|
|
.br
|
|
.br
|
|
0 1028160 linear /dev/hda 0
|
|
.br
|
|
1028160 3903762 linear /dev/hdb 0
|
|
|
|
|
|
# A table to stripe across the two disks,
|
|
.br
|
|
# and add the spare space from
|
|
.br
|
|
# hdb to the back of the volume
|
|
|
|
0 2056320 striped 2 32 /dev/hda 0 /dev/hdb 0
|
|
.br
|
|
2056320 2875602 linear /dev/hdb 1028160
|
|
|
|
.SH ENVIRONMENT VARIABLES
|
|
.TP
|
|
\fBDM_DEV_DIR\fP
|
|
The device directory name.
|
|
Defaults to "/dev" and must be an absolute path.
|
|
|
|
.SH AUTHORS
|
|
Original version: Joe Thornber (thornber@sistina.com)
|
|
|
|
.SH SEE ALSO
|
|
Device-mapper resource page: http://sources.redhat.com/dm/
|