LVSCAN(8)

πŸ’… LVSCAN β€” it's in the (8) System Manager's Manual, bestie ✨

πŸ¦‹ NAME

lvscan β€” literally just list all logical volumes in all volume groups, no cap πŸ’–


🌸 SYNOPSIS

lvscan [ option_args ]

πŸ’– DESCRIPTION

Okay so picture this: lvscan goes around scanning every VG in the system, or every supported LVM block device, hunting for LVs πŸ‘€. And what do you get back? One line per LV β€” showing whether it's active or not, whether it's a snapshot or an origin, the size of the device, and its allocation policy. That's the whole tea. β˜•

But if you want the full lore β€” the comprehensive deep-dive on your LVs β€” you gotta use lvs(8) or lvdisplay(8) instead. lvscan is giving quick-glance energy, not whole-essay energy 🫢


✨ USAGE ✨

lvscan
       [ -a|--all ]
       [ --ignorelockingfailure ]
       [ --readonly ]
       [ --reportformat basic|json|json_std ]
       [ COMMON_OPTIONS ]

β€”

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 πŸ‘‘

  • -a, --all β€” spill the tea on the internal LVs too 🫣. These are the components of normal LVs β€” like mirrors β€” that you can't reach on their own, i.e. not independently accessible, e.g. not mountable.
  • --commandprofile String β€” the command profile to use for command configuration. Wanna know what profiles even are? See lvm.conf(5), it explains it all πŸ’œ
  • --config String β€” config settings for the command, and 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. Again: lvm.conf(5) for the deets on config πŸŽ€
  • -d, --debug ... β€” sets the debug level. Repeat it anywhere from 1 to 6 times to crank up how detailed the messages sent to the log file and/or syslog (if configured) get πŸ”₯
  • --devices PV β€” restricts which devices are visible and accessible to the command. Any device you don't list will just show up as missing. You can repeat this option, or hand it a comma-separated list of devices. Heads up: this overrides the devices file πŸ’€
  • --devicesfile String β€” a file listing the devices LVM should use. The file must exist in /etc/lvm/devices/ and it's 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 won't even try to use device-mapper. It's for testing and debugging 🧚
  • -h, --help β€” displays help text. Your bestie when you're lost πŸ’–
  • --ignorelockingfailure β€” lets a command keep going with read-only metadata operations even after locking failures πŸ™ˆ
  • --journal String β€” records information in the systemd journal. This is in addition to whatever the lvm.conf log/journal setting already turns on. Your options: command: records info about the command. output: records the default command output. debug: records full command debugging ✨
  • --lockopt String β€” used to pass options for special cases to lvmlockd. See lvmlockd(8) for more 🌸
  • --longhelp β€” displays long help text. The extended cut 🎬
  • --nohints β€” don't use the hints file to locate devices for PVs. When hints aren't used, a command may have to 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 bestie, concurrent commands may produce incorrect results 😭
  • --profile String β€” an alias for --commandprofile or --metadataprofile, depending on the command πŸ‘‘
  • -q, --quiet ... β€” suppresses output and log messages. It overrides --debug and --verbose. Repeat it once to also suppress any prompts with answer 'no' 🀫
  • --readonly β€” prevents 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 normally defined globally by the report/output_format setting in lvm.conf(5). Here's the breakdown: basic is 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 for identification. json produces report output in JSON format. json_std produces report output in JSON format that's more compliant with the JSON standard. See lvmreport(7) for more info 🌈
  • -t, --test β€” runs in test mode. Commands will not update metadata. How's it work? It disables all metadata writing but still returns success to the calling function anyway πŸ˜…. Warning: this may lead to unusual error messages in multi-stage operations if a tool relies on reading back metadata it believes has changed but actually hasn't. It's giving gaslighting fr fr πŸ’€
  • -v, --verbose ... β€” sets the verbose level. Repeat it anywhere from 1 to 4 times to increase the detail of messages sent to stdout and stderr πŸ”₯
  • --version β€” displays version information ⭐
  • -y, --yes β€” don't prompt for confirmation interactively, just always assume the answer is yes. Use with extreme caution 😭. (For automatic no, see -qq.)

πŸŽ€ VARIABLES πŸŽ€

  • String β€” see the option description for info about what the string content is πŸ’œ
  • Size[UNIT] β€” Size is an input number that accepts an optional unit. Input units are always treated as base two values, regardless of capitalization β€” so for example 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. And UNIT represents the other possible input units: b|B is bytes, s|S is sectors of 512 bytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB. πŸ¦‹
Don't get this confused with the output control --units, where capital letters mean multiple of 1000. Different vibe entirely, iykyk πŸ‘€

🌈 ENVIRONMENT VARIABLES 🌈

See lvm(8) for the info about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter ✨


πŸ’– SEE ALSO πŸ’–

lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8), pvremove(8), pvresize(8), pvs(8), pvscan(8),

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),

lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8), lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), lvmdbusd(8), fsadm(8),

lvmsystemid(7), lvmreport(7), lvmcache(7), lvmraid(7), lvmthin(7), lvmvdo(7), lvmautoactivation(7)


okay that's the whole page bestie, go scan some LVs πŸ’…βœ¨

Brought to you by Red Hat, Inc. β€” LVM TOOLS 2.03.44(2), dated 2026-10-27 πŸŽ€πŸ«Ά That's the version, that's the source, that's the date, slay.

πŸ“¦ where this page comes from