LVM(FULLREPORT)

πŸ’– LVM(FULLREPORT) πŸ’–

okay so bestie, welcome to the manual page for lvm fullreport β€” brought to you by Red Hat, Inc. πŸŽ€ this is the part 1 of the glow-up, more is coming, stay with me ✨


✨ NAME ✨

lvm fullreport β€” Display full report πŸ‘‘


🌸 SYNOPSIS 🌸

lvm fullreport
       [ option_args ]
       [ position_args ]

πŸ¦‹ DESCRIPTION πŸ¦‹

so lvm fullreport gives you formatted output about PVs, PV segments, VGs, LVs and LV segments. all of it. together. at once. πŸ’…

and here's the slay part: the info is all gathered together for each VG (under a per-VG lock πŸ”’) so it's actually consistent. no cap.

because like… if you gather that same info from separate calls to vgs, pvs, and lvs? it can be inconsistent if things change between commands 😭 the vibes get messy. so don't do that. do this instead.


⭐ USAGE ⭐

lvm fullreport
       [ -a|--all ]
       [ -o|--options String ]
       [ -O|--sort String ]
       [ -S|--select String ]
       [ --aligned ]
       [ --binary ]
       [ --configreport log|vg|lv|pv|pvseg|seg ]
       [ --foreign ]
       [ --headings none|abbrev|full|0|1|2 ]
       [ --ignorelockingfailure ]
       [ --logonly ]
       [ --nameprefixes ]
       [ --noheadings ]
       [ --nosuffix ]
       [ --readonly ]
       [ --reportformat basic|json|json_std ]
       [ --rows ]
       [ --separator String ]
       [ --shared ]
       [ --unbuffered ]
       [ --units [Number]r|R|h|H|b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E ]
       [ --unquoted ]
       [ COMMON_OPTIONS ]
       [ VG ... ]

and then, the common options for lvm, the shared besties that show up everywhere 🫢

Common options for lvm:
       [ -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 ]

πŸ’… OPTIONS πŸ’…

