VGCREATE(8)

NAME
vgcreate - create a volume group

SYNOPSIS
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...]

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

  OPTIONS

-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.

--version
    Display tool and IOP version and exit successfully.

EXAMPLES
To create a volume group named test_vg using physical volumes /dev/hdk1, /dev/hdl1, and /dev/hdm1 with default physical extent size of 32MB:
	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 32MB limits a single logical volume to 2TB (see the -s option to change that limit). There is also (as of Linux 2.4) a kernel limitation of 2TB per block device.

DIAGNOSTICS
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

ENVIRONMENT VARIABLES

LVM_AUTOBACKUP
    If this variable is set to "no" then the automatic backup of VG metadata is turned off.

LVM_VG_MAX_BACKUPS
    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).

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

AUTHOR
Heinz Mauelshagen <Linux-LVM@Sistina.com>