Man Linux: Main Page and Category List

NAME

       lvcreate - create a logical volume in an existing volume group

SYNOPSIS

       lvcreate  [--addtag  Tag]  [--alloc  AllocationPolicy] [-A|--autobackup
       y|n] [-C|--contiguous y|n] [-d|--debug]  [-h|-?|--help]  [--noudevsync]
       [-i|--stripes   Stripes   [-I|--stripesize  StripeSize]]  {-l|--extents
       LogicalExtentsNumber[%{VG|PVS|FREE}] |
        -L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE]}  [-M|--persistent  y|n]
       [--minor   minor]   [-m|--mirrors   Mirrors   [--nosync]   [--mirrorlog
       {disk|core}]   [--corelog]    [-R|--regionsize    MirrorLogRegionSize]]
       [-n|--name  LogicalVolumeName]  [-p|--permission  r|rw] [-r|--readahead
       ReadAheadSectors|auto|none] [-t|--test] [-v|--verbose] [-Z|--zero  y|n]
       VolumeGroupName [PhysicalVolumePath[:PE[-PE]]...]

       lvcreate {-l|--extents LogicalExtentsNumber[%{VG|FREE}] |
        -L|--size     LogicalVolumeSize[bBsSkKmMgGtTpPeE]}     [-c|--chunksize
       ChunkSize]    [--noudevsync]    -n|--name     SnapshotLogicalVolumeName
       {{-s|--snapshot}     OriginalLogicalVolumePath     |    [-s|--snapshot]
       VolumeGroupName --virtualsize VirtualSize}

DESCRIPTION

       lvcreate creates  a  new  logical  volume  in  a  volume  group  (  see
       vgcreate(8),  vgchange(8) ) by allocating logical extents from the free
       physical extent pool of that volume group.  If  there  are  not  enough
       free  physical  extents  then  the  volume  group can be extended ( see
       vgextend(8) ) with other  physical  volumes  or  by  reducing  existing
       logical  volumes  of  this volume group in size ( see lvreduce(8) ). If
       you specify one or more PhysicalVolumes, allocation of physical extents
       will be restricted to these volumes.
       The second form supports the creation of snapshot logical volumes which
       keep the contents of the original logical volume for backup purposes.

