How to reduce LVM partition size in RHEL and OEL
If observe a particular file system is not used fully and a lot of free space is available then we can make some free space in the volume group by reducing the LVM using lvreduce command.
Example: To reduce /oracle mount by 2GB which is on LVM partition & formated as ext4
[root@funebs122 ~]# df -h /oracle/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_funebs122-lvol1
12G 9.2G 1.9G 84% /oracle
Steps:
1. Umount the file system
[root@funebs122 ~]# umount -v /oracle/
2. Check the file system for Errors using e2fsck command
[root@funebs122 ~]# e2fsck -f /dev/mapper/vg_funebs122-lvol1
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_funebs122-lvol1: 12/70640 files (0.0% non-contiguous), 446686/308428 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.
3. Reduce or Shrink the size of /oracle to the desire size.
In my case size of /oracle is 12 GB , so by reducing it by 2GB , then the size will become 10GB.
[root@funebs122 ~]# resize2fs /dev/mapper/vg_funebs122-lvol1 10G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_funebs122-lvol1 to 2621440 (4k) blocks.
The filesystem on /dev/mapper/vg_funebs122-lvol1 is now 2621440 blocks long.
4. Reduce the size using lvreduce command
[root@funebs122 ~]# lvreduce -L 10G /dev/mapper/vg_funebs122-lvol1
WARNING: Reducing active logical volume to 10.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvol1? [y/n]: y
Reducing logical volume lvol1 to 10.00 GiB
Logical volume lvol1 successfully resized
5. Now check the reduced file system for errors (Optional)
[root@funebs122 ~]# e2fsck -f /dev/mapper/vg_funebs122-lvol1
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_funebs122-lvol1: 12/70640 files (0.0% non-contiguous), 446686/308428 blocks
6. Mount the file system and verify its size.
[root@funebs122 ~]# mount /oracle/
[root@funebs122 ~]# df -h /oracle/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_funebs122-lvol1
9.9G 9.2G 208M 98% /oracle
Note for XFS file system:
While the XFS file systems can be grown while mounted, their size cannot be reduced.
Workarounds may be done:
Use some backup/restore solution, such as xfsdump and xfsrestore. This may be useful especially if the filesystem is mostly empty.
Use the xfs_quota command to implement project (directory tree) quotas. Project quotas implement space limitations for all files within a directory subtree, similar to behavior under a new filesystem mount point.
Post a Comment
Post a Comment