How to reduce LVM partition size in RHEL and 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 on CentOS and RHEL Servers, Below steps are eligible when the LVM partition is formated either as ext

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

[[email protected] ~]# 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 file system

Use the beneath umount command

[[email protected] ~]# umount /home/

Step:2 check the file system for Errors using e2fsck command.

[[email protected] ~]# 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 file system, even if the file system is clean.

Step:3 Reduce or 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.

[[email protected] ~]# 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.

[[email protected] ~]# 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 file system for errors

[[email protected] ~]# 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 its size.

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

7 Responses

  1. Nandkishor says:

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

  2. tamer says:

    thanks a lot , very helpful .

  3. Abhishek says:

    Thanks for the article. Is there no way to reduce Linux file system without unmounting i.e. to avoid downtime ?

  4. During LVM reduction, It is always recommended to umount file system otherwise there can be corruption on the file system, though you try reducing the LVM partition online without umounting.

  5. Guruchandran says:

    Why have to unmount the file system takes place before reduce size of lvm

  6. Alfredo says:

    Thank you so much!!!

Leave a Reply to Pradeep Kumar Cancel reply

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

Pin It on Pinterest