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