Extend LVM partition size when there is no free space in the Volume Group

Posted by & filed under .

There are some cases when we want to extend the size of LVM partition but if there is no free space available in the Volume group , then first we have to extend the volume group , to extend the volume group add new disks in volume group using vgextend command.
If there is no free disk available on the linux box , then you can ask the storage team to assign new disk to the server.
Scenario : Suppose We want to extend the size of /home , but there is no free in the volume group .
[root@cloud ~]# df -h /home/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud-LogVol00
16G   16G   41M 100% /home

[root@cloud ~]# vgdisplay vg_cloud
  — Volume group —
VG Name                           vg_cloud
System ID
Format                                lvm2
Metadata Areas                1
Metadata Sequence No   8
VG Access                          read/write
VG Status                           resizable
MAX LV                               0
Cur LV                                 3
Open LV                             3
Max PV                               0
Cur PV                                1
Act PV                                1
VG Size                              27.01 GiB
PE Size                               4.00 MiB
Total PE                              6915
Alloc PE / Size                   6915 / 27.01 GiB
 Free  PE / Size             0 / 0   
VG UUID                            1R89GB-mIP2-7Hgu-zEVR-5H02-7GdB-Ufj7R4

 
Step:1  Create the Physical Volume on new disk
Check the new disk using ' fdisk -l ' command and create the physical volume, in my case new disk is '/dev/sdb'
root@cloud ~]# pvcreate /dev/sdb
         Physical volume "/dev/sdb" successfully created
 
Step:2 Now extend the Size of Volume Group using vgextend.
[root@cloud ~]# vgextend vg_cloud /dev/sdb
   Volume group "vg_cloud" successfully extended
 
Step:3 Verify the size of Volume Group.
[root@cloud ~]# vgdisplay vg_cloud
  — Volume group —
VG Name                           vg_cloud
System ID
Format                               lvm2
Metadata Areas                2
Metadata Sequence No   9
VG Access                          read/write
VG Status                           resizable
MAX LV                               0
Cur LV                                 3
Open LV                              3
Max PV                                0
Cur PV                                 2
Act PV                                  2
VG Size                               37.04 GiB
PE Size                                4.00 MiB
Total PE                               9481
Alloc PE / Size                    6915 / 27.01 GiB
Free  PE / Size             2566 / 10.02 GiB
VG UUID                             1R89GB-mIP2-7Hgu-zEVR-5H02-7GdB-Ufj7R4

 
Note: As you can see Available or Free PE / size is 10.02GB.
 
 Step:4 Extend the lvm size using lvextend command
[root@cloud ~]# lvextend -L +5G /dev/mapper/vg_cloud-LogVol00
    Extending logical volume LogVol00 to 21.25 GiB
Logical volume LogVol00 successfully resized

 
Step:5 Run the resize2fs command
 [root@cloud ~]# resize2fs /dev/mapper/vg_cloud-LogVol00
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_cloud-LogVol00 is mounted on /home; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/vg_cloud-LogVol00 to 5569536 (4k) blocks.
The filesystem on /dev/mapper/vg_cloud-LogVol00 is now 5569536 blocks long.

 
Step:5 Verify the filesystem size
[root@cloud ~]# df -h /home/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud-LogVol00
21G   16G  4.8G  77% /home

 

3 Responses to “Extend LVM partition size when there is no free space in the Volume Group”

  1. Siddharth Rana

    Thanks for the post …Better way to extend LVM paritions online without unmounting .

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *


seven × 2 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>