VGCONVERT(8)

✨ NAME ✨

vgconvert β€” bestie, it's gone. πŸ’€ Removed: vgconvert has been removed along with the lvm1 format.


✨ SYNOPSIS ✨

vgconvert position_args
       [ option_args ]

✨ DESCRIPTION ✨

okay so real talk: vgconvert is no longer a part of LVM. like, at all. it got yeeted out the door right alongside support for the LVM1 format, they left together, it's giving tragic double departure 😭

if you genuinely need to convert VGs from the LVM1 format to LVM2, you gotta go dig up an older version of LVM. no cap, current LVM cannot help you here. 🫢


✨ USAGE ✨

vgconvert VG ...
       [ -f|--force ... ]
       [ -M|--metadatatype lvm2 ]
       [ --bootloaderareasize Size[m|UNIT] ]
       [ --labelsector Number ]
       [ --metadatasize Size[m|UNIT] ]
       [ --pvmetadatacopies 0|1|2 ]
       [ --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 ✨

  • --bootloaderareasize Size[m|UNIT] β€” reserves space for the bootloader, sitting pretty between the LVM metadata area and the first PE 🌸 the bootloader area is literally just there so bootloaders can embed their own data or metadata β€” LVM will not touch it. the bootloader area starts exactly where the first PE would've gone; the first PE gets pushed out by the size of the bootloader area, and pushed out even further if that's what it takes to match the data alignment. the start of the bootloader area is always aligned, see also --dataalignment and --dataalignmentoffset. heads up: the bootloader area can end up bigger than you asked for because of alignment, but it's never less than the requested size. wanna peek at the bootloader area start and size of an existing PV? run pvs -o +pv_ba_start,pv_ba_size πŸ‘‘
  • --commandprofile String β€” the command profile to use for command configuration. check lvm.conf(5) for the whole tea on profiles ✨
  • --config String β€” config settings for the command. these override 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) has the details on config πŸ’…
  • -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) πŸ”
  • --devices PV β€” restricts which devices are visible and accessible to the command. devices not listed will look like they're 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 LVM should use. it 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 will not attempt to use device-mapper. for testing and debugging πŸ§ͺ
  • -f, --force ... β€” overrides various checks, confirmations and protections. use with extreme caution ⚠️
  • -h, --help β€” displays help text 🫢
  • --journal String β€” records information in the systemd journal. this info is in addition to whatever the lvm.conf log/journal setting already enables. command: records info about the command. output: records the default command output. debug: records full command debugging πŸ““
  • --labelsector Number β€” by default the PV is labelled with an LVM2 identifier in its second sector (sector 1). this option lets you use a different sector near the start of the disk (between 0 and 3 inclusive β€” see LABEL_SCAN_SECTORS in the source). use with care πŸ™ˆ
  • --lockopt String β€” used to pass options for special cases to lvmlockd. see lvmlockd(8) for more πŸ”
  • --longhelp β€” displays long help text πŸ“œ
  • --metadatasize Size[m|UNIT] β€” the approximate amount of space used for each VG metadata area. the size may be rounded ✨
  • -M, --metadatatype lvm2 β€” specifies the type of on-disk metadata to use. lvm2 (or just 2) is the current, standard format. lvm1 (or just 1) is no longer used πŸ’€
  • --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 the standard hint file invalidation where appropriate πŸ‘Œ
  • --nolocking β€” disables locking. use with caution, concurrent commands may produce incorrect results 😬
  • --profile String β€” an alias for --commandprofile or --metadataprofile, depending on the command πŸŽ€
  • --pvmetadatacopies 0|1|2 β€” the number of metadata areas to set aside on a PV for storing VG metadata. when 2, one copy of the VG metadata lives at the front of the PV and a second copy lives at the end. when 1, one copy of the VG metadata lives at the front of the PV. when 0, no copies of the VG metadata are stored on the given PV. this can be useful in VGs containing many PVs β€” but note it places limitations on your ability to use vgsplit later πŸ“š
  • -q, --quiet ... β€” suppresses output and log messages. overrides --debug and --verbose. repeat it once to also suppress any prompts with answer no 🀫
  • --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'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. this works by disabling all metadata writing but still returning success to the calling function anyway. ngl, 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 😡
  • -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 ✨

  • VG β€” Volume Group name. see lvm(8) for valid names πŸ’œ
  • 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, no matter the capitalization β€” e.g. '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|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 confuse this with the output control --units, where capital letters mean a multiple of 1000) πŸ“

✨ 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, no notes πŸ’– this one came from Red Hat, Inc. and it's LVM TOOLS 2.03.44(2) dated (2026-10-27), from the System Manager's Manual section 8 β€” VGCONVERT(8), mwah πŸ’…βœ¨

πŸ“¦ where this page comes from