This is the process I've used to extend a LVM VMware disk. I try to setup each mount point as it's own disk so it is easier to expand on demand.
For example, you want to expand /bk from 500MB to 750MB.
Find out which volume group the mount point is on:
[root@machine ~]# df -h /bk Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_bkup-lv_bk 457M 2.3M 431M 1% /bk
The volume group is vg_bkup and the logical volume is lv_bk
Determine the disk:
[root@machine ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb vg_root lvm2 a-- 33.97g 0 /dev/sdc vg_temp lvm2 a-- 6.97g 0 /dev/sdd vg_prog lvm2 a-- 9.97g 0 /dev/sde vg_data lvm2 a-- 4.00g 0 /dev/sdf vg_bkup lvm2 a-- 480.00m 0
vg_bkup is on /dev/sdf
Determine the SCSI ID:
[root@machine ~]# ll /dev/disk/by-path/ total 0 lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:00:07.1-scsi-1:0:0:0 -> ../../sr0 lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:0:0 -> ../../sda lrwxrwxrwx 1 root root 10 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:0:0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:1:0 -> ../../sdb lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:2:0 -> ../../sdc lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:3:0 -> ../../sdd lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:4:0 -> ../../sde lrwxrwxrwx 1 root root 9 Jul 9 15:46 pci-0000:03:00.0-scsi-0:0:5:0 -> ../../sdf
You can look back from sdf and see that the the ID is 0:0:5:0. The important part is the two middle numbers - 0:5
Open vSphere Console and edit the settings for the machine. By checking the Hard disks and looking under the Virtual Device Node, you should find the disk that matches those SCSI numbers - in this case, it is hard disk 6. Update the drive size to add the required space and click OK.
Get Linux to rescan the drive (note the device in the middle):
echo '1' > /sys/block/sdf/device/rescan
Then expand the physical volume:
[root@machine ~]# pvresize /dev/sdf Physical volume "/dev/sdf" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
Then look at the volume:
[root@machine ~]# vgdisplay vg_bkup --- Volume group --- VG Name vg_bkup System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 736.00 MiB PE Size 32.00 MiB Total PE 23 Alloc PE / Size 15 / 480.00 MiB Free PE / Size 8 / 256.00 MiB VG UUID Z2l4Rd-kBJr-JaZd-uP5H-Rcg9-XfFM-CxW0Pm
You can see by the free PE / size that the volume now has potentially free space.
Add the space the the logical volume. I spec this use the physical extents number as it is the most accurate:
[root@machine ~]# lvextend -l +8 /dev/vg_bkup/lv_bk Size of logical volume vg_bkup/lv_bk changed from 480.00 MiB (15 extents) to 736.00 MiB (23 extents). Logical volume lv_bk successfully resized
And then extend the filesystem
[root@machine ~]# resize2fs /dev/vg_bkup/lv_bk resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg_bkup/lv_bk is mounted on /bk; on-line resizing required old desc_blocks = 2, new_desc_blocks = 3 Performing an on-line resize of /dev/vg_bkup/lv_bk to 753664 (1k) blocks. The filesystem on /dev/vg_bkup/lv_bk is now 753664 blocks long.
And check the results:
[root@machine ~]# df -h /bk Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_bkup-lv_bk 705M 2.6M 666M 1% /bk