so many little flags, all iconic, let's go through every single one together πŸ“

  • --aligned β€” use it with --separator and it lines your output columns up all neat and pretty ✨
  • -a, --all β€” this one does a LOT, okay:
    • show info about internal LVs. these are the components of normal LVs β€” mirrors and such β€” that you can't access independently, like, you literally can't mount them. πŸ™ˆ
    • list all VGs. this is equivalent to not specifying any VGs at all.
    • show info about devices that haven't been initialized by LVM, i.e. they are not PVs.
  • --binary β€” for columns that have exactly two valid values, report binary values "0" or "1" instead of the descriptive literal values. (not counting the "unknown" value, which means the value couldn't be determined β€” that one stays weird, bestie πŸ’€)
  • --commandprofile String β€” the command profile to use for command configuration. see lvm.conf(5) for more about profiles πŸ‘‘
  • --config String β€” config settings for the command. these override the lvm.conf(5) settings. the String arg uses the same format as lvm.conf(5), or it can use section/field syntax. see lvm.conf(5) for more about config 🌈
  • --configreport log|vg|lv|pv|pvseg|seg β€” see lvmreport(7). that's the whole vibe on this one ✨
  • -d, --debug ... β€” set the debug level. repeat it anywhere from 1 to 6 times to crank up the detail of messages sent to the log file and/or syslog (if configured) πŸ”₯
  • --devices PV β€” restricts which devices are visible and accessible to the command. devices not listed will appear to be missing 😭 this option can be repeated, or it accepts a comma-separated list of devices. it overrides the devices file. periodt.
  • --devicesfile String β€” a file listing devices that LVM should use. the file must exist in /etc/lvm/devices/ and is managed with the lvmdevices(8) command. this overrides the lvm.conf(5) devices/devicesfile and devices/use_devicesfile settings.
  • --driverloaded y|n β€” if you set it to no, the command will not attempt to use device-mapper. for testing and debugging 🧚
  • --foreign β€” report/display foreign VGs that would otherwise be skipped. see lvmsystemid(7) for more about foreign VGs πŸ‘‘
  • --headings none|abbrev|full|0|1|2 β€” the type of headings to use in report output:
    • none or 0: no headings, at all, zero
    • abbrev or 1: column name abbreviations
    • full or 2: full column names
  • -h, --help β€” display help text 🫢
  • --ignorelockingfailure β€” lets a command keep going with read-only metadata operations after locking failures. (yes bestie, it just… keeps going πŸ’€)
  • --journal String β€” record information in the systemd journal. this info is in addition to whatever the lvm.conf log/journal setting already enables:
    • command: record information about the command
    • output: record the default command output
    • debug: record full command debugging
  • --lockopt String β€” used to pass options for special cases to lvmlockd. see lvmlockd(8) for more information πŸ”’
  • --logonly β€” suppress the command report and display only the log report.
  • --longhelp β€” display long help text. the long one. the extended cut πŸ’…
  • --nameprefixes β€” add an "LVM2_" prefix plus the field name to the output. useful with --noheadings to produce a list of field=value pairs that can be used to set environment variables (for example, in udev rules) ✨
  • --noheadings β€” suppress the headings line that's normally the first line of output. super useful if you're grepping the output πŸ”
  • --nohints β€” do not use the hints file to locate devices for PVs. a command may read more devices to find PVs when hints aren't used. the command will still perform standard hint file invalidation where appropriate. it's giving responsible 🌸
  • --nolocking β€” disable locking. use with caution β€” concurrent commands may produce incorrect results 😭 don't say we didn't warn you.
  • --nosuffix β€” suppress the suffix on output sizes. use with --units (except h and H) if you're processing the output πŸŽ€
  • -o, --options String β€” comma-separated, ordered list of fields to display in columns. the String arg syntax is: [+|-|#]Field1[,Field2 ...]
    • the prefix + will append the specified fields to the default fields
    • - will remove the specified fields from the default fields
    • # will compact the specified fields (removing them when empty for all rows)
    • use -o help to view the list of all available fields πŸ‘€
    • use separate lists of fields to add, remove or compact by repeating the -o option: -o+field1,field2 -o-field3,field4 -o#field5. these lists are evaluated from left to right.
    • use field name lv_all to view all LV fields, vg_all all VG fields, pv_all all PV fields, seg_all all LV segment fields, and pvseg_all all PV segment fields.
    • see the lvm.conf(5) report section for more config options. see lvmreport(7) for more information about reporting πŸ“Š
  • --profile String β€” an alias for --commandprofile or --metadataprofile, depending on the command. iykyk πŸ’…
  • -q, --quiet ... β€” suppress output and log messages. overrides --debug and --verbose. repeat it once to also suppress any prompts with answer 'no' 🀫
  • --readonly β€” prevent the command from making changes, including activation and metadata updates. (see --permission r for read only LVs.) πŸ”’
  • --reportformat basic|json|json_std β€” overrides the current output format for reports, which is defined globally by the report/output_format setting in lvm.conf(5).
    • basic is the original format with columns and rows. if there's more than one report per command, each report is prefixed with the report name for identification.
    • json produces report output in JSON format.
    • json_std produces report output in JSON format which is more compliant with the JSON standard. ✨
    • see lvmreport(7) for more information.
  • --rows β€” output columns as rows. yes, it just flips the whole thing sideways, and honestly? iconic πŸ”„
  • -S, --select String β€” select objects for processing and reporting based on specified criteria. the criteria syntax is described by --select help and lvmreport(7). for reporting commands, one row is displayed for each object matching the criteria. see --options help for selectable object fields. rows can be displayed with an additional "selected" field (-o selected) showing 1 if the row matches the selection and 0 otherwise. for non-reporting commands which process LVM entities, the selection is used to choose items to process 🎯
  • --separator String β€” the string to use to separate each column. useful if you're grepping the output πŸ“
  • --shared β€” report/display shared VGs that would otherwise be skipped when lvmlockd is not being used on the host. see lvmlockd(8) for more about shared VGs πŸ”—
  • -O, --sort String β€” comma-separated ordered list of columns to sort by. replaces the default selection. precede any column with - for a reverse sort on that column ⬇️
  • -t, --test β€” run in test mode. commands will not update metadata. this is implemented by disabling all metadata writing but nevertheless returning success to the calling function. this may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but hasn't 😭 so like… test mode lies a little. be aware.
  • --unbuffered β€” produce output immediately without sorting or aligning the columns properly. chaos mode, no alignment, raw vibes πŸ’€
  • --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 '<' 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
    • custom units can be specified, e.g. --units 3M ✨
  • --unquoted β€” when used with --nameprefixes, output values in the field=value pairs are not quoted.
  • -v, --verbose ... β€” set verbose level. repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr πŸ“’
  • --version β€” display version information πŸ‘‘
  • -y, --yes β€” do not prompt for confirmation interactively but always assume the answer is yes. use with extreme caution 🚨 (for automatic no, see -qq.)

πŸ’– VARIABLES πŸ’–

okay so these are the lil placeholder-y variables that can show up all over the tool's options, and you need to know what they mean or nothing makes sense, bestie 🫢

  • VG β€” a Volume Group name. that's it, that's the whole thing. if you wanna know what counts as a valid name, go read lvm(8), it's giving "the rules live over there" ✨
  • String β€” literally just a string, no cap. the actual tea on what content is allowed lives in the description of whichever option is using it, so go read that option's blurb πŸ“–
  • Size[UNIT] β€” the iconic one. Size is an input number and the [UNIT] bit is optional, so you can leave it off and be fine πŸ’…
important!! input units are always treated as base two values, no matter how you capitalize them. like, k and K both mean 1024. capital letters do NOT secretly switch you to decimal over here, periodt 🚫

the default input unit is the one shown there by its letter, followed by |UNIT. and UNIT is just the menu of other units you're allowed to type in:

  • b|B β€” bytes
  • s|S β€” sectors of 512 bytes
  • k|K β€” KiB
  • m|M β€” MiB
  • g|G β€” GiB
  • t|T β€” TiB
  • p|P β€” PiB
  • e|E β€” EiB
⚠️ don't get this confused with the output control --units, okay?? over there capital letters mean multiple of 1000. different vibe, different rules, do not mix them up 😭

🌸 ENVIRONMENT VARIABLES 🌸

the environment variables that lvm cares about are all documented in lvm(8), so that's your reading assignment πŸ“š

for example β€” and this one is a genuine lifesaver β€” LVM_VG_NAME can generally be swapped in for a VG parameter whenever one is required. so instead of typing the volume group name over and over, you just set it once and let the environment carry you 🧚✨


⭐ SEE ALSO ⭐

the whole friend group, in order, no one left out πŸ‘‘:


and that's a wrap on part 2, bestie!! πŸŽ€ this whole page is from LVM TOOLS 2.03.44(2), dated 2026-10-27, living its best life in section 8 of the manual, filed under LVM(FULLREPORT) πŸ’– go forth and read your volume groups, you absolute icon πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from