Logical volumes can be reduced in size as well as increased. However, it is very important to remember to reduce the size of the file system or whatever is residing in the volume before shrinking the volume itself, otherwise you risk losing data.
If you are using LVM 1 with ext2 as the file system then you can use the e2fsadm command mentioned earlier to take care of both the file system and volume resizing as follows:
# umount /home # e2fsadm -L-1G /dev/myvg/homevol # mount /home
|LVM 2 Caveat|
There is currently no e2fsadm equivalent for LVM 2 and the e2fsadm that ships with LVM 1 does not work with LVM 2.
If you prefer to do this manually you must know the new size of the volume in blocks and use the following commands:
# umount /home # resize2fs /dev/myvg/homevol 524288 # lvreduce -L-1G /dev/myvg/homevol # mount /home
Reiserfs seems to prefer to be unmounted when shrinking
# umount /home # resize_reiserfs -s-1G /dev/myvg/homevol # lvreduce -L-1G /dev/myvg/homevol # mount -treiserfs /dev/myvg/homevol /home
There is no way to shrink XFS file systems.
There is no way to shrink JFS file systems.