How To Create LVM Using Vgcreate, Lvcreate, and Lvextend lvm2 Commands
How To Create LVM Using Vgcreate, Lvcreate, and Lvextend lvm2 Commands
≡ Menu
Home
Free eBook
Start Here
Contact
About
How To Create LVM Using vgcreate, lvcreate, and
lvextend lvm2 Commands
by Balakrishnan Mariyappan on August 5, 2010
16 Like 26 Tweet 8
LVM stands for Logical Volume Manager.
With LVM, we can create logical partitions that can span across one or more physical hard drives. First, the
hard drives are divided into physical volumes, then those physical volumes are combined together to create the
volume group and finally the logical volumes are created from volume group.
The LVM commands listed in this article are used under Ubuntu Distribution. But, it is the same for other Linux
distributions.
Before we start, install the lvm2 package as shown below.
$ sudo apt‐get intall lvm2
To create a LVM, we need to run through the following steps.
Select the physical storage devices for LVM
Create the Volume Group from Physical Volumes
Create Logical Volumes from Volume Group
Select the Physical Storage Devices for LVM – Use pvcreate, pvscan, pvdisplay
Commands
In this step, we need to choose the physical volumes that will be used to create the LVM. We can create the
http://www.thegeekstuff.com/2010/08/howtocreatelvm/ 1/13
11/18/2015 How To Create LVM Using vgcreate, lvcreate, and lvextend lvm2 Commands
physical volumes using pvcreate command as shown below.
$ sudo pvcreate /dev/sda6 /dev/sda7
Physical volume "/dev/sda6" successfully created
Physical volume "/dev/sda7" successfully created
As shown above two physical volumes are created – /dev/sda6 and /dev/sda7.
If the physical volumes are already created, you can view them using the pvscan command as shown below.
$ sudo pvscan
PV /dev/sda6 lvm2 [1.86 GB]
PV /dev/sda7 lvm2 [1.86 GB]
Total: 2 [3.72 GB] / in use: 0 [0 ] / in no VG: 2 [3.72 GB]
You can view the list of physical volumes with attributes like size, physical extent size, total physical extent
size, the free space, etc., using pvdisplay command as shown below.
$ sudo pvdisplay
‐‐‐ Physical volume ‐‐‐
PV Name /dev/sda6
VG Name
PV Size 1.86 GB / not usable 2.12 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 476
Free PE 456
Allocated PE 20
PV UUID m67TXf‐EY6w‐6LuX‐NNB6‐kU4L‐wnk8‐NjjZfv
‐‐‐ Physical volume ‐‐‐
PV Name /dev/sda7
VG Name
PV Size 1.86 GB / not usable 2.12 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 476
Free PE 476
Allocated PE 0
PV UUID b031x0‐6rej‐BcBu‐bE2C‐eCXG‐jObu‐0Boo0x
Note : PE – Physical Extents are nothing but equalsized chunks. The default size of extent is 4MB.
Create the Volume Group – Use vgcreate, vgdisplay Commands
http://www.thegeekstuff.com/2010/08/howtocreatelvm/ 2/13
11/18/2015 How To Create LVM Using vgcreate, lvcreate, and lvextend lvm2 Commands
Volume groups are nothing but a pool of storage that consists of one or more physical volumes. Once you create
the physical volume, you can create the volume group (VG) from these physical volumes (PV).
In this example, the volume group vol_grp1 is created from the two physical volumes as shown below.
$ sudo vgcreate vol_grp1 /dev/sda6 /dev/sda7
Volume group "vol_grp1" successfully created
LVM processes the storage in terms of extents. We can also change the extent size (from the default size 4MB)
using s flag.
vgdisplay command lists the created volume groups.
$ sudo vgdisplay
‐‐‐ Volume group ‐‐‐
VG Name vol_grp1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 3.72 GB
PE Size 4.00 MB
Total PE 952
Alloc PE / Size 0 / 0
Free PE / Size 952 / 3.72 GB
VG UUID Kk1ufB‐rT15‐bSWe‐5270‐KDfZ‐shUX‐FUYBvR
LVM Create: Create Logical Volumes – Use lvcreate, lvdisplay command
Now, everything is ready to create the logical volumes from the volume groups. lvcreate command creates the
logical volume with the size of 80MB.
$ sudo lvcreate ‐l 20 ‐n logical_vol1 vol_grp1
Logical volume "logical_vol1" created
Use lvdisplay command as shown below, to view the available logical volumes with its attributes.
$ sudo lvdisplay
‐‐‐ Logical volume ‐‐‐
LV Name /dev/vol_grp1/logical_vol1
VG Name vol_grp1
LV UUID ap8sZ2‐WqE1‐6401‐Kupm‐DbnO‐2P7g‐x1HwtQ
LV Write Access read/write
LV Status available
# open 0
LV Size 80.00 MB
Current LE 20
Segments 1
Allocation inherit
Read ahead sectors auto
‐ currently set to 256
Block device 252:0
http://www.thegeekstuff.com/2010/08/howtocreatelvm/ 3/13
11/18/2015 How To Create LVM Using vgcreate, lvcreate, and lvextend lvm2 Commands
After creating the appropriate filesystem on the logical volumes, it becomes ready to use for the storage
purpose.
$ sudo mkfs.ext3 /dev/vol_grp1/logical_vol1
LVM resize: Change the size of the logical volumes – Use lvextend Command
We can extend the size of the logical volumes after creating it by using lvextend utility as shown below. The
changes the size of the logical volume from 80MB to 100MB.
$ sudo lvextend ‐L100 /dev/vol_grp1/logical_vol1
Extending logical volume logical_vol1 to 100.00 MB
Logical volume logical_vol1 successfully resized
We can also add additional size to a specific logical volume as shown below.
$ sudo lvextend ‐L+100 /dev/vol_grp1/logical_vol1
Extending logical volume logical_vol1 to 200.00 MB
Logical volume logical_vol1 successfully resized
If you enjoyed this article, you might also like..
Tagged as: LVM Commands, LVM GUI, LVM Mirror, LVM Performance, LVM Snapshot, LVM Tutorial
{ 20 comments… add one }
madrox007 August 6, 2010, 1:42 am
http://www.thegeekstuff.com/2010/08/howtocreatelvm/ 4/13