.TH VGCREATE 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*-
.SH NAME
vgcreate \(em create a volume group
.SH SYNOPSIS
.B vgcreate
.RB [ \-\-addtag
.IR Tag ]
.RB [ \-\-alloc
.IR AllocationPolicy ]
.RB [ \-A | \-\-autobackup
.RI { y | n }]
.RB [ \-c | \-\-clustered
.RI { y | n }]
.RB [ \-\-commandprofile
.IR ProfileName ]
.RB [ \-d | \-\-debug ]
.RB [ \-h | \-\-help ]
.RB [ \-l | \-\-maxlogicalvolumes
.IR MaxLogicalVolumes ]
.RB [ \-M | \-\-metadatatype
.IR type ]
.RB [ \-\-metadataprofile
.IR ProfileName ]
.RB [ \-p | \-\-maxphysicalvolumes
.IR MaxPhysicalVolumes ]
.RB [ \-\- [ vg ] metadatacopies
.IR NumberOfCopies | unmanaged | all ]
.RB [ \-s | \-\-physicalextentsize
.IR PhysicalExtentSize [ bBsSkKmMgGtTpPeE ]]
.RB [ \-\-reportformat
.RB { basic | json }]
.RB [ \-\-shared ]
.RB [ \-\-systemid
.IR SystemID ]
.RB [ \-t | \-\-test ]
.RB [ \-v | \-\-verbose ]
.RB [ \-\-version ]
.RB [ "PHYSICAL DEVICE OPTIONS" ]
.I VolumeGroupName PhysicalDevicePath
.RI [ PhysicalDevicePath ...]
.SH DESCRIPTION
vgcreate creates a new volume group called
.I VolumeGroupName
using the block special device \fIPhysicalDevicePath\fP.
.sp
If \fIPhysicalDevicePath\fP was not previously configured for LVM with
\fBpvcreate\fP(8), the device will be initialized with the same
default values used with \fBpvcreate\fP(8).  If non-default
\fPpvcreate\fP values are desired, they may be given on the
commandline with the same options as \fBpvcreate\fP(8).  See
.B PHYSICAL DEVICE OPTIONS
for available options.  Note that the restore-related options such as
.BR \-\-restorefile ", " \-\-uuid " and " \-\-physicalvolumesize
are not available.  If a restore operation is needed, use 
\fBpvcreate\fP(8) and \fBvgcfgrestore\fP(8).
.SH OPTIONS
See \fBlvm\fP(8) for common options.
.TP
.BR \-c ", " \-\-clustered " {" \fIy | \fIn }
If clustered locking is enabled, this defaults to \fBy\fP indicating that
this Volume Group is shared with other nodes in the cluster.

