Current config:
#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
50G 47G 554M 99% /
tmpfs 1.9G 76K 1.9G 1% /dev/shm
/dev/sda1 477M 40M 412M 9% /boot
/dev/mapper/vg_HOST-lv_home
5.5G 12M 5.2G 1% /home
I have added 10 GB and want to extend the root drive
1. Rescan to find the new space (this will be different for different systems – first find out what SCSI devices you have) – in my case:
[root@HOST ~]# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
[root@HOST ~]# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
2. Use cfdisk to create new partition from the newly added space – type 8e
3. Run partprobe to detect the new partition (in my case it was /dev/sda3)
# partprobe -s
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.
#fdisk -l
Disk /dev/sda: 75.2 GB, 75161927680 bytes
255 heads, 63 sectors/track, 9137 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: 0x00024dad
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 7833 62401536 8e Linux LVM
/dev/sda3 7833 9138 10485760 8e Linux LVM
# vgextend vg_HOST /dev/sda3
Device /dev/sda3 not found (or ignored by filtering).
Unable to add physical volume '/dev/sda3' to volume group 'vg_HOST'.
4. because Partprobe failed I am unable to use vgextend and I don’t want to reboot that system – solution is to use partx command
# partx -l /dev/sda
# 1: 2048- 1026047 ( 1024000 sectors, 524 MB)
# 2: 1026048-125829119 (124803072 sectors, 63899 MB)
# 3: 125829120-146800639 ( 20971520 sectors, 10737 MB)
# 4: 0- -1 ( 0 sectors, 0 MB)
# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
5. Extend volume group
# vgextend vg_HOST /dev/sda3
Physical volume "/dev/sda3" successfully created
Volume group "vg_HOST" successfully extended
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
50G 47G 555M 99% /
tmpfs 1.9G 80K 1.9G 1% /dev/shm
/dev/sda1 477M 40M 412M 9% /boot
/dev/mapper/vg_HOST-lv_home
5.5G 12M 5.2G 1% /home
6. Extend Logical volume
NOTE: to avoid errors – always use size that is bit smaller then the size we want – so instead 10G I use 9950M – googole it if you want to know why
# lvextend -L+9950M /dev/mapper/vg_HOST-lv_root
Rounding size to boundary between physical extents: 9.72 GiB.
Size of logical volume vg_HOST/lv_root changed from 50.00 GiB (12800 extents) to 59.72 GiB (15288 extents).
Logical volume lv_root successfully resized.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
50G 47G 555M 99% /
tmpfs 1.9G 80K 1.9G 1% /dev/shm
/dev/sda1 477M 40M 412M 9% /boot
/dev/mapper/vg_HOST-lv_home
5.5G 12M 5.2G 1% /home
7. Resize the disk
# resize2fs /dev/mapper/vg_HOST-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_HOST-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 4
Performing an on-line resize of /dev/mapper/vg_HOST-lv_root to 15654912 (4k) blocks.
The filesystem on /dev/mapper/vg_HOST-lv_root is now 15654912 blocks long.
[root@HOST ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
59G 47G 9.7G 83% /
tmpfs 1.9G 80K 1.9G 1% /dev/shm
/dev/sda1 477M 40M 412M 9% /boot
/dev/mapper/vg_HOST-lv_home
5.5G 12M 5.2G 1% /home