LVDISPLAY(8)
๐ lvdisplay(8) โ the glow-up your logical volumes deserve ๐
okay so bestie. you're here because you want the tea on your LVs (logical volumes), and lvdisplay is literally the girl who spills it. this is a System Manager's Manual page, section 8, and it's giving "I know everything about your storage stack and I'm not gatekeeping." ๐ซถ
โจ NAME โจ
lvdisplay โ Display information about a logical volume
like. the name says it all. display. information. about a logical volume. slay. ๐
๐ธ SYNOPSIS ๐ธ
here's how you ask her things. she takes option_args, then optionally more option_args, then optionally position_args:
lvdisplay option_args
[ option_args ]
[ position_args ]
and here is the whole entire menu of option args, no crumbs left behind, every single one of them, exactly as written:
--aligned
-a|--all
--binary
-c|--colon
-C|--columns
--commandprofile String
--config String
--configreport log|vg|lv|pv|pvseg|seg
-d|--debug ...
--devices PV
--devicesfile String
--driverloaded y|n
--foreign
--headings none|abbrev|full|0|1|2
-h|--help
-H|--history
--ignorelockingfailure
--journal String
--lockopt String
--logonly
--longhelp
-m|--maps
--nameprefixes
--noheadings
--nohints
--nolocking
--nosuffix
-o|--options String
--profile String
-q|--quiet ...
--readonly
--reportformat basic|json|json_std
--rows
--segments
-S|--select String
--separator String
--shared
-O|--sort String
-t|--test
--unbuffered
--units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E
--unquoted
-v|--verbose ...
--version
-y|--yes
no cap, that's all of them, and yes every ... and every String and every log|vg|lv|pv|pvseg|seg is exactly where it belongs. ๐
๐ฆ DESCRIPTION ๐ฆ
okay so what does she actually do. lvdisplay shows the attributes of LVs, like size, read/write status, snapshot information, etc. that's it. that's the whole vibe. your LV walks in, she reads her for filth (affectionately), you learn her size and whether she's read/write and what her snapshots are up to. ๐ธ
but!! plot twist!! lvs(8) is a preferred alternative that shows the same information and more, using a more compact and configurable output format. so like, lvs is the newer sister with a better wardrobe. lvdisplay still ate though โ she's just the classic. iykyk. โจ
๐ USAGE ๐
here's the receipts. four whole ways to call her, and we're doing all of them.
the classic: just lvdisplay
lvdisplay
[ -m|--maps ]
[ COMMON_OPTIONS ]
[ VG|LV|Tag ... ]
โ
columns mode: display output in columns like lvs
lvdisplay -C|--columns
[ -o|--options String ]
[ -O|--sort String ]
[ -S|--select String ]
[ --aligned ]
[ --binary ]
[ --configreport log|vg|lv|pv|pvseg|seg ]
[ --headings none|abbrev|full|0|1|2 ]
[ --logonly ]
[ --nameprefixes ]
[ --noheadings ]
[ --nosuffix ]
[ --rows ]
[ --separator String ]
[ --unbuffered ]
[ --unquoted ]
[ COMMON_OPTIONS ]
[ VG|LV|Tag ... ]
โ
colon mode: generate colon separated output
lvdisplay -c|--colon
[ COMMON_OPTIONS ]
[ VG|LV|Tag ... ]
โ
common options for command
these are the ones that ride or die with basically every command, periodt:
[ -a|--all ]
[ -H|--history ]
[ --foreign ]
[ --ignorelockingfailure ]
[ --readonly ]
[ --reportformat basic|json|json_std ]
[ --segments ]
[ --shared ]
[ --units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E ]
common options for lvm
and these are the lvm-wide girlies, the ones who show up to every party no matter what:
[ -d|--debug ... ]
[ -h|--help ]
[ -q|--quiet ... ]
[ -t|--test ]
[ -v|--verbose ... ]
[ -y|--yes ]
[ --commandprofile String ]
[ --config String ]
[ --devices PV ]
[ --devicesfile String ]
[ --driverloaded y|n ]
[ --journal String ]
[ --lockopt String ]
[ --longhelp ]
[ --nohints ]
[ --nolocking ]
[ --profile String ]
[ --version ]
bestie heads up: this page keeps going. we've got the whole big options breakdown and the SEE ALSO coming up next, so don't log off on me. ๐ซถ
โจ OPTIONS โจ
Okay bestie, this is the big one โ the option buffet ๐. Every single flag this page takes, no skips, no cap. Grab a snack.
--alignedโ pair it with--separatorand your output columns get all lined up neat and pretty. โจ-a,--allโ shows you the internal LVs too ๐ . These are the pieces that make up normal LVs (think mirrors) โ they're not independently accessible, so like, you can't mount them. They're backstage, not main character.--binaryโ instead of the cute descriptive words, columns that have exactly two valid values to report spit out"0"or"1". (The"unknown"value doesn't count here โ that one just means the value couldn't be determined, periodt.)-c,--colonโ colon-separated output, so your scripts and programs can parse it without drama ๐. Also peeplvs(8)if you want considerably more control over the output. The values go like this, in order:- Logical volume name
- Volume group name
- Logical volume access
- Logical volume status
- Internal logical volume number
- Open count of logical volume
- Logical volume size in sectors
- Current logical extents associated to logical volume
- Allocated logical extents of logical volume
- Allocation policy of logical volume
- Read ahead sectors of logical volume
- Major device number of logical volume
- Minor device number of logical volume
-C,--columnsโ display the output in columns. It's literally the equivalent oflvs(8), and the options you can list here are the same options as inlvs(8).--commandprofileString โ the command profile to use for command configuration. Wanna know more?lvm.conf(5)has the tea on profiles.--configString โ config settings for the command, and these override whateverlvm.conf(5)set. The String arg uses the same format aslvm.conf(5), or it can use section/field syntax. Again:lvm.conf(5)for the details on config. ๐ซถ--configreportlog|vg|lv|pv|pvseg|segโ seelvmreport(7).-d,--debug... โ set the debug level. Repeat it 1 to 6 times to crank up the detail of messages sent to the log file and/or syslog (if syslog is configured).--devicesPV โ restricts which devices are visible and accessible to the command. Devices you don't list will look like they're missing ๐ป. You can repeat this option, or just hand it a comma-separated list of devices. It overrides the devices file.--devicesfileString โ a file listing the devices LVM should use. The file has to exist in/etc/lvm/devices/and it's managed with thelvmdevices(8)command. This overrides thelvm.conf(5)devices/devicesfileanddevices/use_devicesfilesettings.--driverloadedy|nโ set it to no and the command won't even try to use device-mapper. It's for testing and debugging, bestie ๐ง.--foreignโ report/display foreign VGs that would otherwise get skipped. Peeplvmsystemid(7)for more about foreign VGs.--headingsnone|abbrev|full|0|1|2โ picks the type of headings used in report output.noneor0: no headings at all.abbrevor1: column name abbreviations.fullor2: full column names.-h,--helpโ display help text ๐.-H,--historyโ include historical LVs in the output. (Heads up: this does literally nothing unless LVs were removed whilelvm.conf(5)metadata/record_lvs_historywas enabled.)--ignorelockingfailureโ lets a command keep going with read-only metadata operations after locking failures.--journalString โ record info in the systemd journal ๐. This is in addition to whatever thelvm.conflog/journalsetting already enables.command: record info about the command.output: record the default command output.debug: record the full command debugging.--lockoptString โ passes options for special cases over tolvmlockd. Seelvmlockd(8)for more.--logonlyโ suppress the command report and display only the log report.--longhelpโ display long help text.-m,--mapsโ display the mapping of logical extents to PVs and physical extents ๐บ๏ธ. And if you wanna go the other way (physical extents โ logical extents), run:
pvs --segments -o+lv_name,seg_start_pe,segtype
--nameprefixesโ slaps an"LVM2_"prefix plus the field name onto the output. Super useful with--noheadingsto produce a list of field=value pairs you can use to set environment variables (like, say, in udev rules).--noheadingsโ suppresses the headings line that's normally the first line of output. Chef's kiss if you're grepping the output.--nohintsโ don't use the hints file to locate devices for PVs. Without hints, a command might read more devices to find PVs. It'll still do standard hint file invalidation where appropriate, don't worry.--nolockingโ disables locking.
โ ๏ธ Use with caution! Concurrent commands may produce incorrect results. ๐
--nosuffixโ suppresses the suffix on output sizes. If you're processing the output, use it with--unitsโ except forhandH.-o,--optionsString โ a comma-separated, ordered list of fields to display in columns. The String arg syntax is[+|-|#]Field1[,Field2 ...]. The prefix+appends the specified fields to the default fields,-removes the specified fields from the default fields, and#compacts the specified fields (removing them when they're empty for all rows). Use-o helpto view the list of all available fields. Wanna add, remove or compact? Repeat the-ooption with separate lists, like-o+field1,field2 -o-field3,field4 -o#field5. These lists get evaluated left to right. Use field namelv_allto see all LV fields,vg_allfor all VG fields,pv_allfor all PV fields,seg_allfor all LV segment fields, andpvseg_allfor all PV segment fields. See thelvm.conf(5)report section for more config options, andlvmreport(7)for more about reporting. So many fields, so little time ๐ญ--profileString โ an alias for--commandprofileor--metadataprofile, depending on the command.-q,--quiet... โ suppress output and log messages. It overrides--debugand--verbose. Repeat it once and it also suppresses any prompts with answer 'no'.--readonlyโ stops the command from making changes, including activation and metadata updates. (For read only LVs, see--permission r.)--reportformatbasic|json|json_stdโ overrides the current output format for reports, which is normally defined globally by thereport/output_formatsetting inlvm.conf(5).basicis the original format with columns and rows โ and if there's more than one report per command, each report gets prefixed with the report name so you can tell them apart.jsonproduces report output in JSON format.json_stdproduces report output in JSON format that's more compliant with the JSON standard.lvmreport(7)has more ๐--rowsโ output columns as rows.--segmentsโ use default columns that emphasize segment information.-S,--selectString โ select objects for processing and reporting based on criteria you specify. That criteria syntax is described by--select helpandlvmreport(7). For reporting commands, one row shows up for each object matching the criteria. See--options helpfor selectable object fields. Rows can be displayed with an extra"selected"field (-o selected) showing 1 if the row matches the selection and 0 otherwise. For non-reporting commands that process LVM entities, the selection picks which items to process.--separatorString โ the string used to separate each column. Useful if you're grepping the output.--sharedโ report/display shared VGs that would otherwise get skipped whenlvmlockdisn't being used on the host. Seelvmlockd(8)for more about shared VGs.-O,--sortString โ a comma-separated ordered list of columns to sort by. It replaces the default selection. Put a-in front of any column for a reverse sort on that column.-t,--testโ run in test mode. Commands won't update metadata ๐งช. It works by disabling all metadata writing but still returning success to the calling function. Fair warning: this can lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't.--unbufferedโ produce output immediately, without sorting or properly aligning the columns. Chaos mode, kind of.--units[Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|Eโ all sizes are output in these units: human-(r)eadable with a'<'rounding indicator, (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. And yes, you can do custom units โ like--units 3M. ๐--unquotedโ when used with--nameprefixes, the values in the field=value pairs aren't quoted.-v,--verbose... โ set the verbose level. Repeat it 1 to 4 times to crank up the detail of messages sent to stdout and stderr.--versionโ display version information.-y,--yesโ don't prompt for confirmation interactively, just always assume the answer is yes.
๐ Use with extreme caution, bestie. (For automatic no, see -qq.)
๐ธ VARIABLES ๐ธ
The lil building blocks this page works with. All of them, right here:
VGโ Volume Group name. Seelvm(8)for valid names.LVโ Logical Volume name. Seelvm(8)for valid names. An LV positional arg generally includes the VG name and the LV name, likeVG/LV.Tagโ Tag name. Seelvm(8)for info about tag names and using tags in place of a VG, LV or PV.Stringโ see the option description for info about what the string contains.Size[UNIT]โ Size is an input number that accepts an optional unit. Input units are always treated as base two values, no matter the capitalization โ so'k'and'K'both mean 1024 ๐ซถ. The default input unit is specified by letter, followed by|UNIT.UNITrepresents the other possible input units:b|Bis bytes,s|Sis sectors of 512 bytes,k|Kis KiB,m|Mis MiB,g|Gis GiB,t|Tis TiB,p|Pis PiB,e|Eis EiB. (Don't mix this up with the output control--units, where capital letters mean a multiple of 1000! Different vibe, different rules.)
๐ฟ ENVIRONMENT VARIABLES ๐ฟ
okay bestie, plot twist: lvdisplay doesn't really have its own lil stash of env vars, so we're gonna go look at the big sibling page instead ๐
peep lvm(8) for the whole rundown on environment variables that lvm uses overall. and the example that we literally always bring up: LVM_VG_NAME can generally be swapped in for a required VG parameter ๐ so instead of typing the VG name every single time, the env var can just... carry it. iconic behaviour honestly.
ngl, that "generally" is doing some heavy lifting in that sentence, so don't treat it as an absolute law of the universe โ it's the vibe, not a guarantee ๐
๐ฎ SEE ALSO ๐ฎ
the friend group!!! ๐ซถ this is the extended universe of lvm pages, so if lvdisplay wasn't the one who could answer your question, one of these cuties almost definitely can:
- core lvm lore:
lvm(8),lvm.conf(5),lvmconfig(8),lvmdevices(8) - the physical volume girlies:
pvchange(8),pvck(8),pvcreate(8),pvdisplay(8),pvmove(8),pvremove(8),pvresize(8),pvs(8),pvscan(8) - the volume group besties:
vgcfgbackup(8),vgcfgrestore(8),vgchange(8),vgck(8),vgcreate(8),vgconvert(8),vgdisplay(8),vgexport(8),vgextend(8),vgimport(8),vgimportclone(8),vgimportdevices(8),vgmerge(8),vgmknodes(8),vgreduce(8),vgremove(8),vgrename(8),vgs(8),vgscan(8),vgsplit(8) - the logical volume squad (yes, that includes us ๐):
lvcreate(8),lvchange(8),lvconvert(8),lvdisplay(8),lvextend(8),lvreduce(8),lvremove(8),lvrename(8),lvresize(8),lvs(8),lvscan(8) - the utility icons:
lvm-fullreport(8),lvm-lvpoll(8),blkdeactivate(8),lvmdump(8) - the daemons and friends that keep the whole thing running:
dmeventd(8),lvmpolld(8),lvmlockd(8),lvmlockctl(8),lvmdbusd(8),fsadm(8) - the miscellaneous scrolls (section 7 โจ):
lvmsystemid(7),lvmreport(7),lvmcache(7),lvmraid(7),lvmthin(7),lvmvdo(7),lvmautoactivation(7)
fr fr, if you're stuck on anything lv-related, one of these pages is holding the answer and you will find it ๐
and that's the whole page bestie!! ๐ you made it to the end, main character energy for real ๐ธ
this gorgeous thing was brought to you by Red Hat, Inc., from LVM TOOLS 2.03.44(2), with the date stamp 2026-10-27 โ periodt ๐
โจ go forth and inspect your logical volumes, lvdisplay is rooting for you ๐๐ฆ
๐ฆ where this page comes from
- arch rolling: lvm2 2.03.44-1 ยท GPL-2.0-only AND LGPL-2.1-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms