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
thanks………….i understand how reduce size of lvm
thanks a lot , very helpful .
Thanks for the article. Is there no way to reduce Linux file system without unmounting i.e. to avoid downtime ?
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.
Why have to unmount the file system takes place before reduce size of lvm
There are chances that your file system might get corrupted if you don’t umount file system during lvm reduce.
Thank you so much!!!
Hi, good post!
One question, in step 4 it says “WARNING: Reducing active logical volume to 10.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)”. So it means that the data in /home are destroyed while de resize is performed?
In the production environment, it is not recommended to reduce files system as it might lead to file system corruption and data destruction but there are some situation where we need to reduce it.
So in Step:4 we will not loose any data as file system usage is 9.2 GB and we are reducing it from 12 GB to 10 GB and before reduction we are doing files system check with e2fsck command and resizing it with resize2fs command and in last we are reducing the file system.
I am trying to reduce root partition size. It’s showing below error:
“on-line resizing required resize2fs: On-line shrinking not supported”