.TH LVS 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*-
.SH NAME
lvs \(em report information about logical volumes
.SH SYNOPSIS
.B lvs
.RB [ \-\-aligned ]
.RB [ \-\-binary ]
.RB [ \-a | \-\-all ]
.RB [ \-\-commandprofile
.IR ProfileName ]
.RB [[ \-\-configreport
.IR ReportName ]
.RB [ \-o | \-\-options
.RI [ + | \- | # ] Field1 [, Field2 ...]
.RB [ \-O | \-\-sort
.RI [ + | \- ] Key1 [, Key2 ...]]
.RB [ \-S | \-\-select
.IR Selection ]
.RB ...]
.RB [ \-d | \-\-debug ]
.RB [ \-h | \-? | \-\-help ]
.RB [ \-H | \-\-history ]
.RB [ \-\-ignorelockingfailure ]
.RB [ \-\-ignoreskippedcluster ]
.RB [ \-\-logonly ]
.RB [ \-\-nameprefixes ]
.RB [ \-\-noheadings ]
.RB [ \-\-nosuffix ]
.RI [ + | \- ] Key1 [,[ + | \- ] Key2 [,...]]]
.RB [ \-P | \-\-partial ]
.RB [ \-\-reportformat
.RB { basic | json }]
.RB [ \-\-rows ]
.RB [ \-\-separator
.IR Separator ]
.RB [ \-\-segments ]
.RB [ \-\-unbuffered ]
.RB [ \-\-units
.IR hHbBsSkKmMgGtTpPeE ]
.RB [ \-\-unquoted ]
.RB [ \-v | \-\-verbose ]
.RB [ \-\-version ]
.RI [ VolumeGroupName | LogicalVolume { Name | Path }
.RI [ VolumeGroupName | LogicalVolume { Name | Path }\ ...]]

.SH DESCRIPTION
lvs produces formatted output about logical volumes.
.SH OPTIONS
See
.BR lvm (8)
for common options.
.TP
.B \-\-aligned
Use with \fB\-\-separator\fP to align the output columns.
.TP
.B \-\-all
Include information in the output about internal Logical Volumes that
are components of normally-accessible Logical Volumes, such as mirrors,
but which are not independently accessible (e.g. not mountable).
The names of such Logical Volumes are enclosed within square brackets
in the output.  For example, after creating a mirror using
.B lvcreate -m1 \-\-mirrorlog disk
, this option will reveal three internal Logical
Volumes, with suffixes mimage_0, mimage_1, and mlog.
.TP
.B \-\-binary
Use binary values "0" or "1" instead of descriptive literal values
for columns that have exactly two valid values to report (not counting
the "unknown" value which denotes that the value could not be determined).
.TP
.B \-\-configreport  \fI ReportName
Make any subsequent \fB\-o, \-\-options\fP, \fB\-O, \-\-sort\fP or
\fB\-S, \-\-select\fP to apply for \fIReportName\fP where \fIReportName\fP
is either 'lv' for command's main report or 'log' for log report.
If \fB\-\-configreport\fP option is not used to identify a report, then
command's main report is assumed. The log report is available only if
enabled by \fBlog/report_command_log\fP \fBlvm.conf\fP(5) setting or
if \fB\-\-logonly\fP option is used.
.TP
.B \-H ", " \-\-history
Include historical logical volumes in the output.
(This has no effect unless logical volumes were removed while the configuration
setting \fBmetadata/record_lvs_history\fP was enabled.)
.TP
.B \-\-logonly
Suppress the lvs report itself and display only log report on output.
.TP
.B \-\-nameprefixes
Add an "LVM2_" prefix plus the field name to the output.  Useful
with \fB\-\-noheadings\fP to produce a list of field=value pairs that can
be used to set environment variables (for example, in
.BR udev (7)
rules).
.TP
.B \-\-noheadings
Suppress the headings line that is normally the first line of output.
Useful if grepping the output.
.TP
.B \-\-nosuffix
Suppress the suffix on output sizes.  Use with \fB\-\-units\fP
(except h and H) if processing the output.
.TP
.BR \-o ", " \-\-options
Comma-separated ordered list of columns.
.IP
Precede the list with '\fI+\fP' to append to the current list
of columns, '\fI-\fP' to remove from the current list of columns
or '\fI#\fP' to compact given columns. The \fI\-o\fP option can
be repeated, providing several lists. These lists are evaluated
from left to right.
.IP
Use \fB\-o lv_all\fP to select all logical volume columns,
and \fB\-o seg_all\fP
to select all logical volume segment columns.
.IP
Use \fB\-o help\fP to view the full list of columns available.
.IP
Column names include:
chunk_size,
convert_lv,
copy_percent,
data_lv,
devices,
discards,
lv_attr,
lv_host,
lv_kernel_major,
lv_kernel_minor,
lv_kernel_read_ahead,
lv_major,
lv_minor,
lv_name,
lv_path,
lv_profile,
lv_read_ahead,
lv_size,
lv_tags,
lv_time,
lv_uuid,
metadata_lv,
mirror_log,
modules,
move_pv,
origin,
origin_size,
pool_lv,
raid_max_recovery_rate,
raid_min_recovery_rate,
raid_mismatch_count,
raid_sync_action,
raid_write_behind,
region_size,
segtype,
seg_count,
seg_pe_ranges,
seg_size,
seg_size_pe,
seg_start,
seg_start_pe,
seg_tags,
snap_percent,
stripes,
stripe_size,
sync_percent,
thin_count,
transaction_id,
zero.
.IP
With \fB\-\-segments\fP, any "seg_" prefixes are optional;
otherwise any "lv_" prefixes are optional. Columns mentioned in
.BR vgs (8)
can also be chosen.
.IP
The lv_attr bits are:
.RS
.IP 1 3
Volume type: (C)ache, (m)irrored, (M)irrored without initial sync, (o)rigin,
(O)rigin with merging snapshot, (r)aid, (R)aid without initial sync,
(s)napshot, merging (S)napshot, (p)vmove, (v)irtual,
mirror or raid (i)mage, mirror or raid (I)mage out-of-sync, mirror (l)og device,
under (c)onversion, thin (V)olume, (t)hin pool, (T)hin pool data, raid or
pool m(e)tadata or pool metadata spare.
.IP 2 3
Permissions: (w)riteable, (r)ead-only, (R)ead-only activation of non-read-only
volume
.IP 3 3
Allocation policy:  (a)nywhere, (c)ontiguous, (i)nherited, c(l)ing, (n)ormal
This is capitalised if the volume is currently locked against allocation
changes, for example during
.BR pvmove (8).
.IP 4 3
fixed (m)inor
.IP 5 3
State: (a)ctive, (h)istorical, (s)uspended, (I)nvalid snapshot,
invalid (S)uspended snapshot, snapshot (m)erge failed,
suspended snapshot (M)erge failed, mapped (d)evice present without tables,
mapped device present with (i)nactive table, thin-pool (c)heck needed,
suspended thin-pool (C)heck needed, (X) unknown
.IP 6 3
device (o)pen, (X) unknown
.IP 7 3
Target type: (C)ache, (m)irror, (r)aid, (s)napshot, (t)hin, (u)nknown, (v)irtual.
This groups logical volumes related to the same kernel target together.  So,
for example, mirror images, mirror logs as well as mirrors themselves appear as
(m) if they use the original device-mapper mirror kernel driver; whereas the raid
equivalents using the md raid kernel driver all appear as (r).
Snapshots using the original device-mapper driver appear as (s); whereas
snapshots of thin volumes using the new thin provisioning driver appear as (t).
.IP 8 3
Newly-allocated data blocks are overwritten with blocks of (z)eroes before use.
.IP 9 3
Volume Health, where there are currently three groups of attributes identified:
.IP
Common ones for all Logical Volumes: (p)artial, (X) unknown.
.br
(p)artial signifies that one or more of the Physical Volumes this Logical
Volume uses is missing from the system. (X) unknown signifies the status
is unknown.
.IP
Related to RAID Logical Volumes: (r)efresh needed, (m)ismatches exist, (w)ritemostly.
.br
(r)efresh signifies that one or more of the Physical Volumes this RAID Logical
Volume uses had suffered a write error. The write error could be due to a
temporary failure of that Physical Volume or an indication that it is failing.
The device should be refreshed or replaced. (m)ismatches signifies that the
RAID logical volume has portions of the array that are not coherent.
Inconsistencies are detected by initiating a "check" on a RAID logical volume.
(The scrubbing operations, "check" and "repair", can be performed on a RAID
logical volume via the 'lvchange' command.)  (w)ritemostly signifies the
devices in a RAID 1 logical volume that have been marked write-mostly.
.IP
Related to Thin pool Logical Volumes: (F)ailed, out of (D)ata space,
(M)etadata read only.
.br
(F)ailed is set if thin pool encounters serious failures and hence no further I/O
is permitted at all. The out of (D)ata space is set if thin pool has run out of
data space. (M)etadata read only signifies that thin pool encounters certain
types of failures but it's still possible to do reads at least,
but no metadata changes are allowed.
.IP
Related to Thin Logical Volumes: (F)ailed.
.br
(F)ailed is set when related thin pool enters Failed state and no further I/O
is permitted at all.
.IP 10 3
s(k)ip activation: this volume is flagged to be skipped during activation.
.RE
.TP
.BR \-O ", " \-\-sort
Comma-separated ordered list of columns to sort by.  Replaces the default
selection. Precede any column with '\fI\-\fP' for a reverse sort on that column.
.TP
.B \-\-rows
Output columns as rows.
.TP
.BR  \-S ", " \-\-select " " \fISelection
Display only rows that match Selection criteria. All rows are displayed with
the additional "selected" column (\fB-o selected\fP) showing 1 if the row
matches the Selection and 0 otherwise. The Selection criteria are defined
by specifying column names and their valid values (that can include reserved
values) while making use of supported comparison operators. See \fBlvm\fP(8)
and \fB\-S\fP, \fB\-\-select\fP description for more detailed information
about constructing the Selection criteria. As a quick help and to see full
list of column names that can be used in Selection including the list of
reserved values and the set of supported selection operators, check the
output of \fBlvs -S help\fP command.
.TP
.B \-\-segments
Use default columns that emphasize segment information.
.TP
.B \-\-separator \fISeparator
String to use to separate each column.  Useful if grepping the output.
.TP
.B \-\-unbuffered
Produce output immediately without sorting or aligning the columns properly.
.TP
.B \-\-units \fIhHbBsSkKmMgGtTpPeE
All sizes are output in these units: (h)uman-readable, (b)ytes, (s)ectors,
(k)ilobytes, (m)egabytes, (g)igabytes, (t)erabytes, (p)etabytes, (e)xabytes.
Capitalise to use multiples of 1000 (S.I.) instead of 1024.  Can also specify
custom units e.g. \fB\-\-units 3M\fP
.TP
.B \-\-unquoted
When used with \fB\-\-nameprefixes\fP, output values in the field=value
pairs are not quoted.
.SH SEE ALSO
.BR lvm (8),
.BR lvdisplay (8),
.BR pvs (8),
.BR vgs (8)
