18

I recently resized the hard drive of a VM from 150 GB to 500 GB in VMWare ESXi. After doing this, I used Gparted to effectively resize the partition of this image. Now all I have to do is to resize the file system, since it still shows the old value (as you can see from the output of df -h):

Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/owncloud--vg-root  157G   37G  112G  25% /
udev                           488M  4.0K  488M   1% /dev
tmpfs                          100M  240K  100M   1% /run
none                           5.0M     0  5.0M   0% /run/lock
none                           497M     0  497M   0% /run/shm
/dev/sda1                      236M   32M  192M  14% /boot

However, running sudo resize2fs /dev/mapper/owncloud--vg-root returns this:

resize2fs 1.42 (29-Nov-2011)
The filesystem is already 41608192 blocks long.  Nothing to do!

Since Gparted says that my partition is /dev/sda5, I also tried running sudo resize2fs /dev/sda5, but in this case I got this:

resize2fs 1.42 (29-Nov-2011)
resize2fs: Device or resource busy while trying to open /dev/sda5
Couldn't find valid filesystem superblock.

Finally, this is the output of pvs:

PV         VG          Fmt  Attr PSize   PFree
/dev/sda5  owncloud-vg lvm2 a-   499.76g 340.04g

fdisk -l /dev/sda shows the correct amount of space.

How can I resize the partition so that I can finally make the OS see 500 GB of hard drive?

  • pvs should show where your vg is located. Where is that? – Nils Jun 19 '14 at 19:37
  • @Nils added to the question :) – user1301428 Jun 19 '14 at 21:06
  • Joel gave the right answer. Your question contains now the complete picture of your - quite common - problem. – Nils Jun 20 '14 at 21:07
16

If you only changed the partition size, you're not ready to resize the logical volume yet. Once the partition is the new size, you need to do a pvresize on the PV so the volume group sees the new space. After that you can use lvextend to expand the logical volume into the volume group's new space. You can pass -r to the lvextend command so that it automatically kicks off the resize2fs for you.

Personally, I would have just made a new partition and used vgextend on it since I've had mixed results with pvresize.

  • I have run pvresize followed by lvextend -r -L 500G /dev/sda2, and this is what I get: Path required for Logical Volume "sda2" Please provide a volume group name Run 'lvextend --help' for more information. – user1301428 Jun 19 '14 at 21:20
  • 4
    Once you do the pvresize you're done dealing with regular partitions. You need to specify the path of the logical volume which in this case is /dev/mapper/owncloud--vg-root Personally I'd run lvextend -r -l +100%FREE /dev/mapper/owncloud--vg-root – Bratchley Jun 19 '14 at 21:23
  • After you run the pvresize command, you can verify the space is in the volume group by running the vgs command. – Bratchley Jun 19 '14 at 21:24
  • Also, you didn't mention it in your question but does fdisk -l /dev/sda show the correct hard drive size? If not you may have to reboot or rescan the SCSI bus. – Bratchley Jun 19 '14 at 21:26
  • That worked, thanks! For some reason it did not autocomplete /dev/mapper/owncloud--vg-root and so I kept trying /sda5 XD – user1301428 Jun 20 '14 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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