If the new Volume Group contains only local disks that are not visible
on the other nodes, you must specify \fB\-\-clustered\ n\fP.
If the cluster infrastructure is unavailable on a particular node at a
particular time, you may still be able to use such Volume Groups.
.TP
.BR \-l ", " \-\-maxlogicalvolumes " " \fIMaxLogicalVolumes
Sets the maximum number of logical volumes allowed in this
volume group.
The setting can be changed with \fBvgchange\fP(8).
For volume groups with metadata in lvm1 format, the limit
and default value is 255.
If the metadata uses lvm2 format, the default value is 0
which removes this restriction: there is then no limit.
.TP
.BR \-p ", " \-\-maxphysicalvolumes " " \fIMaxPhysicalVolumes
Sets the maximum number of physical volumes that can belong
to this volume group.
The setting can be changed with \fBvgchange\fP.
For volume groups with metadata in lvm1 format, the limit
and default value is 255.
If the metadata uses lvm2 format, the value 0 removes this restriction:
there is then no limit.  If you have a large number of physical volumes in
a volume group with metadata in lvm2 format, for tool performance reasons,
you should consider some use of \fB\-\-pvmetadatacopies 0\fP as described in
\fBpvcreate\fP(8), and/or use \fB\-\-vgmetadatacopies\fP.
.TP
.BR \-\- [ vg ] metadatacopies " " \fINumberOfCopies | \fIunmanaged | \fIall
Sets the desired number of metadata copies in the volume group.  If set to
a non-zero value, LVM will automatically manage the 'metadataignore'
flags on the physical volumes (see \fBpvcreate\fP(8) or
\fBpvchange \-\-metadataignore\fP) in order
to achieve \fINumberOfCopies\fP copies of metadata.  If set to \fIunmanaged\fP,
LVM will not automatically manage the 'metadataignore' flags.  If set to
\fIall\fP, LVM will first clear all of the 'metadataignore' flags on all
metadata areas in the volume group, then set the value to \fIunmanaged\fP.
The \fBvgmetadatacopies\fP option is useful for volume groups containing
large numbers of physical volumes with metadata as it may be used to
minimize metadata read and write overhead.
The default value is \fIunmanaged\fP.
.TP
.BR \-\-metadataprofile " " \fIProfileName
Uses and attaches the ProfileName configuration profile to the volume group
metadata. Whenever the volume group is processed next time, the profile is
automatically applied. The profile is inherited by all logical volumes in
the volume group unless the logical volume itself has its own profile attached.
See \fBlvm.conf\fP(5) for more information about \fBmetadata profiles\fP.
.TP
.BR \-s ", " \-\-physicalextentsize " " \fIPhysicalExtentSize [ \fIbBsSkKmMgGtTpPeE ]
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. For LVM2 format, the value must be a
power of 2 of at least 1 sector (where the sector size is the largest sector
size of the PVs currently used in the VG) or, if not a power of 2, at least
128KiB.  For the older LVM1 format, it must be a power of 2 of at least 8KiB.
The default is 4 MiB.
Once this value has been set, it is difficult to change it without recreating
the volume group which would involve backing up and restoring data on any
logical volumes.  However, if no extents need moving for the new
value to apply, it can be altered using \fBvgchange \-s\fP.

If the volume group metadata uses lvm1 format, extents can vary in size from
8KiB to 16GiB and there is a limit of 65534 extents in each logical volume.  The
default of 4 MiB leads to a maximum logical volume size of around 256GiB.

If the volume group metadata uses lvm2 format those restrictions do not apply,
but having a large number of extents will slow down the tools but have no
impact on I/O performance to the logical volume.  The smallest PE is 1KiB

The 2.4 kernel has a limitation of 2TiB per block device.

.TP
.B \-\-shared
Create a shared VG using lvmlockd if LVM is compiled with lockd support.
 lvmlockd will select lock type sanlock or dlm depending on which lock
manager is running.  This allows multiple hosts to share a VG on shared
devices.  lvmlockd and a lock manager must be configured and running.  See
.BR lvmlockd (8).

.TP
.BR \-\-systemid " " \fISystemID
Specifies the system ID that will be given to the new VG, overriding the
system ID of the host running the command.  A VG is normally created
without this option, in which case the new VG is given the system ID of
the host creating it.  Using this option requires caution because the
system ID of the new VG may not match the system ID of the host running
the command, leaving the VG inaccessible to the host.  See
.BR lvmsystemid (7).

.SH PHYSICAL DEVICE OPTIONS
The following options are available for initializing physical devices in the
volume group.  These options are further described in the \fBpvcreate\fP(8)
man page.
.TP
.BR \-f ", " \-\-force
.TP
.BR \-y ", " \-\-yes
.TP
.BR \-Z ", " \-\-zero " {" \fIy | \fIn }
.TP
.B \-\-labelsector \fIsector
.TP
.B \-\-metadatasize \fIsize
.TP
.B \-\-pvmetadatacopies \fIcopies
.TP
.B \-\-dataalignment \fIalignment
.TP
.B \-\-dataalignmentoffset \fIalignment_offset
.SH Examples
Creates a volume group named "test_vg" using physical volumes "/dev/sdk1"
and "/dev/sdl1" with default physical extent size of 4MiB:
.sp
.B vgcreate test_vg /dev/sdk1 /dev/sdl1

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