- 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.
-
- Shutdown the VM
- Right click the VM and select Edit Settings
- Select the hard disk you would like to extend
- On the right side, make the provisioned size as large as you need it
- Click OK
- Power on the VM
- Connect to the command line of the Linux VM via the console or putty session
- Log in as root
- 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
- The response should say something like Disk /dev/sda : xxGB.
- At the command prompt type fdisk /dev/sda. (if dev/sda is what was returned after step 10 as shown in Figure A)
- Type p to print the partition table and press Enter
- Type n to add a new partition
- Type p again to make it a primary partition
- 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.
- 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.
- Type w to save these changes
- Restart the VM
- Log back in as root
- At the command prompt type fdisk -l. You'll notice another partition is present.
- You need to initialize this new partition as a physical volume so you can manipulate it later using the Logical Volume Manager (LVM).
- 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)
- To find the amount of free space available on the physical volume type vgdisplay [volume group] | grep "Free"
- 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)
- 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).
- You can now run the df command to verify that you have more space—df -h