| .TH LVCREATE 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*- |
| .SH NAME |
| lvcreate \- create a logical volume in an existing volume group |
| .SH SYNOPSIS |
| .B lvcreate |
| .RB [ \-a | \-\-activate |
| .RI [ a | e | l ]{ y | n }] |
| .RB [ \-\-addtag |
| .IR Tag ] |
| .RB [ \-\-alloc |
| .IR AllocationPolicy ] |
| .RB [ \-A | \-\-autobackup |
| .RI { y | n }] |
| .RB [ \-H | \-\-cache ] |
| .RB [ \-\-cachemode |
| .RI { passthrough | writeback | writethrough }] |
| .RB [ \-\-cachepolicy |
| .IR policy ] |
| .RB [ \-\-cachepool |
| .IR CachePoolLogicalVolume { Name | Path } |
| .RB [ \-\-cachesettings |
| .IR key=value ] |
| .RB [ \-c | \-\-chunksize |
| .IR ChunkSize [ bBsSkKmMgG ]] |
| .RB [ \-\-commandprofile |
| .IR ProfileName ] |
| .RB [ \-C | \-\-contiguous |
| .RI { y | n }] |
| .RB [ \-d | \-\-debug ] |
| .RB [ \-\-discards |
| .RI { ignore | nopassdown | passdown }] |
| .RB [ \-\-errorwhenfull |
| .RI { y | n }] |
| .RB [{ \-l | \-\-extents |
| .IR LogicalExtentsNumber [ % { FREE | PVS | VG }] |
| | |
| .BR \-L | \-\-size |
| .IR LogicalVolumeSize [ bBsSkKmMgGtTpPeE ]} |
| .RB [ \-i | \-\-stripes |
| .IR Stripes |
| .RB [ \-I | \-\-stripesize |
| .IR StripeSize ]]] |
| .RB [ \-h | \-? | \-\-help ] |
| .RB [ \-K | \-\-ignoreactivationskip ] |
| .RB [ \-\-ignoremonitoring ] |
| .RB [ \-\-minor |
| .IR minor |
| .RB [ \-j | \-\-major |
| .IR major ]] |
| .RB [ \-\-metadataprofile |
| .IR ProfileName ] |
| .RB [ \-m | \-\-mirrors |
| .IR Mirrors |
| .RB [{ \-\-corelog |
| | |
| .B \-\-mirrorlog |
| .RI { disk | core | mirrored }}] |
| .RB [ \-\-nosync ] |
| .RB [ \-R | \-\-regionsize |
| .IR MirrorLogRegionSize [ bBsSkKmMgG ]]] |
| .RB [ \-\-monitor |
| .RI { y | n }] |
| .RB [ \-n | \-\-name |
| .IR LogicalVolume { Name | Path }] |
| .RB [ \-\-noudevsync ] |
| .RB [ \-p | \-\-permission |
| .RI { r | rw }] |
| .RB [ \-M | \-\-persistent |
| .RI { y | n }] |
| .\" .RB [ \-\-pooldatasize |
| .\" .IR DataVolumeSize [ bBsSkKmMgGtTpPeE ]] |
| .RB [ \-\-poolmetadatasize |
| .IR MetadataVolumeSize [ bBsSkKmMgG ]] |
| .RB [ \-\-poolmetadataspare |
| .RI { y | n }] |
| .RB [ \-\- [ raid ] maxrecoveryrate |
| .IR Rate ] |
| .RB [ \-\- [ raid ] minrecoveryrate |
| .IR Rate ] |
| .RB [ \-r | \-\-readahead |
| .RI { ReadAheadSectors | auto | none }] |
| .RB [ \-k | \-\-setactivationskip |
| .RI { y | n }] |
| .RB [ \-s | \-\-snapshot |
| .RB [ \-V | \-\-virtualsize |
| .IR VirtualSize [ bBsSkKmMgGtTpPeE ]] |
| .RB [ \-t | \-\-test ] |
| .RB [ \-T | \-\-thin ] |
| .RB [ \-\-thinpool |
| .IR ThinPoolLogicalVolume { Name | Path }] |
| .RB [ \-\-type |
| .IR SegmentType ] |
| .RB [ \-v | \-\-verbose ] |
| .RB [ \-W | \-\-wipesignatures |
| .RI { y | n }] |
| .RB [ \-Z | \-\-zero |
| .RI { y | n }] |
| .RI [ VolumeGroup { Name | Path } |
| .RI [/\{ ExternalOrigin |
| | |
| .I Origin |
| | |
| .IR Pool } LogicalVolumeName ] |
| .RI [ PhysicalVolumePath [ :PE [ \-PE ]]...] |
| |
| .B lvcreate |
| .RB [ \-l | \-\-extents |
| .IR LogicalExtentsNumber [ % { FREE | ORIGIN | PVS | VG }] |
| | |
| .BR \-L | \-\-size |
| .\" | \-\-pooldatasize |
| .IR LogicalVolumeSize [ bBsSkKmMgGtTpPeE ]] |
| .RB [ \-c | \-\-chunksize |
| .IR ChunkSize [ bBsSkKmMgG ]] |
| .RB [ \-\-commandprofile |
| .IR Profilename ] |
| .RB [ \-\-noudevsync ] |
| .RB [ \-\-ignoremonitoring ] |
| .RB [ \-\-metadataProfile |
| .IR ProfileName ] |
| .RB [ \-\-monitor |
| .RI { y | n }] |
| .RB [ \-n | \-\-name |
| .IR SnapshotLogicalVolume { Name | Path }] |
| .BR \-s | \-\-snapshot | \-H | \-\-cache |
| .RI {[ VolumeGroup { Name | Path }/] OriginalLogicalVolumeName |
| .BR \-V | \-\-virtualsize |
| .IR VirtualSize [ bBsSkKmMgGtTpPeE ]} |
| .br |
| |
| .SH DESCRIPTION |
| lvcreate creates a new logical volume in a volume group (see |
| .BR 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 |
| .BR vgextend (8)) |
| with other physical volumes or by reducing existing logical volumes |
| of this volume group in size (see |
| .BR lvreduce (8)). |
| If you specify one or more PhysicalVolumes, allocation of physical |
| extents will be restricted to these volumes. |
| .br |
| .br |
| The second form supports the creation of snapshot logical volumes which |
| keep the contents of the original logical volume for backup purposes. |
| .SH OPTIONS |
| See |
| .BR lvm (8) |
| for common options. |
| .TP |
| .IR \fB\-a ", " \fB\-\-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 (\fB\-a\fIy\fR). |
| If it is possible technically, \fB\-a\fIn\fR will leave the new Logical |
| Volume inactive. But for example, snapshots of active origin can only be |
| created in the active state so \fB\-a\fIn\fR cannot be used with |
| \fB-\-type\fP \fIsnapshot\fP. This does not apply to thin volume snapshots, |
| which are by default created with flag to skip their activation |
| (\fB-k\fP\fIy\fP). |
| Normally the \fB\-\-zero\fP \fIn\fP argument has to be supplied too because |
| zeroing (the default behaviour) also requires activation. |
| If autoactivation option is used (\fB\-a\fIay\fR), the logical volume is |
| activated only if it matches an item in the |
| .IR activation / auto_activation_volume_list |
| set in \fBlvm.conf\fP(5). |
| For autoactivated logical volumes, \fB\-\-zero\fP \fIn\fP and |
| \fB\-\-wipesignatures\fP \fIn\fP is always assumed and it can't |
| be overridden. If the clustered locking is enabled, |
| \fB\-a\fIey\fR will activate exclusively on one node and |
| .IR \fB\-a { a | l } y |
| will activate only on the local node. |
| .TP |
| .IR \fB\-H ", " \fB\-\-cache |
| Creates cache or cache pool logical volume or both. |
| Specifying the optional argument \fB\-\-size\fP will cause the creation of |
| the cache logical volume. |
| .\" Specifying the optional argument \fB\-\-pooldatasize\fP will cause |
| .\" the creation of the cache pool logical volume. |
| Specifying both arguments will cause the creation of cache with its |
| cache pool volume. |
| When the Volume group name is specified together with existing logical volume |
| name which is NOT a cache pool name, such volume is treaded |
| as cache origin volume and cache pool is created. In this case |
| the \fB\-\-size\fP is used to specify size of cache pool volume. |
| See \fBlvmcache\fP(7) for more info about caching support. |
| Note that the cache segment type requires a dm-cache kernel module version |
| 1.3.0 or greater. |
| .TP |
| .IR \fB\-\-cachemode " {" passthrough | writeback | writethrough } |
| Specifying a cache mode determines when the writes to a cache LV |
| are considered complete. When \fIwriteback\fP is specified, a write is |
| considered complete as soon as it is stored in the cache pool LV. |
| If \fIwritethough\fP is specified, a write is considered complete only |
| when it has been stored in the cache pool LV and on the origin LV. |
| While \fIwritethrough\fP may be slower for writes, it is more |
| resilient if something should happen to a device associated with the |
| cache pool LV. |
| .TP |
| .B \-\-cachepolicy \fIpolicy |
| Only applicable to cached LVs; see also \fBlvmcache(7)\fP. Sets |
| the cache policy. \fImq\fP is the basic policy name. \fIsmq\fP is more advanced |
| version available in newer kernels. |
| .TP |
| .IR \fB\-\-cachepool " " CachePoolLogicalVolume { Name | Path } |
| Specifies the name of cache pool volume name. The other way to specify pool name |
| is to append name to Volume group name argument. |
| .TP |
| .BR \-\-cachesettings " " \fIkey=value |
| Only applicable to cached LVs; see also \fBlvmcache(7)\fP. Sets |
| the cache tunable settings. In most use-cases, default values should be adequate. |
| Special string value \fIdefault\fP switches setting back to its default kernel value |
| and removes it from the list of settings stored in lvm2 metadata. |
| .TP |
| .BR \-c ", " \-\-chunksize " " \fIChunkSize [ \fIbBsSkKmMgG ] |
| Gives the size of chunk for snapshot, cache pool and thin pool logical volumes. |
| Default unit is in kilobytes. |
| .br |
| For \fIsnapshots\fP the value must be power of 2 between 4KiB and 512KiB |
| and the default value is 4KiB. |
| .br |
| For \fIcache pools\fP the value must a multiple of 32KiB |
| between 32KiB and 1GiB. The default is 64KiB. |
| .br |
| For \fIthin pools\fP the value must be a multiple of 64KiB |
| between 64KiB and 1GiB. |
| Default value starts with 64KiB and grows up to |
| fit the pool metadata size within 128MiB, |
| if the pool metadata size is not specified. |
| See |
| .BR lvm.conf (5) |
| setting |
| .IR allocation / thin_pool_chunk_size_policy |
| to select different calculation policy. |
| Thin pool target version <1.4 requires this value to be a power of 2. |
| For target version <1.5 discard is not supported for non power of 2 values. |
| .TP |
| .BR \-C ", " \-\-contiguous " {" \fIy | \fIn } |
| Sets or resets the contiguous allocation policy for |
| logical volumes. Default is no contiguous allocation based |
| on a next free principle. |
| .TP |
| .BR \-\-corelog |
| This is shortcut for option \fB\-\-mirrorlog\fP \fIcore\fP. |
| .TP |
| .BR \-\-discards " {" \fIignore | \fInopassdown | \fIpassdown } |
| Sets discards behavior for thin pool. |
| Default is \fIpassdown\fP. |
| .TP |
| .BR \-\-errorwhenfull " {" \fIy |\fIn } |
| Configures thin pool behaviour when data space is exhausted. |
| Default is \fIn\fPo. |
| Device will queue I/O operations until target timeout |
| (see dm-thin-pool kernel module option \fIno_space_timeout\fP) |
| expires. Thus configured system has a time to i.e. extend |
| the size of thin pool data device. |
| When set to \fIy\fPes, the I/O operation is immeditelly errored. |
| .TP |
| .BR \-K ", " \-\-ignoreactivationskip |
| Ignore the flag to skip Logical Volumes during activation. |
| Use \fB\-\-setactivationskip\fP option to set or reset |
| activation skipping flag persistently for logical volume. |
| .TP |
| .B \-\-ignoremonitoring |
| Make no attempt to interact with dmeventd unless \fB\-\-monitor\fP |
| is specified. |
| .TP |
| .IR \fB\-l ", " \fB\-\-extents " " LogicalExtentsNumber [ % { VG | PVS | FREE | ORIGIN }] |
| Gives the number of logical extents to allocate for the new |
| logical volume. The total number of physical extents allocated will be |
| greater than this, for example, if the volume is mirrored. |
| The number can also be expressed as a percentage of the total space |
| in the Volume Group with the suffix \fI%VG\fR, as a percentage of the |
| remaining free space in the Volume Group with the suffix \fI%FREE\fR, as a |
| percentage of the remaining free space for the specified |
| PhysicalVolume(s) with the suffix \fI%PVS\fR, or (for a snapshot) as a |
| percentage of the total space in the Origin Logical Volume with the |
| suffix \fI%ORIGIN\fR (i.e. \fI100%ORIGIN\fR provides space for the whole origin). |
| When expressed as a percentage, the number is treated |
| as an approximate upper limit for the total number of physical extents |
| to be allocated (including extents used by any mirrors, for example). |
| .TP |
| .BR \-j ", " \-\-major " " \fImajor |
| Sets the major number. |
| Major numbers are not supported with pool volumes. |
| This option is supported only on older systems |
| (kernel version 2.4) and is ignored on modern Linux systems where major |
| numbers are dynamically assigned. |
| .TP |
| .BR \-\-metadataprofile " " \fIProfileName |
| Uses and attaches the ProfileName configuration profile to the logical |
| volume metadata. Whenever the logical volume is processed next time, |
| the profile is automatically applied. If the volume group has another |
| profile attached, the logical volume profile is preferred. |
| See \fBlvm.conf\fP(5) for more information about \fBmetadata profiles\fP. |
| .TP |
| .B \-\-minor \fIminor |
| Sets the minor number. |
| Minor numbers are not supported with pool volumes. |
| .TP |
| .BR \-m ", " \-\-mirrors " " \fIMirrors |
| Creates a mirrored logical volume with \fIMirrors\fP copies. |
| For example, specifying |
| .BI \-m\ 1 |
| would result in a mirror with two-sides; that is, |
| a linear volume plus one copy. |
| |
| Specifying the optional argument \fB\-\-nosync\fP 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. |
| |
| There are two implementations of mirroring which can be used and correspond |
| to the "\fIraid1\fP" and "\fImirror\fP" segment types. |
| The default is "\fIraid1\fP". See the |
| \fB\-\-type\fP option for more information if you would like to use the |
| legacy "\fImirror\fP" segment type. See |
| .BR lvm.conf (5) |
| settings |
| .IR global / mirror_segtype_default |
| and |
| .IR global / raid10_segtype_default |
| to configure default mirror segment type. |
| The options |
| \fB\-\-mirrorlog\fP and \fB\-\-corelog\fP apply |
| to the legacy "\fImirror\fP" segment type only. |
| .TP |
| .BR \-\-mirrorlog " {" \fIdisk | \fIcore | \fImirrored } |
| Specifies the type of log to be used for logical volumes utilizing |
| the legacy "\fImirror\fP" segment type. |
| .br |
| The default is \fIdisk\fP, which is persistent and requires |
| a small amount of storage space, usually on a separate device from the |
| data being mirrored. |
| .br |
| Using \fIcore\fP means the mirror is regenerated by copying the data |
| from the first device each time the logical volume is activated, |
| like after every reboot. |
| .br |
| Using \fImirrored\fP will create a persistent log that is itself mirrored. |
| .TP |
| .BR \-\-monitor " {" \fIy | \fIn } |
| Starts or avoids monitoring a mirrored, snapshot or thin pool 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 |
| .IR activation / mirror_image_fault_policy |
| and |
| .IR activation / mirror_log_fault_policy |
| set in \fBlvm.conf\fP(5). |
| .TP |
| .IR \fB\-n ", " \fB\-\-name " " LogicalVolume { Name | Path } |
| Sets the name for the new logical volume. |
| .br |
| Without this option a default name of "lvol#" will be generated where |
| # is the LVM internal number of the logical volume. |
| .TP |
| .B \-\-nosync |
| Causes the creation of the mirror to skip the initial resynchronization. |
| .TP |
| .B \-\-noudevsync |
| Disables 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. |
| .TP |
| .BR \-p ", " \-\-permission " {" \fIr | \fIrw } |
| Sets access permissions to read only (\fIr\fP) or read and write (\fIrw\fP). |
| .br |
| Default is read and write. |
| .TP |
| .BR \-M ", " \-\-persistent " {" \fIy | \fIn } |
| Set to \fIy\fP to make the minor number specified persistent. |
| Pool volumes cannot have persistent major and minor numbers. |
| Defaults to \fIy\fPes only when major or minor number is specified. |
| Otherwise it is \fIn\fPo. |
| .TP |
| .\" .IR \fB\-\-pooldatasize " " PoolDataVolumeSize [ bBsSkKmMgGtTpPeE ] |
| .\" Sets the size of pool's data logical volume. |
| .\" For thin pools you may also specify the size |
| .\" with the option \fB\-\-size\fP. |
| .\" .TP |
| .IR \fB\-\-poolmetadatasize " " MetadataVolumeSize [ bBsSkKmMgG ] |
| Sets the size of pool's metadata logical volume. |
| Supported values are in range between 2MiB and 16GiB for thin pool, |
| and upto 16GiB for cache pool. The minimum value is computed from pool's |
| data size. |
| Default value for thin pool is (Pool_LV_size / Pool_LV_chunk_size * 64b). |
| Default unit is megabytes. |
| .TP |
| .IR \fB\-\-poolmetadataspare " {" y | n } |
| Controls creation and maintanence of pool metadata spare logical volume |
| that will be used for automated pool recovery. |
| Only one such volume is maintained within a volume group |
| with the size of the biggest pool metadata volume. |
| Default is \fIy\fPes. |
| .TP |
| .BR \-\- [ raid ] maxrecoveryrate " " \fIRate [ \fIbBsSkKmMgG ] |
| Sets the maximum recovery rate for a RAID logical volume. \fIRate\fP |
| is specified as an amount per second for each device in the array. |
| If no suffix is given, then KiB/sec/device is assumed. Setting the |
| recovery rate to 0 means it will be unbounded. |
| .TP |
| .BR \-\- [ raid ] minrecoveryrate " " \fIRate [ \fIbBsSkKmMgG ] |
| Sets the minimum recovery rate for a RAID logical volume. \fIRate\fP |
| is specified as an amount per second for each device in the array. |
| If no suffix is given, then KiB/sec/device is assumed. Setting the |
| recovery rate to 0 means it will be unbounded. |
| .TP |
| .IR \fB\-r ", " \fB\-\-readahead " {" ReadAheadSectors | auto | none } |
| Sets 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 \fIauto\fP which allows the kernel to choose |
| a suitable value automatically. |
| \fINone\fP is equivalent to specifying zero. |
| .TP |
| .BR \-R ", " \-\-regionsize " " \fIMirrorLogRegionSize [ \fIbBsSkKmMgG ] |
| A mirror is divided into regions of this size (in MiB), and the mirror log |
| uses this granularity to track which regions are in sync. |
| .TP |
| .IR \fB\-k ", " \fB\-\-setactivationskip " {" y | n } |
| Controls whether Logical Volumes are persistently flagged to be skipped during |
| activation. By default, thin snapshot volumes are flagged for activation skip. |
| See |
| .BR lvm.conf (5) |
| .IR activation / auto_set_activation_skip |
| how to change its default behaviour. |
| To activate such volumes, an extra |
| .BR \-K | \-\-ignoreactivationskip |
| option must be used. The flag is not applied during deactivation. Use |
| .B lvchange \-\-setactivationskip {y|n} |
| command to change the skip flag for existing volumes. |
| To see whether the flag is attached, use \fBlvs\fP command |
| where the state of the flag is reported within \fBlv_attr\fP bits. |
| .TP |
| .IR \fB\-L ", " \fB\-\-size " " LogicalVolumeSize [ bBsSkKmMgGtTpPeE ] |
| Gives the size to allocate for the new logical volume. |
| A size suffix of \fIB\fR for bytes, \fIS\fR for sectors as 512 bytes, |
| \fIK\fR for kilobytes, \fIM\fR for megabytes, |
| \fIG\fR for gigabytes, \fIT\fR for terabytes, \fIP\fR for petabytes |
| or \fIE\fR for exabytes is optional. |
| .br |
| Default unit is megabytes. |
| .TP |
| .IR \fB\-s ", " \fB\-\-snapshot " " OriginalLogicalVolume { Name | Path } |
| Creates 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. |
| .br |
| 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 non thin volume 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 |
| .BR lvextend (8) |
| to grow it. Shrinking a snapshot is supported by |
| .BR lvreduce (8) |
| as well. Run |
| .BR lvs (8) |
| on the snapshot in order to check how much data is allocated to it. |
| Note: 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 |
| (\fB\-\-monitor\fP) the rate at which the snapshot data is growing |
| so you can \fBavoid\fP running out of space. |
| If \fB\-\-thinpool\fP is specified, thin volume is created that will |
| use given original logical volume as an external origin that |
| serves unprovisioned blocks. |
| Only read-only volumes can be used as external origins. |
| To make the volume external origin, lvm expects the volume to be inactive. |
| External origin volume can be used/shared for many thin volumes |
| even from different thin pools. See |
| .BR lvconvert (8) |
| for online conversion to thin volumes with external origin. |
| .TP |
| .BR \-i ", " \-\-stripes " " \fIStripes |
| Gives the number of stripes. |
| This is equal to the number of physical volumes to scatter |
| the logical volume. When creating a RAID 4/5/6 logical volume, |
| the extra devices which are necessary for parity are |
| internally accounted for. Specifying |
| .BI \-i 3 |
| would use 3 devices for striped logical volumes, |
| 4 devices for RAID 4/5, and 5 devices for RAID 6. Alternatively, |
| RAID 4/5/6 will stripe across all PVs in the volume group or |
| all of the PVs specified if the |
| .B \-i |
| argument is omitted. |
| .TP |
| .BR \-I ", " \-\-stripesize " " \fIStripeSize |
| Gives the number of kilobytes for the granularity of the stripes. |
| .br |
| 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. |
| .TP |
| .IR \fB\-T ", " \fB\-\-thin |
| Creates thin pool or thin logical volume or both. |
| Specifying the optional argument \fB\-\-size\fP or \fB\-\-extents\fP |
| will cause the creation of the thin pool logical volume. |
| Specifying the optional argument \fB\-\-virtualsize\fP 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. |
| See \fBlvmthin\fP(7) for more info about thin provisioning support. |
| Thin provisioning requires device mapper kernel driver |
| from kernel 3.2 or greater. |
| .TP |
| .IR \fB\-\-thinpool " " ThinPoolLogicalVolume { Name | Path } |
| Specifies the name of thin pool volume name. The other way to specify pool name |
| is to append name to Volume group name argument. |
| .TP |
| .B \-\-type \fISegmentType |
| Creates a logical volume with the specified segment type. |
| Supported types are: |
| .IR cache , |
| .IR cache-pool , |
| .IR error , |
| .IR linear , |
| .IR mirror, |
| .IR raid1 , |
| .IR raid4 , |
| .IR raid5_la , |
| .IR raid5_ls " (= " raid5 ), |
| .IR raid5_ra , |
| .IR raid5_rs , |
| .IR raid6_nc , |
| .IR raid6_nr , |
| .IR raid6_zr " (= " raid6 ) , |
| .IR raid10 , |
| .IR snapshot , |
| .IR striped, |
| .IR thin , |
| .IR thin-pool |
| or |
| .IR zero . |
| Segment type may have a commandline switch alias that will |
| enable its use. |
| When the type is not explicitly specified an implicit type |
| is selected from combination of options: |
| .BR \-H | \-\-cache | \-\-cachepool " (" \fIcache |
| or |
| .IR cachepool ), |
| .BR \-T | \-\-thin | \-\-thinpool " (" \fIthin |
| or |
| .IR thinpool ), |
| .BR \-m | \-\-mirrors " (" \fIraid1 |
| or |
| .IR mirror ), |
| .BR \-s | \-\-snapshot | \-V | \-\-virtualsize " (" \fIsnapshot |
| or |
| .IR thin ), |
| .BR \-i | \-\-stripes " (" \fIstriped ). |
| Default type is \fIlinear\fP. |
| .TP |
| .BR \-V ", " \-\-virtualsize " " \fIVirtualSize [ \fIbBsSkKmMgGtTpPeE ] |
| Creates a thinly provisioned device or a sparse device of the given size (in MiB by default). |
| See |
| .BR lvm.conf (5) |
| settings |
| .IR global / sparse_segtype_default |
| to configure default sparse segment type. |
| See \fBlvmthin\fP(7) for more info about thin provisioning support. |
| Anything written to a sparse snapshot 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. Note: using sparse snapshots is not efficient for larger |
| device sizes (GiB), thin provisioning should be used for this case. |
| .TP |
| .BR \-W ", " \-\-wipesignatures " {" \fIy | \fIn } |
| Controls wiping of detected signatures on newly created Logical Volume. |
| If this option is not specified, then by default signature wiping is done |
| each time the zeroing (\fB\-Z\fP/\fB\-\-zero\fP) is done. This default behaviour |
| can be controlled by |
| .IR allocation / wipe_signatures_when_zeroing_new_lvs |
| setting found in |
| .BR lvm.conf (5). |
| .br |
| If blkid wiping is used |
| .IR allocation / use_blkid_wiping |
| setting in |
| .BR lvm.conf (5)) |
| and LVM2 is compiled with blkid wiping support, then \fBblkid\fP(8) library is used |
| to detect the signatures (use \fBblkid -k\fP command to list the signatures that are recognized). |
| Otherwise, native LVM2 code is used to detect signatures (MD RAID, swap and LUKS |
| signatures are detected only in this case). |
| .br |
| Logical volume is not wiped if the read only flag is set. |
| .TP |
| .BR \-Z ", " \-\-zero " {" \fIy | \fIn } |
| Controls zeroing of the first 4KiB of data in the new logical volume. |
| Default is \fIy\fPes. |
| Snapshot COW volumes are always zeroed. |
| Logical volume is not zeroed if the read only flag is set. |
| |
| .br |
| Warning: trying to mount an unzeroed logical volume can cause the system to |
| hang. |
| .SH Examples |
| Creates a striped logical volume with 3 stripes, a stripe size of 8KiB |
| and a size of 100MiB in the volume group named vg00. |
| The logical volume name will be chosen by lvcreate: |
| .sp |
| .B 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 |
| .BI \-\-alloc \ anywhere |
| ) - two for the mirror devices and one for the disk log: |
| .sp |
| .B 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": |
| .sp |
| .B lvcreate \-m1 \-\-mirrorlog core \-L 500M vg00 |
| |
| Creates a snapshot logical volume named "vg00/snap" which has access to the |
| contents of the original logical volume named "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: |
| .sp |
| .B lvcreate \-\-size 100m \-\-snapshot \-\-name snap /dev/vg00/lvol1 |
| |
| Creates a snapshot logical volume named "vg00/snap" with size |
| for overwriting 20% of the original logical volume named "vg00/lvol1".: |
| .sp |
| .B lvcreate \-s \-l 20%ORIGIN \-\-name snap vg00/lvol1 |
| |
| Creates a sparse device named /dev/vg1/sparse of size 1TiB with space for just |
| under 100MiB of actual data on it: |
| .sp |
| .B 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: |
| .sp |
| .B 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: |
| .sp |
| .B lvcreate \-\-type raid5 \-L 5G \-i 3 \-I 64 \-n my_lv vg00 |
| |
| Creates a RAID5 logical volume "vg00/my_lv", using all of the free |
| space in the VG and spanning all the PVs in the VG: |
| .sp |
| .B lvcreate \-\-type raid5 \-l 100%FREE \-n my_lv vg00 |
| |
| Creates a 5GiB RAID10 logical volume "vg00/my_lv", with 2 stripes on |
| 2 2-way mirrors. Note that the \fB-i\fP and \fB-m\fP arguments behave |
| differently. |
| The \fB-i\fP specifies the number of stripes. |
| The \fB-m\fP specifies the number of |
| .B additional |
| copies: |
| .sp |
| .B lvcreate \-\-type raid10 \-L 5G \-i 2 \-m 1 \-n my_lv vg00 |
| |
| Creates 100MiB pool logical volume for thin provisioning |
| build with 2 stripes 64KiB and chunk size 256KiB together with |
| 1TiB thin provisioned logical volume "vg00/thin_lv": |
| .sp |
| .B lvcreate \-i 2 \-I 64 \-c 256 \-L100M \-T vg00/pool \-V 1T \-\-name thin_lv |
| |
| Creates a thin snapshot volume "thinsnap" of thin volume "thinvol" that |
| will share the same blocks within the thin pool. |
| Note: the size MUST NOT be specified, otherwise the non-thin snapshot |
| is created instead: |
| .sp |
| .B lvcreate \-s vg00/thinvol \-\-name thinsnap |
| |
| Creates a thin snapshot volume of read-only inactive volume "origin" |
| which then becomes the thin external origin for the thin snapshot volume |
| in vg00 that will use an existing thin pool "vg00/pool": |
| .sp |
| .B lvcreate \-s \-\-thinpool vg00/pool origin |
| |
| Create a cache pool LV that can later be used to cache one |
| logical volume. |
| .sp |
| .B lvcreate \-\-type cache-pool \-L 1G \-n my_lv_cachepool vg /dev/fast1 |
| |
| If there is an existing cache pool LV, create the large slow |
| device (i.e. the origin LV) and link it to the supplied cache pool LV, |
| creating a cache LV. |
| .sp |
| .B lvcreate \-\-cache \-L 100G \-n my_lv vg/my_lv_cachepool /dev/slow1 |
| |
| If there is an existing logical volume, create the small and fast |
| cache pool LV and link it to the supplied existing logical |
| volume (i.e. the origin LV), creating a cache LV. |
| .sp |
| .B lvcreate \-\-type cache \-L 1G \-n my_lv_cachepool vg/my_lv /dev/fast1 |
| |
| .\" Create a 1G cached LV "lvol1" with 10M cache pool "vg00/pool". |
| .\" .sp |
| .\" .B lvcreate \-\-cache \-L 1G \-n lv --pooldatasize 10M vg00/pool |
| |
| .SH SEE ALSO |
| .BR lvm (8), |
| .BR lvm.conf (5), |
| .BR lvmcache (7), |
| .BR lvmthin (7), |
| .BR lvconvert (8), |
| .BR lvchange (8), |
| .BR lvextend (8), |
| .BR lvreduce (8), |
| .BR lvremove (8), |
| .BR lvrename (8) |
| .BR lvs (8), |
| .BR lvscan (8), |
| .BR vgcreate (8), |
| .BR blkid (8) |