lvcreate command is used basically to create a new logical volume in LVM. To create a basic LVM volume, you can use the below command:
$ sudo lvcreate -l 100%FREE -n lvtest Vol1 Logical volume “lvtest” created
If you want to see the details of what you created, use the lvdisplay command:
$ sudo lvdisplay Vol1 --- Logical volume --- LV Path /dev/Vol1/lvtest LV Name lvtest VG Name Vol1 LV UUID 4W2369-pLXy-jWmb-lIFN-SMNX-xZnN-3KN208 LV Write Access read/write LV Creation host, time … -0400 LV Status available # open 0 LV Size 2.00 GiB Current LE 513 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
The -l parameter defines how much of the available space on the volume group specified to use for the logical volume. Notice that you can specify the value as a percent of the free space in the volume group. This example used all (100%) of the free space for the new logical volume.
You can use the -l parameter to specify the size as a percentage of the available space or the -L parameter to specify the actual size in bytes, kilobytes (KB), megabytes (MB), or gigabytes (GB). The -n parameter allows you to provide a name for the logical volume (called lvtest in this example).
LVM command options are as shown below:
lvcreate Command examples
1. To Power of 2 chunk size for the snapshot logical volume between 4k and 512k:
# lvcreate -c ChunkSize # lvcreate --chunksize ChunkSize
2. To Sets or resets the contiguous allocation policy for logical volumes:
# lvcreate -C y|n # lvcreate --contiguous y|n
3. To give the number of stripes
# lvcreate -i stripes: # lvcreate --stripes stripes
4. To Gives the number of kilobytes for the granularity of the stripes:
# lvcreate -I StripeSize # lvcreate --stripesize StripeSize
5. To give the number of logical extents to allocate for the new logical volume:
# lvcreate -l LogicalExtentsNumber[%{VG|PVS|FREE|ORIGIN} # lvcreate --extents LogicalExtentsNumber[%{VG|PVS|FREE|ORIGIN}
6. To give the size to allocate for the new logical volume:
# lvcreate -L --size LogicalVolumeSize[bBsSkKmMgGtTpPeE]
7. To set the minor number:
# lvcreate --minor minor
8. To Set to y to make the minor number specified persistent:
# lvcreate -M y|n # lvcreate --persistent y|n
9. To creates a mirrored logical volume with Mirrors copies:
# lvcreate -m mirrors # lvcreate --mirrors mirrors
10. To give name for the new logical volume:
# lvcreate -n LogicalVolumeName # lvcreate --name LogicalVolumeName
11. To disable udev synchronization:
# lvcreate --noudevsync
12. To Start or avoid monitoring a mirrored or snapshot logical volume with dmeventd:
# lvcreate --monitor y|n
13. To Make no attempt to interact with dmeventd unless –monitor is specified:
# lvcreate --ignoremonitoring
14. To Set access permissions to read only or read and write:
# lvcreate -p r|rw # lvcreate --permission r|rw
15. To set read ahead sector count of this logical volume:
# lvcreate -r ReadAheadSectors|auto|none # lvcreate --readahead ReadAheadSectors|auto|none
16. To divide the mirror into regions:
# lvcreate -R MirrorLogRegionSize # lvcreate --regionsize MirrorLogRegionSize
17. To Create a snapshot logical volume (or snapshot) for an existing:
# lvcreate -s # lvcreate --snapshot
18. To create a logical volume that uses the specified segment type:
# lvcreate --type SegmentType
19. To Create a sparse device of the given size (in MB by default) using a snapshot:
# lvcreate --virtualsize VirtualSize
20. To Controls zeroing of the first KB of data in the new logical volume:
# lvcreate -Z y|n # lvcreate --zero y|n