I've had to reduce the logical volume that was alloted for mysql data from 8GB to 4GB, which was a breeze with e2fsadm available for lvm1 on RHEL-3 .
Stop the running serivces using the volume:
# service httpd stop
# service mysqld stop
e2fsadm will reduce the filesystem and then the logical volume.
# umount /mnt/lv-mysql
# e2fsadm -L -4G /dev/hdb2-vg00/lv-mysql
# mount /mnt/lv-mysql
Check with df, which should now show the new volume size:
$ df -h /mnt/lv-mysql
Filesystem Size Used Avail Use% Mounted on
/dev/hdb2-vg00/lv-mysql 4.0G 531M 3.3G 14% /mnt/lv-mysql
Start the running serivces using the volume:
# service httpd start
# service mysqld start
Note: e2fsadm is not available in lvm2 and will need to reduce in two steps:
1. Reduce the filesystem residing on the logical volume.
2. Reduce the logical volume.
# resize2fs /dev/vg0/lv0 4G
# lvreduce -L -4G /dev/vg0/lv0