VGMERGE(8)
π VGMERGE(8) β the merge-your-volume-groups glow-up π
okay bestie, listen. this is page 8 of the System Manager's Manual, and today's main character is vgmerge. it merges volume groups. yes really, that's the whole gig. sit down, hydrate, let's go π«Ά
β¨ NAME β¨
vgmerge β merge volume groups. that's it. that's the name. iconic behavior honestly π
πΈ SYNOPSIS πΈ
vgmerge position_args
[ option_args ]
π¦ DESCRIPTION π¦
so like. vgmerge merges two existing VGs together, fr fr. the inactive source VG gets merged into the destination VG β but ONLY if two things line up, no cap:
- the physical extent sizes</> are equal, and
- the PV and LV totals of both VGs fit within the destination VG's limits.
both conditions or we're not doing it. vibe check failed, no merge, bye π
π USAGE π
vgmerge VG VG
[ -A|--autobackup y|n ]
[ -l|--list ]
[ --poolmetadataspare y|n ]
[ COMMON_OPTIONS ]
β
common options for lvm (the shared little besties 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 π
here comes the alphabet, bestie. every single one, we're not skipping any, that would be so not slay of me.
-A|--autobackup y|nβ says whether metadata should get backed up automatically after a change. enabling this is STRONGLY advised, like please turn it on, i am begging π seevgcfgbackup(8)for more info.--commandprofile Stringβ the command profile to use for command configuration. seelvm.conf(5)for the tea about profiles.--config Stringβ config settings for the command. these override whateverlvm.conf(5)set. the String arg uses the same format aslvm.conf(5), or it may use section/field syntax. seelvm.conf(5)for more info about config.-d|--debug ...β set the debug level. repeat it 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured). more d's, more chaos β¨--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. sneaky but valid.--devicesfile Stringβ a file listing devices that LVM should use. the file must exist in/etc/lvm/devices/and is 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. for testing and debugging, iykyk π§ͺ-h|--helpβ display help text. your bestie when you're lost.--journal Stringβ record information in the systemd journal. this info is in addition to whatever thelvm.conflog/journalsetting already enables. options are:command: record information about the command.output: record the default command output.debug: record full command debugging.
-l|--listβ display the merged destination VG, likevgdisplay -vdoes. cute little recap of what you just did π--lockopt Stringβ used to pass options for special cases tolvmlockd. seelvmlockd(8)for more info.--longhelpβ display long help text. the extended cut πΏ--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, so it's not feral, just extra.--nolockingβ disable locking. use with caution β concurrent commands may produce incorrect results. this is giving "i know what i'm doing" and sometimes that's a lie π--poolmetadataspare y|nβ enable or disable the automatic creation and management of a spare pool metadata LV in the VG. that spare metadata LV is reserved space you can use when repairing a pool. it's giving backup earrings, in case you lose one.--profile Stringβ an alias for--commandprofileor--metadataprofile, depending on the command.-q|--quiet ...β suppress output and log messages. this overrides--debugand--verbose. repeat it once to also suppress any prompts with answer 'no'. so-qqis your automatic-no button π«-t|--testβ run in test mode. commands will not update metadata. this works by disabling all metadata writing but nonetheless 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. fake it till you make it, except nothing actually happened π«-v|--verbose ...β set verbose level. repeat it 1 to 4 times to increase the detail of messages sent to stdout and stderr.--versionβ display version information. the "who am i" moment.-y|--yesβ do not prompt for confirmation interactively; always assume the answer is yes. use with extreme caution β οΈ (for automatic no, see-qq.)
π VARIABLES π
- VG β Volume Group name. see
lvm(8)for valid names. - 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 to1024. the default input unit is specified by letter, followed by|UNIT.UNITrepresents other possible input units:b|Bis bytes,s|Sis sectors of512bytes,k|Kis KiB,m|Mis MiB,g|Gis GiB,t|Tis TiB,p|Pis PiB,e|Eis EiB. (this should not be confused with the output control--units, where capital letters mean multiple of 1000.) okay that's a lot of letters but you got this π
π§ 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 β so you don't have to type it every single time, which is a gift honestly π
β EXAMPLES β
merge an inactive VG named "vg00" into the active or inactive VG named "databases", giving verbose runtime information:
vgmerge -v databases vg00
look at that. clean. ate. no crumbs π₯
π SEE ALSO π
the whole friend group, in order:
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, you're officially vgmerge-literate π β¨
this absolute banger of a manpage was brought to you by Red Hat, Inc., running on LVM TOOLS 2.03.44(2), dated (2026-10-27). go merge something (responsibly). 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