Reduce size of ext3/ext4 LVM partition in RHEL & CentOS

Sometimes when we are running out of disk space in our linux box and if partition created on LVM , then we can make some free space in the volume group by reducing the LVM using lvreduce command.In this article we will discuss the required steps to reduce the size of LVM safely.

Scenario : Suppose we want to reduce /home by 2GB which is LVM and formated as ext4.

[root@cloud ~]# df -h /home/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud-LogVol00
12G  9.2G  1.9G  84% /home

Step:1 Umount the filesystem

[root@cloud ~]# umount /home/

Step:2 check the filesystem for Errors using e2fsck command.

[root@cloud ~]# e2fsck -f /dev/mapper/vg_cloud-LogVol00
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg_cloud-LogVol00: 12/770640 files (0.0% non-contiguous), 2446686/3084288 blocks

Note: In the above command e2fsck , we use the option ‘-f’ to forcefully check the filesystem , even if the filesystem is clean.

Step:3 Shrink the size of /home to desire size.

As shown in the above scenario , size of /home is 12 GB , so by reducing it by 2GB , then the size will become 10GB.

[root@cloud ~]# resize2fs /dev/mapper/vg_cloud-LogVol00 10G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_cloud-LogVol00 to 2621440 (4k) blocks.
The filesystem on /dev/mapper/vg_cloud-LogVol00 is now 2621440 blocks long.

 Step:4 Now reduce the size using lvreduce command.

[root@cloud ~]# lvreduce -L 10G /dev/mapper/vg_cloud-LogVol00
WARNING: Reducing active logical volume to 10.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol00? [y/n]: y
Reducing logical volume LogVol00 to 10.00 GiB
Logical volume LogVol00 successfully resized

 Step:5 (Optional) For the safer side , now check the reduced filesystem for errors

[root@cloud ~]# e2fsck -f /dev/mapper/vg_cloud-LogVol00
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg_cloud-LogVol00: 12/648960 files (0.0% non-contiguous), 2438425/2621440 blocks

Step:6 Mount the file system and verify the size.

[root@cloud ~]# mount /home/
[root@cloud ~]# df -h /home/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cloud-LogVol00
9.9G  9.2G  208M  98% /home

2 Responses

  1. Nandkishor says:

    thanks………….i understand how reduce size of lvm

  2. tamer says:

    thanks a lot , very helpful .

Leave a Reply

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