It would of course be a good idea to back things up before you do this. But sometimes we don't have that option, do we?
I'll suppose our existing volume group is "vgroup", and our existing logical volume is "vvolume".
All of this of course needs to be done as root.
A little hint first: You can (and probably should) give the "-t" (test) option to each LVM command first, to make sure it's going to do what you want. Then I hit up arow (history) and delete the "-t" option, so I make sure I'm running that same command.
- Add the new disk to the machine, and format whatever space we want on it (all of it, if we wish) as type 8e (Linux LVM). I'll assume this is now /dev/sde1.
- Create a physical volume:
# pvcreate /dev/sde1 - Add the physical volume to the volume group:
# vgextend vgroup /dev/sde1 - Check your work:
# vgdisplay vgroup
You should now see something like:VG Name vgroup
Note the free space we now have.
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 3.68 TiB
PE Size 4.00 MiB
Total PE 1192327
Alloc PE / Size 476931 / 1.82 TiB
Free PE / Size 476931 / 1.82 TiB
VG UUID JitzBk-zFH0-vhzm-XhYk-V5Xi-Nt7d-87K9En - Extend the logical volume:
# lvresize -l 100%VG /dev/vgroup/vvolume
The "-l 100%VG" says to resize to use all of the space in the volume group assigned to this logical volume. The argument can be given many ways. See "man lvcreate". - Check our work:
# lvdisplay - Now we are ready to resize the filesystem:
# e2fsck -f /dev/vgroup/vvolume
It made me do that first.
# resize2fs /dev/vgroup/vvolume
The LVM HowTo covers all of this.