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