Provided by: lvm2_2.02.98-6ubuntu2_amd64 bug

NAME

       lvcreate - create a logical volume in an existing volume group

SYNOPSIS

       lvcreate   [--addtag   Tag]   [--alloc   AllocationPolicy]   [-a|--activate  [a|e|l]{y|n}]
       [-A|--autobackup {y|n}] [-C|--contiguous {y|n}] [-d|--debug] [-h|-?|--help] [--noudevsync]
       [--ignoremonitoring] [--monitor {y|n}] [-i|--stripes Stripes [-I|--stripesize StripeSize]]
       {[-l|--extents          LogicalExtentsNumber[%{VG|PVS|FREE}]          |          -L|--size
       LogicalVolumeSize[bBsSkKmMgGtTpPeE]]   |  -V|--virtualsize  VirtualSize[bBsSkKmMgGtTpPeE]}
       [-M|--persistent {y|n}] [--minor  minor]  [-m|--mirrors  Mirrors  [--nosync]  [--mirrorlog
       {disk|core|mirrored}   |   --corelog]  [-R|--regionsize  MirrorLogRegionSize]]  [-n|--name
       LogicalVolume{Name|Path}]         [-p|--permission         {r|rw}]         [-r|--readahead
       {ReadAheadSectors|auto|none}]    [-t|--test]    [-T|--thin    [-c|--chunksize   ChunkSize]
       [--discards {ignore|nopassdown|passdown}]  [--poolmetadatasize  MetadataSize[bBsSkKmMgG]]]
       [--thinpool    ThinPoolLogicalVolume{Name|Path}]   [--type   SegmentType]   [-v|--verbose]
       [-Z|--zero            {y|n}]            VolumeGroup{Name|Path}[/ThinPoolLogicalVolumeName]
       [PhysicalVolumePath[:PE[-PE]]...]

       lvcreate     [-l|--extents     LogicalExtentsNumber[%{VG|FREE|ORIGIN}]     |     -L|--size
       LogicalVolumeSize[bBsSkKmMgGtTpPeE]]     [-c|--chunksize     ChunkSize]     [--noudevsync]
       [--ignoremonitoring]   [--monitor   {y|n}]   [-n|--name  SnapshotLogicalVolume{Name|Path}]
       -s|--snapshot     {[VolumeGroup{Name|Path}/]OriginalLogicalVolumeName     -V|--virtualsize
       VirtualSize[bBsSkKmMgGtTpPeE]}

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(8) for common options.

       -a, --activate {y|ay|n|ey|en|ly|ln}
              Controls  the  availability  of  the  Logical  Volumes  for immediate use after the
              command finishes running.  By default, new Logical Volumes are activated (-ay).  If
              it is possible technically, -an will leave the new Logical Volume inactive. But for
              example, snapshots can only be created in the active state so -an  cannot  be  used
              with  --snapshot.   Normally  the  --zero n argument has to be supplied too because
              zeroing (the default behaviour) also requires activation.  If autoactivation option
              is  used  (-aay), the logical volume is activated only if it matches an item in the
              activation/auto_activation_volume_list set in lvm.conf. For  autoactivated  logical
              volumes,  --zero  n  is  always  assumed  and  it can't be overridden. If clustered
              locking is enabled, -aey will activate  exclusively  on  one  node  and  -aly  will
              activate only on the local node.

       -c, --chunksize ChunkSize
              Gives  the size of chunk for snapshot and thin pool logical volumes.  For snapshots
              the value must be power of 2 between 4KiB and 512KiB and the default  value  is  4.
              For thin pools the value must be between 64KiB and 1048576KiB and the default value
              starts with 64 and scales up to fit the pool metadata size  within  128MB,  if  the
              poolmetadata  size  is  not  specified.   Older  dm thin pool target version (<1.4)
              requires the value to be power of 2.  The newer version requires to be the multiple
              of 64KiB, however discard is not supported for non power of 2 values.  Default unit
              is in kilobytes.

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

       --discards {ignore|nopassdown|passdown}
              Set discards behavior.  Default is passdown.

       -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|ORIGIN}]
              Gives the number of logical extents to allocate for the new  logical  volume.   The
              number can also be expressed as a percentage of the total space in the Volume Group
              with the suffix %VG, as a percentage of the remaining  free  space  in  the  Volume
              Group  with  the  suffix %FREE, as a percentage of the remaining free space for the
              specified PhysicalVolume(s) with  the  suffix  %PVS,  or  (for  a  snapshot)  as  a
              percentage of the total space in the Origin Logical Volume with the suffix %ORIGIN.

       -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.  Using "mirrored" will create
              a persistent log that is itself mirrored.

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

       -n, --name LogicalVolume{Name|Path}
              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.

       --monitor {y|n}
              Start or avoid monitoring a mirrored or snapshot logical volume with  dmeventd,  if
              it  is installed.  If a device used by a monitored mirror reports an I/O error, the
              failure    is    handled     according     to     mirror_image_fault_policy     and
              mirror_log_fault_policy set in lvm.conf.

       --ignoremonitoring
              Make no attempt to interact with dmeventd unless --monitor is specified.

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

       --poolmetadatasize MetadataSize[bBsSkKmMgG]
              Set  the  size of thin pool's metadata logical volume.  Supported value is in range
              between 2MiB and 16GiB.  Default value is   (Pool_LV_size  /  Pool_LV_chunk_size  *
              64b).  Default unit is megabytes.

       -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 OriginalLogicalVolume{Name|Path}
              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.  Thin  snapshot  is  created
              when  the  origin  is  a  thin  volume and the size is not specified. Thin snapshot
              shares same blocks within the thin pool volume.  The snapshot  with  the  specified
              size  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.

       -T, --thin, --thinpool ThinPoolLogicalVolume{Name|Path}
              Creates thin pool or thin logical volume or both.  Specifying the optional argument
              --size  will  cause  the  creation of the thin pool logical volume.  Specifying the
              optional argument --virtualsize will cause the creation of the thin logical  volume
              from  given thin pool volume.  Specifying both arguments will cause the creation of
              both thin pool and thin volume using this  pool.   Requires  device  mapper  kernel
              driver for thin provisioning from kernel 3.2 or newer.

       --type SegmentType
              Create  a  logical  volume  that  uses  the  specified  segment type (e.g. "raid5",
              "mirror", "snapshot", "thin", "thin-pool").  Many segment types have a  commandline
              switch  alias  that  will  enable  their  use (-s is an alias for --type snapshot).
              However, this argument must be used when no existing commandline  switch  alias  is
              available  for  the  desired  type,  as is the case with error, zero, raid1, raid4,
              raid5 or raid6.

       -V, --virtualsize VirtualSize[bBsSkKmMgGtTpPeE]
              Create a sparse device of the given size (in MB by default)  using  a  snapshot  or
              thinly  provisioned  device  when  thin pool is specified.  Anything written to the
              device will be returned when reading from it.  Reading  from  other  areas  of  the
              device  will return blocks of zeros.  Virtual snapshot 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

       Creates  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 -i 3 -I 8 -L 100M vg00

       Creates a mirror logical volume with 2 sides  with  a  useable  size  of  500  MiB.   This
       operation  would  require  3  devices  (or  option  --alloc anywhere) - two for the mirror
       devices and one for the disk log:

       lvcreate -m1 -L 500M vg00

       Creates 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 -m1 --mirrorlog core -L 500M vg00

       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 --size 100m --snapshot --name snap /dev/vg00/lvol1

       Creates  a  sparse  device  named  /dev/vg1/sparse  of size 1TiB with space for just under
       100MiB of actual data on it:

       lvcreate --virtualsize 1T --size 100M --snapshot --name sparse vg1

       Creates a linear logical volume  "vg00/lvol1"  using  physical  extents  /dev/sda:0-7  and
       /dev/sdb:0-7 for allocation of extents:

       lvcreate -L 64M -n lvol1 vg00 /dev/sda:0-7 /dev/sdb:0-7

       Creates  a 5GiB RAID5 logical volume "vg00/my_lv", with 3 stripes (plus a parity drive for
       a total of 4 devices) and a stripesize of 64KiB:

       lvcreate --type raid5 -L 5G -i 3 -I 64 -n my_lv vg00

       Creates 100MiB pool logical volume for thin provisioning build with 2  stripes  64KiB  and
       chunk size 128KiB together with 1TiB thin provisioned logical volume "vg00/thin_lv":

       lvcreate -i 2 -I 64 -c 256 -L100M -T vg00/pool -V 1T --name thin_lv

SEE ALSO

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