Extending partitions on Linux VMware virtual machines

Quick tips:
  • To see the details of logical volume group use: vgdisplay
  • To see the details of logical volumes use: lvdisplay
  • To create new volumes, use: lvcreate
  • To resize existing volumes, use: lvresize
  • Use "--help" see quick help for the command: lvresize --help
  • It is easy to add extra space to an existing file system - no downtime required.
  • It is much more difficult to shrink the file system - downtime IS required.
  • Do not attempt to shrink a volume unless you really know what you are doing.

There is some information out there on this, but I found most of it to be hard to understand and didn't really explain what the steps were.  If you're someone who isn't used to working with Linux, I imagine it would be almost impossible to change these settings confidently.  So, here are the steps I followed to extend my Linux partitions.  This only applies to ext3 disks that use the logical volume manager.  If you're running a RedHat, CentOS or other similar Linux distro, this process will work for you.


    1. Shutdown the VM
    2. Right click the VM and select Edit Settings
    3. Select the hard disk you would like to extend
    4. On the right side, make the provisioned size as large as you need it
    5. Click OK
    6. Power on the VM
    7. Connect to the command line of the Linux VM via the console or putty session
    8. Log in as root
    9. The fdisk command provides disk partitioning functions and using it with the -l switch lists information about your disk partitions.  At the command prompt type fdisk -l
    10. The response should say something like Disk /dev/sda : xxGB.
    11. At the command prompt type fdisk /dev/sda. (if dev/sda is what was returned after step 10 as shown in Figure A)
    12. Type p to print the partition table and press Enter
    13. Type n to add a new partition
    14. Type p again to make it a primary partition
    15. Now you'll be prompted to pick the first cylinder which will most likely come at the end of your last partition (ex: /dev/sda3 ends at 2610).  So I chose 2611 for my first cylinder, which is also listed as the default.
    16. If you want it to take up the rest of the space available (as allocated in step 4), just choose the default value for the last cylinder.
    17. Type to save these changes
    18. Restart the VM
    19. Log back in as root
    20. At the command prompt type fdisk -l. You'll notice another partition is present. 
    21. You need to initialize this new partition as a physical volume so you can manipulate it later using the Logical Volume Manager (LVM).
    22. Now you'll add the physical volume to the existing volume group using the vgextend command. First type df -h to find the name of the volume group. the name of the volume group is vg_root. Now type vgextend [volume group] /dev/sdaX. (ex: vgextend vg_root /dev/sda4)
    23. To find the amount of free space available on the physical volume type vgdisplay [volume group] | grep "Free"
    24. Extend the logical volume by the amount of free space shown in the previous step by typing lvextend  -L+[freespace]G /dev/volgroup/volume(ex: lvextend -L+20G /dev/vg_root/lv_root)
    25. You can finally expand the ext3 file system in the logical volume using the command xfs_growfs /dev/volgroup/volume   or  resize2fs /dev/volgroup/volume (ex: resize2fs /dev/vg_root/lv_root).
    26. You can now run the df command to verify that you have more space—df -h
  • linux, tips, lvm, disk size
  • 1 Users Found This Useful
Was this answer helpful?

Related Articles

How to Clear RAM Memory Cache, Buffer and Swap Space on Linux

Like any other operating system, GNU/Linux has implemented memory management efficiently and even...

'rsyslogd' Process High CPU Usage Fix

rsyslog or rsyslogd may sometimes use 100% or more CPU on Debian or Ubuntu VPSes. To resolve...