PVCHANGE(8)
π NAME π
pvchange β bestie, this one changes attributes of physical volume(s) β¨ (and yeah, that's the whole vibe of pvchange(8), section 8 of your System Manager's Manual, lowercase-girl-coded tool, uppercase energy π)
π SYNOPSIS π
pvchange option_args position_args
[ option_args ]
π¦ DESCRIPTION π¦
okay so pvchange changes PV attributes in the VG. that's it, that's the mission π
And listen β for options listed in parentheses, any one is required, and after you pick that one, the others are optional. one of them is the main character, the rest are supporting cast π«Ά
β¨ USAGE β¨
Change properties of all PVs.
pvchange -a|--all
( -u|--uuid
-x|--allocatable y|n
--addtag Tag
--deltag Tag
--metadataignore y|n )
[ COMMON_OPTIONS ]
β
Change properties of specified PVs.
pvchange
( -u|--uuid
-x|--allocatable y|n
--addtag Tag
--deltag Tag
--metadataignore y|n )
PV|Select ...
[ -S|--select String ]
[ COMMON_OPTIONS ]
β
Common options for command:
[ -A|--autobackup y|n ]
[ -f|--force ... ]
[ --reportformat basic|json|json_std ]
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 π
--addtag Tagβ drops a tag onto a PV, VG or LV π·οΈ you can repeat this one to add multiple tags at once. wanna know the tag lore?lvm(8)has you, bestie.-a,--allβ change all visible PVs. every single one. no skipping π₯-x,--allocatable y|nβ turns allocation of physical extents on this PV on or off. y = yes babe, n = not today.-A,--autobackup y|nβ says whether metadata should be auto-backed-up after a change. Enabling this is strongly advised! genuinely, turn it on. seevgcfgbackup(8)for the details π«Ά--commandprofile Stringβ the command profile used for command configuration. checklvm.conf(5)for the profile tea β--config Stringβ config settings for the command, and these override thelvm.conf(5)settings. the String arg uses the exact same format aslvm.conf(5), or you can use section/field syntax. more info inlvm.conf(5)π-d,--debug ...β sets the debug level. repeat it from 1 to 6 times to crank up the detail of messages going to the log file and/or syslog (if configured). more chaos, more intel π--deltag Tagβ yeets a tag from a PV, VG or LV ποΈ repeat it to delete multiple tags at once. tag lore lives inlvm(8).--devices PVβ restricts which devices are visible and accessible to the command. anything not listed will appear to be missing π» repeat it, or pass a comma-separated list of devices. this one overrides the devices file, no cap.--devicesfile Stringβ a file listing the devices LVM should use. it must exist in/etc/lvm/devices/and it's managed with thelvmdevices(8)command. this overrides thelvm.conf(5)devices/devicesfileanddevices/use_devicesfilesettings.--driverloaded y|nβ if you set it to no, the command won't even attempt to use device-mapper. it's for testing and debugging, so lowkey a lab-only moment π§ͺ-f,--force ...β overrides various checks, confirmations and protections. Use with extreme caution. bestie this is the "are you SURE" button and you're holding it down π-h,--helpβ displays help text. ask and you shall receive π«--journal Stringβ records info in the systemd journal. this is in addition to whatever thelvm.conflog/journalsetting already enables. options:command:records info about the command.output:records the default command output.debug:records full command debugging π--lockopt Stringβ passes options for special cases over tolvmlockd. seelvmlockd(8)for more π--longhelpβ displays the long help text. the deluxe edition π--metadataignore y|nβ sets themetadataignoreproperty of a PV. if yes, metadata areas on the PV are ignored and lvm will not store metadata in the PV's metadata areas. if no, lvm will store metadata on the PV. choose wisely π§--nohintsβ do not use the hints file to locate devices for PVs. without hints a command may read more devices to find PVs. it'll still do standard hint file invalidation where appropriate, so no vibes are lost π¦--nolockingβ disables locking. Use with caution, concurrent commands may produce incorrect results. this is the chaotic option fr fr π--profile Stringβ an alias for--commandprofileor--metadataprofile, depends on the command π€·-q,--quiet ...β suppresses output and log messages. it overrides--debugand--verbose. repeat it once and it'll also suppress any prompts with answer 'no' π€«--reportformat basic|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. checklvmreport(7)for the full story β¨-S,--select Stringβ selects objects for processing and reporting based on specified criteria. the criteria syntax is described by--select helpandlvmreport(7). for reporting commands, one row is displayed for each object matching the criteria β and see--options helpfor selectable object fields. rows can be shown 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 is what chooses the items to process π―-t,--testβ runs in test mode. commands will not update metadata. this is implemented by disabling all metadata writing but still returning success to the calling function. heads up: 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 π-u,--uuidβ generate a brand new random UUID for the specified PVs π² new identity, who dis-v,--verbose ...β sets the verbose level. repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr π£οΈ--versionβ displays version information.-y,--yesβ do not prompt for confirmation interactively, just always assume the answer is yes. Use with extreme caution. (for automatic no, see-qq.) π
πΈ VARIABLES πΈ
PVβ Physical Volume name, a device path under/dev. for commands managing physical extents, a PV positional arg generally accepts a suffix indicating a range (or multiple ranges) of physical extents (PEs). when the first PE is omitted, it defaults to the start of the device; when the last PE is omitted it defaults to the end.
Start and end range (inclusive): PV[:PE-PE] ...
Start and length range (counting from 0): PV[:PE+PE] ...
Selectβ Select indicates that a required positional parameter can be omitted if the--selectoption is used. no arg appears in this position π«₯Stringβ see the option description for info 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 β so'k'and'K'both refer to1024π― the default input unit is specified by letter, followed by|UNIT.UNITrepresents 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. (do NOT confuse this with the output control--units, where capital letters mean multiple of 1000 β it's giving lowercase supremacy, iykyk π)
π§ ENVIRONMENT VARIABLES π§
see lvm(8) for info about environment variables used by lvm. for example, LVM_VG_NAME can generally be substituted for a required VG parameter β¨
β EXAMPLES β
Disallow the allocation of physical extents on a PV (e.g. because of disk errors, or because it will be removed after freeing it). iconic use case honestly:
pvchange -x n /dev/sdk1
π 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)
that's the whole page bestie, go change some PV attributes responsibly π β¨
Red Hat, Inc. made this β LVM TOOLS 2.03.44(2), dated 2026-10-27 β and that's the cute lil' credit roll at the bottom, mwah π
π¦ 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