Resizing CentOS partition using parted

I am using CentOS 6.x. I would like to resize the LVM partiion, but I am little confused when I use parted to see the partition information. I have a few questions. Please look at the partition information below.

$ parted
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all

Model: VMware Virtual disk (scsi)
Disk /dev/sda: 65.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  325MB   324MB   primary  ext4         boot
 2      325MB   10.7GB  10.4GB  primary               lvm


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/VolGroup-lv_swap: 1215MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number  Start  End     Size    File system     Flags
 1      0.00B  1215MB  1215MB  linux-swap(v1)


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/VolGroup-lv_root: 10.9GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number  Start  End     Size    File system  Flags
 1      0.00B  10.9GB  10.9GB  ext4

Here's the parted print free information

print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 65.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
        32.3kB  1049kB  1016kB           Free Space
 1      1049kB  325MB   324MB   primary  ext4         boot
 2      325MB   10.7GB  10.4GB  primary               lvm
        10.7GB  65.9GB  55.2GB           Free Space

I have a few questions

  1. What are the other two drives Linux device-mapper (linear) (dm)?
  2. I would like to resize partition number 2 on VMware Virtual disk (scsi). Would this be possible using parted resize NUMBER START END? or should I use resize2fs
  3. If I am using parted resize NUMBER START END in my case I would be resizing number 2 partition. I am confused about what would the appropriate START and END be in case I want to use the entire free space?
  4. Would the following parted resize 2 325MB 65.9GB be correct?
  5. Would the resizing affect the current data on the parition?

1 - the 2 other devices are the LVM logical volumes.

/dev/mapper/VolGroup-lv_root being your root partition
/dev/mapper/VolGroup-lv_swap being your swap

That's the "devices" that are used by your system as "hard drives", the system doesn't use the drive directly but uses these layers instead, so it makes it easier to add more disks and so on after.

2 - I guess by resize you mean increase the size of your root partition. But before you can actually resize the filesystem itself you have to make it aware that the underlying "disk" has grown, because it sees, not your disk, but the LVM Logical Volume /dev/mapper/VolGroup-lv_root. So you have to make this thing bigger and then extend the filesystem so it fits to the new size.

In order to do this you have a few steps to follow.

  • backup your data, all the steps can be done live, but working with partitions is never a 100% safe work.
  • create a LVM partition on your free space of type LVM

    mkpart primary ext2 10.7GB 65.9GB → create a partition

    set 3 lvm on → sets it as a LVM typed one

    Note: If mkpart complains about not being able to re-read the device's partition table and tells you to reboot, you need to do so (or use partprobe) before continuing with the next step.

  • add this partition as a new LVM Physical Volume

    pvcreate /dev/sda3

  • get the name of your LVM Volume Group

    vgdisplay

  • add this new LVM Physical Volume to your already existing LVM Volume Group

    vgextend thevgnameyoufound /dev/sda3

  • now check there is some free space in your Volume Group with vgdisplay you should see a line like Free PE / Size 5129 / 20.04 GiB, not exactly like this, but similar with 55GB of free space or so.
  • extend now your LVM Logical Volume to this free space (there are a lot of options here to grow to just 10 GB more, or to 25% of free space, etc, but I assume you want all the free space).

    lvextend /dev/mapper/VolGroup-lv_root -l +100%FREE

  • extend your current partition to its full size with resize2fs.

    resize2fs /dev/mapper/VolGroup-lv_root

  • check the new size of your root partition