Я создал экземпляр виртуальной машины ubuntu в VirtualBox. Вначале я выделил только 7 ГБ для хранилища, а теперь на виртуальной машине не хватает места.
Сначала я добавил еще 8 ГБ (/ dev / sdb) к виртуальной машине через интерфейс VirtualBox. Затем я установил следующие разделы:
$ 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
Затем я выполнил следующие команды, чтобы развернуть 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
Я ожидал, что размер / увеличится до 16 ГБ. Однако df сообщает, что
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntudevbox2-root 8.0G 6.9G 680M 92% /
корневое крепление увеличилось только до 8G
Вот информация о VG
$ 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
Почему я не получил все дополнительные 8 ГБ?
Дополнительная информация 1: Я бегал mkfs -t ext5 /dev/sdb5
сразу после использования fdisk для добавления нового раздела. Может ли это вызвать сбой?
Дополнительная информация 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:
$ 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
Вывод в строке абсолютный
sudo lvextend -l 100%FREE /dev/ubuntudevbox2/root
Так как у вас было только 8 ГБ свободных экстентов после vgextended, вы получите только lv, представляющий этот абсолютный размер 8 ГБ.
Вы должны сообщить LVM, что собираетесь дополнительный размер пространства. На странице руководства lvextend
;
-l, --extents [+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}]
Extend or set the logical volume size in units of logical
extents. With the '+' sign the value is added to the actual
size of the logical volume and without it, the value is taken as
an absolute one.
Пытаться
sudo lvextend -l +100%FREE /dev/ubuntudevbox2/root
Как видно из вашего vgdisplay
output выделяется только около половины места:
Alloc PE / Size 2182 / 8.52 GiB
Free PE / Size 1851 / 7.23 GiB
Я подозреваю, что вам нужно указать параметры для lvextend
более подробно.