I have created an instance of ubuntu VM in VirtualBox. At the beginning I have only allocated 7GB for the storage and the VM has now run out of space.
First I added another 8GB (/dev/sdb) to the VM via VirtualBox frontend. I then set up the following partitions:
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 8589 MB, 8589934592 bytes
40 heads, 1 sectors/track, 419430 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x076b5690
Device Boot Start End Blocks Id System
/dev/sdb1 2048 16777215 8387584 5 Extended
/dev/sdb5 4096 16777215 8386560 8e Linux LVM
Then I ran the following commands to expand the VG.
sudo pvcreate /dev/sdb5
sudo vgextend ubuntudevbox2 /dev/sdb5
sudo lvextend 100% /dev/ubuntudevbox2/root
lvextend --help
sudo lvextend -l 100%FREE /dev/ubuntudevbox2/root
sudo lvextend -r -l 100%FREE /dev/ubuntudevbox2/root
sudo resize2fs /dev/mapper/ubuntudevbox2-root
I would have expected the size of / to expand to 16Gb. However df reports that
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntudevbox2-root 8.0G 6.9G 680M 92% /
the root mount has only increased to 8G
Here is the VG information
$ sudo vgdisplay ubuntudevbox2
[sudo] password for antkong:
--- Volume group ---
VG Name ubuntudevbox2
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 15.75 GiB
PE Size 4.00 MiB
Total PE 4033
Alloc PE / Size 2182 / 8.52 GiB
Free PE / Size 1851 / 7.23 GiB
VG UUID ZV6VAi-qkxC-KnKz-1LHg-nfLB-afSI-mVpIPv
Why I did not get the full 8Gb additional space?
Additional information 1: I have run mkfs -t ext5 /dev/sdb5
right after using fdisk to add new partition. Can it cause the failure?
Additional information 2:
$ uname -a
Linux ubuntudevbox2 3.5.0-27-generic #46-Ubuntu SMP Mon Mar 25 19:58:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
lvdisplay output:
$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/ubuntudevbox2/root
LV Name root
VG Name ubuntudevbox2
LV UUID V1Qq0f-qKJR-UTf5-4tjM-ycoY-1J5L-mJQ2Fy
LV Write Access read/write
LV Creation host, time ubuntudevbox2, 2013-03-29 12:18:26 +1100
LV Status available
# open 1
LV Size 8.03 GiB
Current LE 2055
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/ubuntudevbox2/swap_1
LV Name swap_1
VG Name ubuntudevbox2
LV UUID LbvPFE-j3GO-oaF1-HQV3-a2r5-HTfy-YrhQve
LV Write Access read/write
LV Creation host, time ubuntudevbox2, 2013-03-29 12:18:29 +1100
LV Status available
# open 2
LV Size 508.00 MiB
Current LE 127
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
Output is absolute in the line
Since you only had 8G of free extents after you vgextended you only get a lv representing that absolute size of 8G.
You must inform LVM you intend to make an additional space size. From the manpage of
lvextend
;Try
As you can see from your
vgdisplay
output only about a half of space is allocated:I suspect you need to specify parameters for
lvextend
more explicitly.