LVCHANGE(8)

๐ŸŽ€ lvchange(8) ๐ŸŽ€

welcome to lvchange, bestie โ€” straight outta the System Manager's Manual, and it is long. like, three-parts long. so hydrate, sit pretty, and let's go ๐Ÿ’…


๐Ÿ“› NAME ๐Ÿ“›

lvchange โ€” change the attributes of logical volume(s) โœจ

yeah that's it, that's the whole headline. your LVs have settings, this command is how you go mess with them. periodt.


๐Ÿงพ SYNOPSIS ๐Ÿงพ

so the shape of it is literally this:

lvchange option_args position_args
       [ option_args ]

and the option_args roster, in the order the page serves them:

-a|--activate y|n|ay
--activationmode partial|degraded|complete
--addtag Tag
--alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit
-A|--autobackup y|n
--cachemode writethrough|writeback|passthrough
--cachepolicy String
--cachesettings String
--commandprofile String
--compression y|n
--config String
-C|--contiguous y|n
-d|--debug ...
--deduplication y|n
--deltag Tag
--detachprofile
--devices PV
--devicesfile String
--discards passdown|nopassdown|ignore
--driverloaded y|n
--errorwhenfull y|n
-f|--force ...
-h|--help
-K|--ignoreactivationskip
--ignorelockingfailure
--ignoremonitoring
--integritysettings String
--journal String
--lockopt String
--longhelp
-j|--major Number
--[raid]maxrecoveryrate Size[k|UNIT]
--metadataprofile String
--minor Number
--[raid]minrecoveryrate Size[k|UNIT]
--monitor y|n
--nohints
--nolocking
--noudevsync
-P|--partial
-p|--permission rw|r
-M|--persistent y|n
--poll y|n
--profile String
-q|--quiet ...
-r|--readahead auto|none|Number
--readonly
--rebuild PV
--refresh
--reportformat basic|json|json_std
--resync
-S|--select String
-k|--setactivationskip y|n
--setautoactivation y|n
--[raid]syncaction check|repair
--sysinit
-t|--test
--vdosettings String
-v|--verbose ...
--version
--[raid]writebehind Number
--[raid]writemostly PV[:t|n|y]
-y|--yes
-Z|--zero y|n

yeah. that's a lot of options. she's an icon, she contains multitudes ๐Ÿซถ


๐Ÿ“– DESCRIPTION ๐Ÿ“–

lvchange does three whole jobs and she does them well, no cap:

  • she changes LV attributes in the VG ๐ŸŒธ
  • she changes LV activation in the kernel ๐Ÿง 
  • and she also packs in a bunch of other utilities for LV maintenance ๐Ÿ› 

one command, many hats. main character energy fr.


๐Ÿ›  USAGE ๐Ÿ› 

okay so the usage section is basically a little menu of moods โ€” pick the one that matches what you're doing and the right options come with it.

1๏ธโƒฃ Change a general LV attribute

