Friday, October 2, 2009

Technical Stuffs !!!

Adding a physical disk to LVM in Redhat/CentOS

Posted here for googlers and for my own future reference. Documentation pulled together from
about 4 different sites. Could possibly be sub-titled: “Holy crap, the disk in my VMware
installation is too small – it’s split up into 2GB files and using vmware to resize it seems like
voodoo”

Problem:
My computer only has 20GB of disk space. I just have 1 partition. I want to add another disk
(40GB). I don’t want to add another partition (and I really don’t want to reinstall the whole
system), I want to increase the size of the root partition to 60GB. i.e. I want the root partition
to span across two physical disks.

Solution:

1. Add new physical disk. Boot.

2.# pvscan
This will show you the current physical volumes.

3.# fdisk /dev/sdb
Add the disk to your machine as a primary partition. Partition type: “8e (LVM)”. Obviously
/dev/sdb may be different on your system.

4.# pvcreate /dev/sdb1
This creates a new physical LVM volume on our new disk.

5.# vgextend VolGroup00 /dev/sdb1
Add our new physical volume to the volume group: VolGroup00. Again, this group name
may by different for you, but this is what Redhat & CentOS assigns by default when you install your system.

6# pvscan
You should see the new physical volume assigned to VolGroup00.

7# lvextend -L+40G /dev/VolGroup00/LogVol00
This increases the size of the logical volume our root partition resides in. Change the -L
flag as appropriate.

We’ve just added 40GB to the logical volume used by the root partition. Sweet as. Now we
need to resize the file system to utilize the additional space.

8. Reboot into rescue mode using your CentOS CDROM.
From memory this involves typing linux rescue as your boot option.

9. When prompted, skip the mounting of system partitions.

10. # lvm vgchange -a y
This command makes your LVM volumes accessible.

11. # e2fsck -f /dev/VolGroup00/LogVol00
Run a file system check, the -f flag seems necessary. No idea what we do if the returns an error?

12. # resize2fs /dev/VolGroup00/LogVol00
Without any parameters resize2fs will just increase the file system to the max space available.

Reboot and your root partition is now 40GB lager, spanning multiple disks. Yay.

No comments: