Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In a nutshell, i have a VM that ran out of space. I increased the size of the VM's harddrive to be 4 times bigger but the OS partition is still only using 1x the space. I need to change the LVM partition to take up the extra 4x space but I don't know how to extend the LVM partition.

(NOTE: To make the screenshots given below I had to boot from a live-cd for gnome-partition-manager (aka gparted). Very unfortunately gparted is only able to "detect LVM" and can't do any LVM operations.)

Here is what "gparted" shows. Please notice that the "resize" option is not available:

enter image description here


The Problem:

I can't find good directions<1> on how to grow the LVM partition via GUI or command-line! How do you grow a LVM partition that was created by the default Fedora install?

If you are giving command line directions. Please explain what each line of commands does.

share|improve this question
1  
Anyone who does a default fedora install has this partition setup, I'm surprised no one else has run into this problem... fedora has such a large install base of users. –  Trevor Boyd Smith Sep 14 '11 at 14:15
    
Update: I marked one of the answers as correct. I was unable to verify that the answer marked as correct worked on my VM... the process was to complex for me to get working. –  Trevor Boyd Smith Jan 8 '13 at 20:57
    
Update: I ended up backing up data. Creating a new VM from scratch and restoring the data. –  Trevor Boyd Smith Jan 8 '13 at 20:57
add comment

2 Answers

up vote 8 down vote accepted

I thought I used to do this with system-config-lvm GUI tool in CentOS, but it's not working for me today. So I had to go old school. As always, this might destroy your data, so MAKE A BACKUP!! Thanks to experts across the internet for providing these hints. Unfortunately my notes do not include attribution details. Note I performed all of these changes while the system was live.

  1. Enlarge the disk using fdisk
    1. fdisk -l (to see the partition layout, typically we're dealing with /dev/sda2)
    2. fdisk /dev/sda
    3. d (delete a partition)
    4. 2 (if the part we want to grow is /dev/sda2; note this does not delete any data on disk)
    5. n (create a new partition)
    6. p (primary partition)
    7. 2
    8. <return> (default starting block, typically 14 since swap is first)
    9. <return> (default ending block, full size of the partition)
    10. make sure partition type is 8e for Linux LVM
      1. t
      2. 8e
    11. w (write changes to disk)
  2. reboot to get new partition table
  3. pvresize /dev/sda2
  4. pvscan should show new larger size
  5. lvextend -l +100%FREE /dev/vg_centos6/lv_root (-L +10G to add 10GB is another option)
  6. resize2fs /dev/vg_centos6/lv_root
  7. df should show new free space
share|improve this answer
    
Marked as accepted answer because it has the most votes. –  Trevor Boyd Smith Jan 8 '13 at 20:55
    
perfect , when we want resize root partition , we just need boot with boot.iso (for example mirrors.eu.kernel.org/fedora/releases/18/Fedora/x86_64/os/…) -> troubleshoot -> rescue (after choose 3rd option not mount) -> shell and do yours instructions :) –  Sérgio May 21 '13 at 22:03
    
I love you! I've spent hours trying to do just this! –  Rob Forrest Jan 7 at 15:26
add comment

The command lvextend can help you. For instance,

lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3

tries to extend the size of that logical volume by 54MB on physical volume /dev/sdk3. This is only possible if /dev/sdk3 is a member of volume group vg01 and there are enough free physical extents in it.

share|improve this answer
    
i would love to get a little bit more... i'm guessing that calling this command by itself without any input arguments would probably not fix the problem. –  Trevor Boyd Smith Sep 14 '11 at 14:21
    
how do you know to use "/dev/vg01/lvol10". where did you get that from? –  Trevor Boyd Smith Sep 14 '11 at 14:57
    
why did you put "/dev/sdk3"? –  Trevor Boyd Smith Sep 14 '11 at 14:57
    
Sorry, i was busy. The /dev/sdk3 is the physical volume of your machine. For instance, for you, it might /dev/sda2. The /dev/vg01/lvol10 –  Dimitri Sep 14 '11 at 15:59
    
Hi, sorry I was busy. This command is for example purpose only. It depends how do you install lvm in your system. The /dev/vg01/lvol01 is the logical volume 01 on the volume group 01. The /dev/sdk3 is the partition where the volume group is installed. In your case, the physical partition is /dev/sda2. So you must find what the volume group associated with this partition. bobcares.com/blog/?p=137 –  Dimitri Sep 14 '11 at 16:18
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.