Change a general LV attribute. For options listed in parentheses, any one is required, after which the others are optional. (so like, pick at least one out of that group or she's not going anywhere ๐Ÿ’€)

lvchange
       ( -C|--contiguous y|n
         -k|--setactivationskip y|n
         -M|--persistent y|n
         -p|--permission rw|r
         -r|--readahead auto|none|Number
         -Z|--zero y|n
         --addtag Tag
         --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit
         --cachemode writethrough|writeback|passthrough
         --cachepolicy String
         --cachesettings String
         --compression y|n
         --deduplication y|n
         --deltag Tag
         --detachprofile
         --discards passdown|nopassdown|ignore
         --errorwhenfull y|n
         --integritysettings String
         --[raid]maxrecoveryrate Size[k|UNIT]
         --metadataprofile String
         --[raid]minrecoveryrate Size[k|UNIT]
         --setautoactivation y|n
         --vdosettings String
         --[raid]writebehind Number
         --[raid]writemostly PV[:t|n|y] )
       VG|LV|Tag|Select ...
       [ -a|--activate y|n|ay ]
       [ --monitor y|n ]
       [ --poll y|n ]
       [ COMMON_OPTIONS ]

2๏ธโƒฃ Resynchronize a mirror or raid LV

Resynchronize a mirror or raid LV. Use this to reset the 'R' attribute on a not initially synchronized LV. (she's waking that mirror up from its lil nap ๐Ÿ˜ด)

lvchange --resync VG|LV1|Tag|Select ...
       [ -a|--activate y|n|ay ]
       [ COMMON_OPTIONS ]

       LV1 types: mirror raid

3๏ธโƒฃ Resynchronize or check a raid LV

Resynchronize or check a raid LV.

lvchange --[raid]syncaction check|repair VG|LV1|Tag|Select ...
       [ COMMON_OPTIONS ]

       LV1 types: raid

4๏ธโƒฃ Reconstruct data on specific PVs of a raid LV

Reconstruct data on specific PVs of a raid LV.

lvchange --rebuild PV VG|LV1|Tag|Select ...
       [ COMMON_OPTIONS ]

       LV1 types: raid

5๏ธโƒฃ Activate or deactivate an LV

Activate or deactivate an LV. the classic. the original. the moment โœจ

lvchange -a|--activate y|n|ay VG|LV|Tag|Select ...
       [ -K|--ignoreactivationskip ]
       [ -P|--partial ]
       [ --activationmode partial|degraded|complete ]
       [ --ignorelockingfailure ]
       [ --monitor y|n ]
       [ --poll y|n ]
       [ --readonly ]
       [ --sysinit ]
       [ COMMON_OPTIONS ]

6๏ธโƒฃ Reactivate an LV using the latest metadata

Reactivate an LV using the latest metadata. a lil refresh moment ๐Ÿง–โ€โ™€๏ธ

lvchange --refresh VG|LV|Tag|Select ...
       [ -P|--partial ]
       [ --activationmode partial|degraded|complete ]
       [ --monitor y|n ]
       [ --poll y|n ]
       [ COMMON_OPTIONS ]

7๏ธโƒฃ Start or stop monitoring an LV from dmeventd

Start or stop monitoring an LV from dmeventd. ๐Ÿ‘€

lvchange --monitor y|n VG|LV|Tag|Select ...
       [ COMMON_OPTIONS ]

8๏ธโƒฃ Start or stop processing an LV conversion

Start or stop processing an LV conversion.

lvchange --poll y|n VG|LV|Tag|Select ...
       [ --monitor y|n ]
       [ COMMON_OPTIONS ]

9๏ธโƒฃ Make the minor device number persistent for an LV

Make the minor device number persistent for an LV.

lvchange --minor Number -M|--persistent y|n LV
       [ -a|--activate y|n|ay ]
       [ -j|--major Number ]
       [ --monitor y|n ]
       [ --poll y|n ]
       [ COMMON_OPTIONS ]

๐Ÿ”ง Common options for command

these ones ride along with the command itself:

[ -A|--autobackup y|n ]
[ -f|--force ... ]
[ -S|--select String ]
[ --ignoremonitoring ]
[ --noudevsync ]
[ --reportformat basic|json|json_std ]

๐ŸŒˆ Common options for lvm

and these ones are the lvm-wide girlies that show up everywhere:

[ -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 โš™๏ธ

okay bestie, deep breath, here come the actual option breakdowns ๐Ÿซถ

  • -a, --activate y|n|ay โ€” changes the active state of LVs.
    • An active LV can be used through a block device, which is what lets data on the LV actually be accessed.
    • y makes LVs active, aka available. n makes LVs inactive, aka unavailable.
    • The block device for the LV gets added to or removed from the system using device-mapper in the kernel. A symbolic link /dev/VG-Name/LVName pointing to the device node is also added/removed.
    • All software and scripts should access the device through the symbolic link and present this as the name of the device. The location and name of the underlying device node may depend on the distribution, configuration (e.g. udev), or release version. (iykyk โ€” don't hardcode the node, bestie ๐Ÿ˜ญ)
    • ay specifies autoactivation, which is used by system-generated activation commands. By default, LVs are autoactivated.
    • An autoactivation property can be set on a VG or LV to disable autoactivation โ€” see --setautoactivation y|n in vgchange, lvchange, vgcreate, and lvcreate.
    • Display the property with vgs or lvs "-o autoactivation".
    • The lvm.conf(5) auto_activation_volume_list includes names of VGs or LVs that should be autoactivated, and anything not listed is not autoactivated.
    • When auto_activation_volume_list is undefined (the default), it has no effect. If auto_activation_volume_list is defined and empty, no LVs are autoactivated.
    • Items included by auto_activation_volume_list will not be autoactivated if the autoactivation property has been disabled.
    • See lvmlockd(8) for more information about activation options ey and sy for shared VGs.
  • --activationmode partial|degraded|complete โ€” decides whether LV activation is even allowed when PVs are missing, e.g. because a device failed ๐Ÿ’€
    • complete only allows LVs with no missing PVs to be activated, and is the most restrictive mode. the strict queen.
    • degraded allows RAID LVs with missing PVs to be activated. (this does not include the "mirror" type โ€” see "raid1" instead, bestie!)
    • partial allows any LV with missing PVs to be activated, and should only be used for recovery or repair.
    • for the default, see lvm.conf(5) activation_mode.
    • see lvmraid(7) for more information.
  • --addtag Tag โ€” adds a tag to a PV, VG or LV. This option can be repeated to add multiple tags at once. See lvm(8) for information about tags. ๐Ÿท๏ธ
  • --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit โ€” determines the allocation policy when a command needs to allocate Physical Extents (PEs) from the VG. Each VG and LV has an allocation policy which can be changed with vgchange/lvchange, or overridden on the command line.
    • normal applies common sense rules, such as not placing parallel stripes on the same PV.
    • inherit applies the VG policy to an LV.
    • contiguous requires new PEs to be placed adjacent to existing PEs.
    • cling places new PEs on the same PV as existing PEs in the same stripe of the LV.
    • If there are sufficient PEs for an allocation, but normal does not use them, anywhere will use them even if it reduces performance, e.g. by placing two stripes on the same PV.
    • Optional positional PV args on the command line can also be used to limit which PVs the command will use for allocation.
    • See lvm(8) for more information about allocation.
  • -A, --autobackup y|n โ€” specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! ๐Ÿšจ See vgcfgbackup(8) for more information.
  • --cachemode writethrough|writeback|passthrough โ€” specifies when writes to a cache LV should be considered complete.
    • writeback considers a write complete as soon as it is stored in the cache pool. fast and loose ๐Ÿ’…
    • writethrough considers a write complete only when it has been stored in both the cache pool and on the origin LV. While writethrough may be slower for writes, it is more resilient if something should happen to a device associated with the cache pool LV.
    • With passthrough, all reads are served from the origin LV (all reads miss the cache) and all writes are forwarded to the origin LV; additionally, write hits cause cache block invalidates.
    • See lvmcache(7) for more information.

and bestie we are so not done yet โ€” that was literally the first handful of options out of like a million ๐Ÿซ 

  • --cachepolicy String โ€” tells LVM what cache policy to use for a cache LV ๐Ÿ’… it's giving โœจcache vibesโœจ. See lvmcache(7) for the whole story.
  • --cachesettings String โ€” the tunable kernel options for dm-cache or dm-writecache LVs, bestie ๐ŸŽ€ format it like option=value or option1=value option2=value, OR just repeat --cachesettings for each option you're setting. These settings override the default kernel behaviors โ€” which are usually adequate, ngl. Wanna remove cachesettings and go back to defaults? Use --cachesettings 'default' for dm-cache, or an empty string --cachesettings '' for dm-writecache. See lvmcache(7) for more. ๐Ÿ”ฅ
  • --commandprofile String โ€” the command profile to use for command configuration. See lvm.conf(5) for the tea on profiles. ๐Ÿ“
  • --compression y|n โ€” turns compression on or off for a VDO volume. See lvmvdo(7) for more about VDO usage. โœจ
  • --config String โ€” config settings for the command, and they override your lvm.conf(5) settings, periodt ๐Ÿ‘‘ The String arg uses the same format as lvm.conf(5), or you can use section/field syntax. See lvm.conf(5) for more about config.
  • -C, --contiguous y|n โ€” sets or resets the contiguous allocation policy for LVs. Default is no contiguous allocation, based on a next free principle. Heads up tho: you can only change a non-contiguous allocation policy to contiguous if all of the allocated physical extents in the LV are already contiguous. ๐Ÿ’€
  • -d, --debug ... โ€” sets the debug level. Repeat it from 1 to 6 times to crank up the detail of messages sent to the log file and/or syslog (if configured). ๐Ÿ›
  • --deduplication y|n โ€” turns deduplication on or off for a VDO volume. See lvmvdo(7) for more about VDO usage. ๐Ÿฆ‹
  • --deltag Tag โ€” deletes a tag from a PV, VG or LV. You can repeat this option to delete multiple tags at once. See lvm(8) for info about tags. ๐Ÿท๏ธ
  • --detachprofile โ€” detaches a metadata profile from a VG or LV. See lvm.conf(5) for more about profiles. ๐ŸŽ€
  • --devices PV โ€” restricts which devices are visible and accessible to the command. Devices that aren't 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.
  • --devicesfile String โ€” a file listing the 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. ๐Ÿ“
  • --discards passdown|nopassdown|ignore โ€” specifies how the device-mapper thin pool layer in the kernel should handle discards, fr fr:
    • ignore causes the thin pool to ignore discards.
    • nopassdown causes the thin pool to process discards itself to allow reuse of unneeded extents in the thin pool.
    • passdown causes the thin pool to process discards itself (like nopassdown) and pass the discards to the underlying device. See lvmthin(7) for more. ๐Ÿ’œ
  • --driverloaded y|n โ€” if set to no, the command will not attempt to use device-mapper. For testing and debugging, bestie. ๐Ÿ”ง
  • --errorwhenfull y|n โ€” specifies thin pool behavior when data space is exhausted ๐Ÿ˜ญ
    • When yes, device-mapper will immediately return an error when a thin pool is full and an I/O request requires space.
    • When no, device-mapper will queue those I/O requests for a period of time to allow the thin pool to be extended. Errors are returned if no space is available after the timeout. (Also see the "dm_thin_pool" kernel module option no_space_timeout.) See lvmthin(7) for more. โญ
  • -f, --force ... โ€” overrides various checks, confirmations and protections. Use with extreme caution ๐Ÿšจ like, no cap, be careful.
  • -h, --help โ€” displays help text. ๐Ÿซถ
  • -K, --ignoreactivationskip โ€” ignore the "activation skip" LV flag during activation, so LVs with the flag set can be activated. โœจ
  • --ignorelockingfailure โ€” lets a command continue with read-only metadata operations after locking failures. ๐Ÿ™ˆ
  • --ignoremonitoring โ€” do not interact with dmeventd unless --monitor is specified. Do not use this if dmeventd is already monitoring a device. ๐Ÿ’€
  • --integritysettings String โ€” specifies tunable kernel options for dm-integrity. See lvmraid(7) for more. ๐ŸŒˆ
  • --journal String โ€” record information in the systemd journal. This info is in addition to info enabled by the lvm.conf log/journal setting:
    • 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. ๐Ÿ”
  • --longhelp โ€” displays long help text. (the โœจdeluxeโœจ version)
  • -j, --major Number โ€” sets the major number of an LV block device. ๐Ÿ”ข
  • --[raid]maxrecoveryrate Size[k|UNIT] โ€” sets the maximum recovery rate for a RAID LV. The rate value is an amount of data per second for each device in the array. Setting the rate to 0 means it will be unbounded. See lvmraid(7) for more. ๐ŸŽ๏ธ
  • --metadataprofile String โ€” the metadata profile to use for command configuration. See lvm.conf(5) for more about profiles. ๐ŸŽ€
  • --minor Number โ€” sets the minor number of an LV block device. ๐Ÿ”ข
  • --[raid]minrecoveryrate Size[k|UNIT] โ€” sets the minimum recovery rate for a RAID LV. The rate value is an amount of data per second for each device in the array. Setting the rate to 0 means it will be unbounded. See lvmraid(7) for more. ๐Ÿข
  • --monitor y|n โ€” start (yes) or stop (no) monitoring an LV with dmeventd. dmeventd monitors kernel events for an LV, and performs automated maintenance for the LV in response to specific events. See dmeventd(8) for more. ๐Ÿ‘€
  • --nohints โ€” do not use the hints file to locate devices for PVs. A command may read more devices to find PVs when hints are not used. The command will still perform standard hint file invalidation where appropriate. ๐ŸŒธ
  • --nolocking โ€” disable locking. Use with caution โš ๏ธ concurrent commands may produce incorrect results. ๐Ÿ’€
  • --noudevsync โ€” disables udev synchronization. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates. ๐Ÿ™ˆ
  • -P, --partial โ€” commands will do their best to activate LVs with missing PV extents. Missing extents may be replaced with error or zero segments according to the missing_stripe_filler setting. Metadata may not be changed with this option. ๐Ÿฉน
  • -p, --permission rw|r โ€” set access permission to read only r or read and write rw. ๐Ÿ”
  • -M, --persistent y|n โ€” when yes, makes the specified minor number persistent. ๐Ÿ’พ
  • --poll y|n โ€” when yes, start the background transformation of an LV. An incomplete transformation, e.g. pvmove or lvconvert interrupted by reboot or crash, can be restarted from the last checkpoint with --poll y. When no, background transformation of an LV will not occur, and the transformation will not complete. It may not be appropriate to immediately poll an LV after activation, in which case --poll n can be used to defer polling until a later --poll y command. ๐Ÿ”„
  • --profile String โ€” an alias for --commandprofile or --metadataprofile, depending on the command. ๐Ÿ˜Œ
  • -q, --quiet ... โ€” suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'. ๐Ÿคซ
  • -r, --readahead auto|none|Number โ€” sets the read ahead sector count of an LV. auto is the default, which allows the kernel to choose a suitable value automatically. none is equivalent to zero. ๐Ÿ“–
  • --readonly โ€” prevent the command from making changes, including activation and metadata updates. (See --permission r for read only LVs.) ๐Ÿ™…โ€โ™€๏ธ
  • --rebuild PV โ€” selects a PV to rebuild in a raid LV. Multiple PVs can be rebuilt by repeating this option. Use this option in place of --resync or --syncaction repair when the PVs with corrupted data are known, and their data should be reconstructed rather than reconstructing default (rotating) data. See lvmraid(7) for more. ๐Ÿ› ๏ธ
  • --refresh โ€” if the LV is active, reload its metadata. In an environment where udev is used to manage the /dev content, usage of this option is highly recommended โœจ That's because refresh also regenerates udev events for an LV based on which existing udev rules are applied to set the /dev content and permissions. Also, this operation may be useful if something has gone wrong, or if some form of manual LV sharing is being used. ๐Ÿฆ‹
  • --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 is 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. ๐Ÿ“Š
  • --resync โ€” initiates mirror synchronization. Synchronization generally happens automatically, but this option forces it to run. Also see --rebuild to synchronize a specific PV. During synchronization, data is read from the primary mirror device and copied to the others. This can take considerable time, during which the LV is without a complete redundant copy of the data ๐Ÿ’€ See lvmraid(7) for more. ๐Ÿ”„
  • -S, --select String โ€” bestie, this is the picker ๐Ÿ’…. You pick which objects get processed and reported based on the criteria you give it. The criteria syntax? It's described by --select help and in lvmreport(7). For reporting commands you get one row per object that matches your criteria, and you can see what's selectable via --options help. Pro tip: you can add a "selected" field to the output (-o selected) which shows 1 if the row matches and 0 if it doesn't. For non-reporting commands that process LVM entities, your selection is what chooses the items to process. periodt.
  • -k, --setactivationskip y|n โ€” persistently sets (yes) or clears (no) the "activation skip" flag on an LV โœจ. An LV with this flag set does not get activated unless the activation command uses --ignoreactivationskip. It's set by default on new thin snapshot LVs. Heads up: this flag is not applied to deactivation. The current value of the flag shows up in the lvs lv_attr bits.
  • --setautoactivation y|n โ€” sets the autoactivation property on a VG or LV ๐Ÿฆ‹. Peep it with vgs or lvs "-o autoactivation". When autoactivation is disabled, the VG or LV will not be activated by a command that does autoactivation (vgchange, lvchange, or pvscan using -aay). And lowkey important: if autoactivation is disabled on a VG, no LVs will be autoactivated in that VG at all, and the LV autoactivation property has no effect. If it's enabled on a VG, you can still disable autoactivation for individual LVs.
  • --[raid]syncaction check|repair โ€” kicks off different types of RAID synchronization ๐Ÿ”ฅ. This makes the RAID LV read all data and parity blocks in the array and check for discrepancies (mismatches between mirrors or incorrect parity values). check will count but not correct discrepancies. repair will correct them. Be mindful: these synchronization actions are transient and have to be restarted after a system failure/reboot or a configuration change to the RaidLV ๐Ÿ˜ญ. See lvs(8) for reporting discrepancies found or repaired.
  • --sysinit โ€” says that vgchange/lvchange is being invoked from early system initialisation scripts (like rc.sysinit or an initrd), before writable filesystems are available ๐ŸŒˆ. Because of that, some functionality needs to be disabled, and this option is a shortcut that selects an appropriate set of options. Currently it's equivalent to using --ignorelockingfailure, --ignoremonitoring, --poll n, and setting env var LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES. Also: vgchange/lvchange skip autoactivation and defer to pvscan autoactivation.
  • -t, --test โ€” run in test mode ๐Ÿงš. Commands will not update metadata. It's implemented by disabling all metadata writing but still returning success to the calling function. Real talk: 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 ๐Ÿ’€.
  • --vdosettings String โ€” specifies tunable VDO options for VDO LVs ๐Ÿ“. Use the form 'option=value' or 'option1=value option2=value', or just repeat --vdosettings for each option you're setting. These settings override the default VDO behaviors. To remove vdosettings and revert to the default VDO behaviors, use --vdosettings 'default'. See lvmvdo(7) for more info.
  • -v, --verbose ... โ€” sets the verbose level ๐Ÿ‘‘. Repeat it from 1 to 4 times to increase the detail of messages sent to stdout and stderr.
  • --version โ€” displays version information โญ.
  • --[raid]writebehind Number โ€” the maximum number of outstanding writes allowed to devices in a RAID1 LV that's marked write-mostly ๐Ÿ’œ. Once you exceed this value, writes become synchronous (meaning all writes to the constituent devices must complete before the array signals the write has completed). Setting the value to zero clears the preference and lets the system choose the value arbitrarily.
  • --[raid]writemostly PV[:t|n|y] โ€” marks a device in a RAID1 LV as write-mostly ๐ŸŒธ. All reads to these drives will be avoided unless absolutely necessary, which keeps the number of I/Os to the drive at a minimum. The default behavior is to set the write-mostly attribute for the specified PV. You can also remove the write-mostly flag by adding the suffix :n at the end of the PV name, or toggle the value with the suffix :t. Repeat this option to change the attribute on multiple PVs.
  • -y, --yes โ€” do not prompt for confirmation interactively; always assume the answer is yes ๐Ÿ’€. Use with extreme caution. (For automatic no, see -qq.)
  • -Z, --zero y|n โ€” sets zeroing mode for a thin pool ๐ŸŽ€. Note: already provisioned blocks from a pool in non-zero mode are not cleared in unwritten parts when setting --zero y.

๐Ÿซถ VARIABLES ๐Ÿซถ

  • VG โ€” Volume Group name. See lvm(8) for valid names.
  • LV โ€” Logical Volume name. See lvm(8) for valid names. An LV positional arg generally includes the VG name and LV name, e.g. VG/LV. LV1 indicates the LV must have a specific type, where the accepted LV types are listed. (raid represents raid<N> type).
  • Tag โ€” Tag name. See lvm(8) for information about tag names and using tags in place of a VG, LV or PV.
  • Select โ€” Select indicates that a required positional parameter can be omitted if the --select option is used. No arg appears in this position.
  • String โ€” see the option description for information about the string content.
  • Size[UNIT] โ€” Size is an input number that accepts an optional unit ๐Ÿ“. Input units are always treated as base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024. The default input unit is specified by letter, followed by |UNIT. UNIT represents 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. (This should not be confused with the output control --units, where capital letters mean multiple of 1000.)

๐ŸŒˆ ENVIRONMENT VARIABLES ๐ŸŒˆ

See lvm(8) for information about environment variables used by lvm. For example, LVM_VG_NAME can generally be substituted for a required VG parameter โœจ.


๐Ÿ’– EXAMPLES ๐Ÿ’–

Change LV permission to read-only:

lvchange -pr vg00/lvol1

โญ 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)


and that's the whole page bestie, you ate that ๐Ÿ’… This one's LVM TOOLS 2.03.44(2), dated 2026-10-27, brought to you by the lovely people at Red Hat, Inc. โ€” go forth and manage those logical volumes, icon ๐Ÿ‘‘โœจ

๐Ÿ“ฆ where this page comes from