PVRESIZE(8)
π PVRESIZE β the glow-up command for your physical volumes π
okay bestie, welcome to PVRESIZE(8) from the System Manager's Manual β yes it's a system manager page but honestly? it's giving main character energy and we're gonna talk about it. β¨
πΈ NAME πΈ
pvresize β resize physical volume(s). that's it. that's the whole job. slay. π
β¨ SYNOPSIS β¨
pvresize position_args
[ option_args ]
π¦ DESCRIPTION π¦
so pvresize resizes a PV. and like β the PV can already be in a VG, and it can already have active LVs allocated on it. no big deal. it just handles it. iconic behaviour honestly. π₯
π« USAGE π«
pvresize PV ...
[ -A|--autobackup y|n ]
[ --reportformat basic|json|json_std ]
[ --setphysicalvolumesize Size[m|UNIT] ]
[ COMMON_OPTIONS ]
β
Common options for lvm (these are the shared ones, ok, they come as a lil bundle):
[ -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,--autobackup y|nβ says whether metadata should get backed up automatically after a change. and bestie, turning this on is strongly advised! do it!! go look atvgcfgbackup(8)if you want the tea. π«Ά--commandprofile Stringβ the command profile to use for command config.lvm.conf(5)has more on profiles if you're curious.--config Stringβ config settings for the command. these override whateverlvm.conf(5)says. the String arg uses the same format aslvm.conf(5), or you can use section/field syntax. again,lvm.conf(5)is your girl for the details.-d,--debug ...β sets the debug level. repeat it 1 to 6 times to get more and more detail in the messages sent to the log file and/or syslog (if that's configured). go off. π--devices PVβ restricts which devices are visible and accessible to the command. anything you don't list will justβ¦ appear to be missing π». you can repeat this option, or hand it a comma-separated list of devices. this overrides the devices file.--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, ok.-h,--helpβ displays help text. bless. π--journal Stringβ records info in the systemd journal. this is in addition to whatever thelvm.conflog/journalsetting already enables. options are: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 long help text. the extended cut. β¨--nohintsβ don't use the hints file to locate devices for PVs. a command might read more devices to find PVs when hints aren't being used. it'll still do standard hint file invalidation where that's appropriate though.--nolockingβ disable locking. use with caution β οΈ β concurrent commands may produce incorrect results. like, fr fr, be careful.--profile Stringβ an alias for--commandprofileor--metadataprofile, depending 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 β if there's more than one report per command, each one gets prefixed with the report name so you can tell them apart.jsongives you report output in JSON format.json_stdgives you report output in JSON format that's more compliant with the JSON standard.lvmreport(7)has the full story.--setphysicalvolumesize Size[m|UNIT]β overrides the automatically detected size of the PV. use with care β οΈ, or use it prior to reducing the physical size of the device. this is the one you reach for when you're shrinking stuff, bestie.-t,--testβ runs in test mode. commands won't update metadata. it's implemented by disabling all metadata writing but still returning success to the calling function anyway π. 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. so like, it's lying to you a little bit. keep that in mind.-v,--verbose ...β sets the verbose level. repeat 1 to 4 times to increase the detail of messages sent to stdout and stderr.--versionβ displays version information.-y,--yesβ does NOT prompt for confirmation interactively, just always assumes 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 that manage 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] ...
- start and end range (inclusive):
Stringβ see the option description for information 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, regardless of capitalization β so like,'k'and'K'both mean 1024. the default input unit is specified by letter, followed by|UNIT. UNIT represents 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. and do not confuse this with the output control--units, where capital letters mean multiples of 1000. different vibe entirely. π
π§ ENVIRONMENT VARIABLES π§
see lvm(8) for the info about environment variables that lvm uses. for example, LVM_VG_NAME can generally be substituted in for a required VG parameter. convenient!! π
β NOTES β
pvresize will refuse to shrink a PV if it has allocated extents beyond the new end. it's not being difficult, it's being responsible. π«Ά
π EXAMPLES π
expand a PV after enlarging the partition:
pvresize /dev/sda1
shrink a PV prior to shrinking the partition (make sure the PV size is appropriate for the intended new partition size):
pvresize --setphysicalvolumesize 40G /dev/sda1
π 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!! π this one's brought to you by Red Hat, Inc. π«Ά and it's LVM TOOLS 2.03.44(2), dated 2026-10-27. go resize something responsibly. no cap. π β¨π
π¦ 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