OPTIONS

       See lvm for common options.

       -c, --chunksize ChunkSize
              Power of 2 chunk size for the snapshot logical volume between 4k
              and 512k.

       -C, --contiguous y|n
              Sets  or  resets  the  contiguous  allocation policy for logical
              volumes. Default is no contiguous allocation  based  on  a  next
              free principle.

       -i, --stripes Stripes
              Gives  the  number  of  stripes.  This is equal to the number of
              physical volumes to scatter the logical volume.

       -I, --stripesize StripeSize
              Gives the  number  of  kilobytes  for  the  granularity  of  the
              stripes.
              StripeSize must be 2^n (n = 2 to 9) for metadata in LVM1 format.
              For metadata in LVM2 format, the stripe size  may  be  a  larger
              power of 2 but must not exceed the physical extent size.

       -l, --extents LogicalExtentsNumber[%{VG|PVS|FREE}]
              Gives  the  number  of  logical  extents to allocate for the new
              logical volume.  This can also be expressed as a  percentage  of
              the  total space in the Volume Group with the suffix %VG, of the
              remaining free space in the Volume Group with the suffix  %FREE,
              or   of   the   remaining   free   space   for   the   specified
              PhysicalVolume(s) with the suffix %PVS,

       -L, --size LogicalVolumeSize[bBsSkKmMgGtTpPeE]
              Gives the size to allocate for the new logical volume.   A  size
              suffix  of  K for kilobytes, M for megabytes, G for gigabytes, T
              for terabytes, P for petabytes or E for exabytes is optional.
              Default unit is megabytes.

       --minor minor
              Set the minor number.

       -M, --persistent y|n
              Set to y to make the minor number specified persistent.

       -m, --mirrors Mirrors
              Creates a mirrored logical  volume  with  Mirrors  copies.   For
              example,  specifying  "-m  1" would result in a mirror with two-
              sides; that is, a linear volume plus one copy.

              Specifying  the  optional  argument  --nosync  will  cause   the
              creation  of  the  mirror to skip the initial resynchronization.
              Any data written afterwards will be mirrored, but  the  original
              contents  will  not  be  copied.   This is useful for skipping a
              potentially long and resource intensive initial sync of an empty
              device.

              The  optional  argument --mirrorlog specifies the type of log to
              be used.  The default is disk, which is persistent and  requires
              a  small  amount  of storage space, usually on a separate device
              from the data being mirrored. Using core  means  the  mirror  is
              regenerated by copying the data from the first device again each
              time the device is activated, for example, after every reboot.

              The optional argument --corelog  is  equivalent  to  --mirrorlog
              core.

       -n, --name LogicalVolumeName
              The name for the new logical volume.
              Without this option a default names of "lvol#" will be generated
              where # is the LVM internal number of the logical volume.

       --noudevsync
              Disable udev synchronisation. The  process  will  not  wait  for
              notification  from  udev.   It will continue irrespective of any
              possible udev processing in the background.  You should only use
              this if udev is not running or has rules that ignore the devices
              LVM2 creates.

       -p, --permission r|rw
              Set access permissions to read only or read and write.
              Default is read and write.

       -r, --readahead ReadAheadSectors|auto|none
              Set read ahead sector count of this logical volume.  For  volume
              groups  with  metadata  in  lvm1  format,  this  must be a value
              between 2 and 120.  The default value is "auto" which allows the
              kernel  to  choose  a  suitable  value automatically.  "None" is
              equivalent to specifying zero.

       -R, --regionsize MirrorLogRegionSize
              A mirror is divided into regions of this size (in MB),  and  the
              mirror  log  uses this granularity to track which regions are in
              sync.

       -s, --snapshot
              Create a snapshot logical volume (or snapshot) for an  existing,
              so  called  original  logical  volume  (or  origin).   Snapshots
              provide a ’frozen image’ of the contents of the origin while the
              origin  can still be updated. They enable consistent backups and
              online recovery of removed/overwritten data/files. The  snapshot
              does  not  need  the same amount of storage the origin has. In a
              typical scenario, 15-20% might be enough. In case  the  snapshot
              runs  out  of  storage,  use lvextend(8) to grow it. Shrinking a
              snapshot is supported by lvreduce(8) as well.  Run  lvdisplay(8)
              on  the snapshot in order to check how much data is allocated to
              it.  Note that a small amount of the space you allocate  to  the
              snapshot  is  used to track the locations of the chunks of data,
              so you should allocate slightly more  space  than  you  actually
              need  and monitor the rate at which the snapshot data is growing
              so you can avoid running out of space.

       --virtualsize VirtualSize
              Create a sparse device of the given  size  (in  MB  by  default)
              using  a  snapshot.   Anything  written  to  the  device will be
              returned when reading from it.  Reading from other areas of  the
              device  will  return  blocks  of  zeros.   It  is implemented by
              creating a hidden virtual device of the requested size using the
              zero target.  A suffix of _vorigin is used for this device.

       -Z, --zero y|n
              Controls  zeroing  of  the  first  KB of data in the new logical
              volume.
              Default is yes.
              Volume will not be zeroed if read only flag is set.
              Snapshot volumes are zeroed always.

              Warning: trying to mount an unzeroed logical  volume  can  cause
              the system to hang.

Examples

       "lvcreate  -i  3  -I  8 -L 100M vg00" tries to create a striped logical
       volume with 3 stripes, a stripesize of 8KB and a size of 100MB  in  the
       volume  group  named  vg00.  The  logical volume name will be chosen by
       lvcreate.

       "lvcreate -m1 -L 500M vg00" tries to create  a  mirror  logical  volume
       with  2  sides  with  a  useable size of 500 MiB.  This operation would
       require 3 devices - two for the mirror devices and  one  for  the  disk
       log.

       "lvcreate  -m1  --mirrorlog core -L 500M vg00" tries to create a mirror
       logical volume with 2 sides with a  useable  size  of  500  MiB.   This
       operation would require 2 devices - the log is "in-memory".

       "lvcreate --size 100m --snapshot --name snap /dev/vg00/lvol1"
       creates a snapshot logical volume named /dev/vg00/snap which has access
       to the contents of the original logical volume named /dev/vg00/lvol1 at
       snapshot  logical  volume creation time. If the original logical volume
       contains a file system, you can mount the snapshot logical volume on an
       arbitrary  directory  in order to access the contents of the filesystem
       to run a backup while the original filesystem continues to get updated.

       "lvcreate --virtualsize 1T --size 100M --snapshot --name sparse vg1"
       creates  a  sparse  device named /dev/vg1/sparse of size 1TB with space
       for just under 100MB of actual data on it.

       "lvcreate -L 64M -n lvol1 vg00 /dev/sda:0-7 /dev/sdb:0-7"
       creates a linear logical volume  "vg00/lvol1"  using  physical  extents
       /dev/sda:0-7 and /dev/sdb:0-7 for allocation of extents.

SEE ALSO

       lvm(8), vgcreate(8), lvremove(8), lvrename(8) lvextend(8), lvreduce(8),
       lvdisplay(8), lvscan(8)