Manpage of VGCREATE


Section: Maintenance Commands (8)
Updated: LVM TOOLS
Return to Main Contents


vgcreate - create a volume group  


vgcreate [-A|--autobackup {y|n}] [-d|--debug] [-h|--help] [-l|--maxlogicalvolumes MaxLogicalVolumes] [-p|--maxphysicalvolumes MaxPhysicalVolumes] [-s|--physicalextentsize PhysicalExtentSize[kKmMgGtT]] [-v|--verbose] [--version] VolumeGroupName PhysicalVolumePath [PhysicalVolumePath...]  


vgcreate creates a new volume group called VolumeGroupName using the block special device PhysicalVolumePath previously configured for LVM with pvcreate(8).  


-A, --autobackup {y|n}
Controls automatic backup of VG metadata after the change (see vgcfgbackup(8)). Default is yes.
-d, --debug
Enables additional debugging output (if compiled with DEBUG).
-h, --help
Print a usage message on standard output and exit successfully.
-l, --maxlogicalvolumes MaxLogicalVolumes
Sets the maximum possible logical volume count. More logical volumes can't be created in this volume group. Absolute maximum is 256.
-p, --maxphysicalvolumes MaxPhysicalVolumes
Sets the maximum possible physical volume count. More physical volumes can't be included in this volume group. Absolute maximum is 256.
-s, --physicalextentsize PhysicalExtentSize[kKmMgGtT]
Sets the physical extent size on physical volumes of this volume group. A size suffix (k for kilobytes up to t for terabytes) is optional, megabytes is the default if no suffix is present. Values can be from 8 KB to 16 GB in powers of 2. The default of 32 MB allows LV sizes of ~2TB because as many as ~64k extents are supported per LV. Linux 2.4 does not support block devices of 2TB or larger so this should not be a problem. It is not possible to change the PE size of a volume group after it has been created.
-v, --verbose
Display verbose runtime information about vgcreate's activities.
Display tool and IOP version and exit successfully.


To create a volume group named test_vg using physical volumes /dev/hdk1, /dev/hdl1, and /dev/hdm1 with default physical extent size of 4MB:

	vgcreate test_vg /dev/sd[k-m]1

NOTE: If you are using devfs it is essential to use the full devfs name of the device rather than the symlinked name in /dev. so: the above could be

	vgcreate test_vg /dev/scsi/host1/bus0/target[1-3]/lun0/part1

To limit kernel memory usage, there is a limit of 65536 physical extents (PE) per logical volume, so the PE size determines the maximum logical volume size. The default PE size of 4MB limits a single logical volume to 256GB (see the -s option to raise that limit). There is also (as of Linux 2.4) a kernel limitation of 2TB per block device.  


vgcreate returns an exit code of 0 for success and > 0 for error;

1  no volume group and physical volume names on command line
2  no physical volume names on command line
3  invalid volume group name
4  error checking existence of volume group
5  maximum number of volume groups exceeded
6  error reading physical volume(s)
7  invalid physical volume name
8  error getting physical volume size
9  no new physical volume
10 physical volume occurs multiple times on command line
11 memory reallocation error
12 no valid physical volumes on command line
13 some invalid physical volumes on command line
14 physical volume is too small
15 error setting up VGDA
16 error writing VGDA to physical volumes
17 error creating VGDA in kernel
18 error inserting volume group into lvmtab
19 error doing backup of VGDA
20 error writing VGDA to lvmtab
21 volume group directory already exists in /dev

95 driver/module not in kernel
96 invalid I/O protocol version
97 error locking logical volume manager
98 invalid lvmtab (run vgscan(8))
99 invalid command line


If this variable is set to "no" then the automatic backup of VG metadata is turned off.
This variable determines the backup history depth of kept VGDA copy files in /etc/lvmconf. It can be set to a positive number between 0 and 999. The higher this number is, the more changes you can restore using vgcfgrestore(8).



lvm(8), pvdisplay(8), pvcreate(8), vgremove(8), vgdisplay(8), vgextend(8), vgreduce(8), lvcreate(8), lvdisplay(8), lvextend(8), lvreduce(8)  


Heinz Mauelshagen <>




This document was created by man2html, using the manual pages.
Time: 16:20:37 GMT, February 23, 2024