Current volume group name is “vg_home” and the logical volume name is “lv_home” we are going to increase the size of “lv_home” from addition disk “/dev/sdb” which is 100GB
Check current VG name
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_home 1 3 0 wz–n- 79.51g 0
Check available logical volumes
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_home vg_m4 -wi-ao—- 25.57g
lv_root vg_m4 -wi-ao—- 50.00g
lv_swap vg_m4 -wi-ao—- 3.94g
Check addition added (free space) disk name (/dev/sdb)
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 100G 0 disk ———–> new disk with 100GB space
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 79.5G 0 part
├─vg_home-lv_root (dm-0) 253:0 0 50G 0 lvm /
├─vg_home-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
└─vg_home-lv_home (dm-2) 253:2 0 25.6G 0 lvm /home
Create partition on new disk /dev/sdb
#fdisk -c /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4) p
Partition number (1-4):
Value out of range.
Partition number (1-4): 1
First cylinder (1-13054, default 1): (ENTER)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): (ENTER)
Using default value 13054
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf8587692
Device Boot Start End Blocks Id System
/dev/sdb1 1 13054 104855231 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Check newly created partition “/dev/sdb1”
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 79.5G 0 part
├─vg_home-lv_root (dm-0) 253:0 0 50G 0 lvm /
├─vg_home-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
└─vg_home-lv_home (dm-2) 253:2 0 25.6G 0 lvm /home
Create Physical volume on new disk (/dev/sdb1)
# pvcreate /dev/sdb
Physical volume “/dev/sdb1” successfully created
Display available physical volumes
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_home lvm2 a–u 79.51g 0
/dev/sdb1 lvm2 —- 100.00g 100.00g ————–> newly added physical volume
Extend the existing volume group with the new partition “/dev/sdb1”
# vgextend vg_home /dev/sdb1
Volume group “vg_home” successfully extended
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_home 2 3 0 wz–n- 179.50g 100.00g —————> 100GB free space available now
Extend lv_home of all the free space of new disk
#lvextend -l +100%FREE /dev/vg_home/lv_home
Size of logical volume vg_home/lv_home changed from 25.57 GiB (6546 extents) to 125.57 GiB (32145 extents).
Logical volume lv_home successfully resized.
Resize the logical volume to update changes
# resize2fs /dev/vg_home/lv_home
Filesystem at /dev/vg_home/lv_home is mounted on /home; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 8
Performing an on-line resize of /dev/vg_home/lv_home to 32916480 (4k) blocks.
The filesystem on /dev/vg_home/lv_home is now 32916480 blocks long.
Check disk usage and you could see the 100GB added into /home partition.
#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_home-lv_root 50G 18G 30G 38% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 477M 124M 328M 28% /boot
/dev/mapper/vg_home-lv_home 124G 24G 94G 20% /home
/usr/tmpDSK 2.0G 38M 1.9G 2% /tmp