Just a quick ‘howto extend an existing logical volume’ on a Linux box.
You will of course start by adding a new disk to the server. If this can be done online, you will need to run scsiadd -s (or rescan-scsi-bus from the scsitools package) to scan for new devices. Verify that the new disk is seen by the system and write down the device name.
Partition the new disk (/dev/sdc in this example)
fdisk /dev/sdc
> o create a new empty DOS partition table
> n add a new partition
> p make it primary
> 1 first primary partition
> default use pre-selected value
> default use pre-selected value
> t change partition type
> 8e make it a LVM partition
> w write changes to disk
Initialize the filesystem for LVM
pvcreate /dev/sdc1
Extend existing volume group (named debian in this example)
We will add the device we just prepared to our existing volume group. You can use the vgdisplay command to display the volumegroups.
vgextend debian /dev/sdc1
Extend the logical volume (/dev/debian/root in this example) with 20G
Running vgdisplay will display allocated and free space of the volumegroup. We are going to use free space to grow the logical volume. To get a list of logical volumes run lvdisplay
lvextend -L+20G /dev/debian/root
Resize the filesystem
The last thing we need is to resize the filesystem. This will work with ext3/ext4/xfs and some other filesystems. You need to check this. Some support online resize, others must be unmounted. We will resize an ext3 filesystem, which can be done online… yearh!
resize2fs /dev/debian/root