Logical Volume Manager(LVM) is the powerful tool in Linux to manage the Disk management system.Adding more space to the existing filesystem or partitions can be easily done by using the LVM.If a filesystem needs more space it could be added to its logical volumes from the free spaces in its volume group and then filesystem can be resized as per the requirement.
In today’s IT environment all the server’s needs more space day by day and we need to expand that based on our requirements.LVM can be used in RAID, SAN.A physical disk will be grouped together to create a volume group, Then from the volume group, we need to create the individual partitions and create a new filesystem then mount it on some mount point directory to make it visible to the users.
Let me say this in simple words.To bring a disk in to the LVM structure,
1.Group all the physical disks together to create a physical volume
2.Create a volume group and add all the disks in the volume group
3.Now from the total volume group size we need to create the individual partitions i.e logical volumes
Logical Volume Manager Features:
1.It is very flexible to increase the size of the partition at any time.
2.Any filesystem can be installed
3.Migration can be used to recover the defective disk.
Now let us configure the LVM disk storage,
Ex:1 How to configure LVM
In this example, i will add three hard disks(more than 3 u can use there are no limitations) to the server.After adding the additional hard disks to the server check whether the kernel recognized the disks by using the “fdisk” command.
#ls -l /dev/sd*
Note: You can also use the “fdisk -l” command to check.
As you can see from the above screenshot, the newly added disks are recognized by the kernel.
Now its time to configure the LVM,Before we bring the disks in to the LVM structure we should format the disks with the LVM id.This can be done in two ways, I will show you here both the methods to label the disk with LVM partition type.
Remember you have to use either method:1 or method:2 to do this if you try both the methods when you run pvcreate command. you will get the disk missing error message
Note: LVM Partition type ID is 8e
Follow the steps as shown in the screenshot to associate the harddisks with LVM id
Repeat the same steps for the remaining harddisks i.e for /dev/sdc and /dev/sdd
Now check with “fdisk -l” whether all the disks are labeled with LVM id partition type
AS YOU CAN SEE THE ABOVE SCREENSHOT ALL THE DISKS HAVE BEEN LABELED WITH THE LVM PARTITION ID.
#pvcreate <disk1> <disk2> <disk3>
In our case we have /dev/sdb,/dev/sdc,/dev/sdd
#pvcreate /dev/sdb /dev/sdc /dev/sdd
This will write an LVM header to the devices to indicate that they are ready to be added to a volume group
Step:2 Check the Physical Volume Details(PV)
Now verify that LVM has registered the physical volumes by using the following command,
#pvdisplay or #pvs
From the above screenshot, all the three devices are present in the PV column
To view the same in detailed output run the following command
Note: For better view output has been truncated
Step:3 Create Volume Group(VG)
Now add the physical volumes to a volume group
#vgcreate <VG name> <disk1> <disk2> <disk3>
#vgcreate VG1 /dev/sdb /dev/sdc /dev/sdd
Now if we check the pvdisplay or pvs command again, we can see that our physical volumes are now associated with the new volume group
#pvs or pvdisplay
As you can see from the above screenshot, now the physical volume disks have been added to volume group VG1.
To check the VG details
#vgs or #vgdisplay
As you can see from the above output the volume group VG1 has three physical volumes and zero logical volumes.
Here is the description of each parameter as shown in above screen shot.
1.VG NAME=Volume group name
2.Format = LVM architecture used lvm2
3.VG access = Volume group is in read and write and ready to use
4.VG status = Volume group can be resized, we can expand more if we need to add more space
5.Cur LV= Currently there were two logical volumes in this volume groups
6.PE size= Physical extents, size for a disk can be defined using PE or GB size, 4MB is the default PE size of LVM, Say for example if we need to create 5 GB size of logical volume we can use the sum of 1280 PE, Got confused????🙄🙄
let me explain this in a easier way,as we all know 1024 MB=1 GB,if so 1024 MB * 5=5120 PE =5 GB,now divide the 5120 / 4= 1280,4 is the default PE size.
7.Total PE= This volume group have
8.Alloc PE= Total PE used.full PE already used,6141 * 4 PE = 24564
9.Free PE= Spaces are available as the lv are not yet been started using
Step:5 Create a Logical volume from the Volumegroup pool
We have a volume group available, we can use it for creating logical volumes.Unlike conventional partitioning, when working with logical volumes, you don’t need to know the layout of the volume since LVM maps and handle this for you.You only need to provide the size of the volume and name.
Now we will create three seprate logical volumes from the volume group
2G for “lv1” volume
4G for “lv2” volume
4G for “lv3” volume
#lvcreate -L <size> -n <Lv Name> <Volume group name>
#lvcreate -L +2G -n lv1 vg1
#lvcreate -L +4G -n lv2 vg1
#lvcreate -L +4G -n lv3 vg1
Now check the logical volumes and their relationship with the volume group
Step:6 Create a filesystem on logical volumes
Everything is done,inorder to make use of this logical volumes to store data we need to create a filesystem
#mkfs /dev/vg1/lv1 #mkfs /dev/vg1/lv2 #mkfs /dev/vg1/lv3
Repeat the same for the remaining logical volumes also i.e for lv2 and lv3
Step 7: Mount the Logical volumes to some mount point directory
#mount /devv/vg1/lv1 /BACKUP #mount /dev/vg1/lv2 /DATABASE #mount /dev/vg1/lv3 /WEBDATA
All the logical volumes have been successfully mounted and its now ready to use
check the mounted filesystem information by using the following command
In our next article, we will see how to grow the size of the logical volume partitions, increase the size of the volume group and many more.
Never miss any articles from Vasanth blog follow my facebook page for updates Learn Linux in an easier way
If you found this article useful, Kindly Subscribe here 👉👉🏿Click this link to Subscribe