Reduce or shrink the size of non root LVM mount.
In a system with limited disk size, you might run out of disk space in one LVM mount while having plenty of space in another mount. If both LVMs are in the same volume group (VGs), you can easily take away some of the free space from one LVM and add it to the one with low disk space. Both lvreduce and lvresize commands can be used to shrink the LVM. In this example, we will use lvresize.
Note – the steps below have to be done with care, there is a potential for losing data. If the data in the existing partition is critical, make sure you take a backup.
Shrink LVM by example – we will reduce the LVM for /usr/local file system mount from 2.0G to approximately 1.5G.
1. Unmount partition after confirming no file is in use from the partition.
root:homevm:~:# df -Pvh /usr/local /dev/mapper/vg00-lvol04 2.0G 68M 1.9G 4% /usr/local root:homevm:~:# lsof /dev/mapper/vg00-lvol04 root:homevm:~:# umount /usr/local/
2. Do a file system consistency check –
root:homevm:~:# e2fsck -f /dev/mapper/vg00-lvol04 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/vg00-lvol04: 46/131072 files (0.0% non-contiguous), 25423/524288 blocks
3. Reduce the file system first, so that the logical volume is always at least as large as the file system expects it to be.
root:homevm:~:# resize2fs /dev/mapper/vg00-lvol04 1400M resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/mapper/vg00-lvol04 to 358400 (4k) blocks. The filesystem on /dev/mapper/vg00-lvol04 is now 358400 blocks long. root:homevm:~:# mount /usr/local/ root:homevm:~:# lvresize -L 1500M /dev/mapper/vg00-lvol04 Rounding size to boundary between physical extents: 1.47 GiB WARNING: Reducing active and open logical volume to 1.47 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvol04? [y/n]: y Reducing logical volume lvol04 to 1.47 GiB Logical volume lvol04 successfully resized root:homevm:~:# resize2fs /dev/mapper/vg00-lvol04 resize2fs /dev/mapper/vg00-lvol04 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/mapper/vg00-lvol04 is mounted on /usr/local; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/mapper/vg00-lvol04 to 385024 (4k) blocks. The filesystem on /dev/mapper/vg00-lvol04 is now 385024 blocks long. root:homevm:~:# df -Pvh /usr/local /dev/mapper/vg00-lvol04 1.5G 68M 1.4G 5% /usr/local