Previously we have seen how to create a flexible disk storage using LVM. Here, we are going to see how to extend volume group, extend and reduce a logical volume. Here we can reduce or extend the partitions in Logical volume management (LVM) also called as flexible volume file-system.
May be we need to create a separate partition for any other use or we need to expand the size of any low space partition, if so we can reduce the large size partition and we can expand the low space partition very easily by the following simple easy steps.
Currently, we have One PV, VG and 2 LV. Let’s list them one by one using following commands.
# pvs # vgs # lvs
There are no free space available in Physical Volume and Volume group. So, now we can’t extend the lvm size, for extending we need to add one physical volume (PV), and then we have to extend the volume group by extending the vg. We will get enough space to extend the Logical volume size. So first we are going to add one physical volume.
For adding a new PV we have to use fdisk to create the LVM partition.
# fdisk -cu /dev/sda
Restart the system once completed.
List and check the partition we have created using fdisk.
# fdisk -l /dev/sda
Next, create new PV (Physical Volume) using following command.
# pvcreate /dev/sda1
Verify the pv using below command.
# pvs
Add this pv to vg_tecmint vg to extend the size of a volume group to get more space for expanding lv.
# vgextend vg_tecmint /dev/sda1
Let us check the size of a Volume Group now using.
# vgs
We can even see which PV are used to create particular Volume group using.
# pvscan
Here, we can see which Volume groups are under Which Physical Volumes. We have just added one pv and its totally free. Let us see the size of each logical volume we have currently before expanding it.
Now we are going to expand the / partition LogVol01. After expanding we can list out the size as above for confirmation. We can extend using GB or PE as I have explained it in LVM PART-I, here I’m using PE to extend.
For getting the available Physical Extend size run.
# vgdisplay
There are 4607 free PE available = 18GB Free space available. So we can expand our logical volume up-to 18GBmore. Let us use the PE size to extend.
# lvextend -l +4607 /dev/vg_tecmint/LogVol01
Use + to add the more space. After Extending, we need to re-size the file-system using.
# resize2fs /dev/vg_tecmint/LogVol01
Now let’s see the size of re-sized logical volume using.
# lvdisplay
Now if we check the vg available Free PE it will be 0.
# vgdisplay
See the result of extending.
# pvs # vgs # lvs
Here we have completed the process of extending volume group and logical volumes. Let us move towards some interesting part in Logical volume management.
Here we are going to see how to reduce the Logical Volumes. Everyone say its critical and may end up with disaster while we reduce the lvm. Reducing lvm is really interesting than any other part in Logical volume management.
Let’s wee what are the 5 steps below.
For demonstration, I have created separate volume group and logical volume. Here, I’m going to reduce the logical volume tecmint_reduce_test. Now its 18GB in size. We need to reduce it to 10GB without data-loss. That means we need to reduce 8GB out of 18GB. Already there is 4GB data in the volume.
18GB ---> 10GB
While reducing size, we need to reduce only 8GB so it will roundup to 10GB after the reduce.
# lvs
Here we can see the file-system information.
# df -h
First unmount the mount point.
# umount -v /mnt/tecmint_reduce_test/
Then check for the file-system error using following command.
# e2fsck -ff /dev/vg_tecmint_extra/tecmint_reduce_test
Note: Must pass in every 5 steps of file-system check if not there might be some issue with your file-system.
Next, reduce the file-system.
# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test 8GB
Reduce the Logical volume using GB size.
# lvreduce -L -8G /dev/vg_tecmint_extra/tecmint_reduce_test
To Reduce Logical volume using PE Size we need to Know the size of default PE size and total PE size of a Volume Group to put a small calculation for accurate Reduce size.
# lvdisplay vg_tecmint_extra
Here we need to do a little calculation to get the PE size of 10GB using bc command.
1024MB x 10GB = 10240MB or 10GB 10240MB / 4PE = 2048PE
Press CRTL+D to exit from BC.
Reduce the size using PE.
# lvreduce -l -2048 /dev/vg_tecmint_extra/tecmint_reduce_test
Re-size the file-system back, In this step if there is any error that means we have messed-up our file-system.
# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test
Mount the file-system back to same point.
# mount /dev/vg_tecmint_extra/tecmint_reduce_test /mnt/tecmint_reduce_test/
Check the size of partition and files.
# lvdisplay vg_tecmint_extra
Here we can see the final result as the logical volume was reduced to 10GB size.
In this article, we have seen how to extend the volume group, logical volume and reduce the logical volume. In the next part (Part III), we will see how to take a Snapshot of logical volume and restore it to earlier stage.
Reference: http://www.tecmint.com/extend-and-reduce-lvms-in-linux/