Домой

LVM как увеличить размер диска под Ubuntu 20.04


Теория: 

LVM  logical volume manager

Физические диски - PV (несколько разных HDD, SSD) объединяются в группу дисков - VG, а в группе дисков создаются Логичесике диски - LV

 

Состоит из:
PV – Physical Vollume  // физические диски
sudo pvscan //смотрим информацию о физических дисках
VG – Volume Group  //  физичесие диски объединяются в группу дисков
sudo vgs //смотрим информацию о группах дисков
LV – Logical Volume  // в группе дисков создяется логичекий диск или несколько
sudo lvs //смотрим информацию о логических дисках созданных в группе дисков

PE – PE - Physical Extention - это блок в пространстве PV фиксированного размера. По умолчанию PE равен 4 Мб, но можно задавать и другие размеры. Таким образом PV состоит из определенного количества PE. Если провести аналогию, то PE в LVM - это как сектор на жестком диске. Только сектор всегда равен 512 байт и изменить его невозможно.
LE – Logical Extension. LE - это блоки из которых состоит LV. Размер PE всегда равен LE. То есть если PE равен 4 Мбайта, то и LE равен 4 Мбайта. Существует возможность указать соответствие PE и LE.

 

В VirtualBox была создана Ubuntu 20.04 которой не хватило дискового пространства. Потребовалось изменить размер диска. В менеджере виртуальных носителей увеличил размер диска с 15 до 160Гб но в гостевой машине он остался прежним 15 Гб.

 

// смотрим информацию об имеющихся дисках раздела и тд, наша система находится на sda

lsblk

sda 8:0 0 160G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 15G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 15G 0 lvm / 

 

//Расширяем раздел

cfdisk /dev/sda

/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 335544286 333443039 15G Linux filesystem

выбираем 3 раздел -- resize -- write -- yes (не Enter не y, а именно yes!!!)

//Смотрим изменилась ли ситуация:

pvdisplay 

File descriptor 4 (pipe:[31813]) leaked on pvdisplay invocation. Parent PID 1724: bash
File descriptor 5 (pipe:[31813]) leaked on pvdisplay invocation. Parent PID 1724: bash
File descriptor 9 (pipe:[31816]) leaked on pvdisplay invocation. Parent PID 1724: bash
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <15,00 GiB / not usable 16,50 KiB   <<<<<  Размер все еще прежний
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 40703
Free PE 0
Allocated PE 40703

//Как видим размер раздела все еще 15Гб, LVM еще на знает о изменении размера поэтому запускаем команду изменения размера:

pvresize /dev/sda3 

-- Physical volume \"/dev/sda3\" changed 

--  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

pvdisplay //показывает что размер физического раздела увеличился или pvscan (покажет то же самое)

File descriptor 4 (pipe:[31813]) leaked on pvdisplay invocation. Parent PID 1724: bash
File descriptor 5 (pipe:[31813]) leaked on pvdisplay invocation. Parent PID 1724: bash
File descriptor 9 (pipe:[31816]) leaked on pvdisplay invocation. Parent PID 1724: bash
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <159,00 GiB / not usable 16,50 KiB<<<<<  Размер изменился
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 40703
Free PE 0
Allocated PE 40703

Смотрим на размер VG

vgdisplay // он тоже увеличился.

--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <159,00 GiB  <<<<<  Актуальный размер

Далее смотрим

lvdisplay

--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID MOVgby-fuph-ZkHg-ZiI0-MpiF-scIb-CWoB0j
LV Write Access read/write
LV Creation host, time ubuntu-server, 2022-04-12 19:06:00 +0000
LV Status available
# open 1
LV Size <15,00 GiB   <<<<<  Логический диск все еще прежний
Current LE 40703
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

//Как видим LV по прежнему не изменился, выполняем команду:

lvextend /dev/ubuntu-vg/ubuntu-lv /dev/sda3

-- Size of logical volume ubuntu-vg/ubuntu-lv changed from <15,00 GiB (2303 extents) to 159 GiB (5330 extents).

--  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

Но  df -h по прежнему показывает неизмененный размер, тогда делаем:

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

Готово!

Команда df -h показывает что размер раздела увеличился!!!

 

Filesystem Size Used Avail Use% Mounted on
udev 948M 0 948M 0% /dev
tmpfs 199M 1,1M 198M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 157G 63G 88G 42% /    <<<<<  Логический диск нужного нам размера
tmpfs 992M 0 992M 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 992M 0 992M 0% /sys/fs/cgroup
/dev/loop0 62M 62M 0 100% /snap/core20/1405
/dev/loop2 56M 56M 0 100% /snap/core18/2344
/dev/loop3 62M 62M 0 100% /snap/core20/1494
/dev/loop1 56M 56M 0 100% /snap/core18/2409
/dev/loop4 45M 45M 0 100% /snap/snapd/15534
/dev/loop5 45M 45M 0 100% /snap/snapd/15904
/dev/sda2 976M 108M 801M 12% /boot
/dev/loop6 71M 71M 0 100% /snap/lxd/21029
/dev/loop7 68M 68M 0 100% /snap/lxd/22753
tmpfs 199M 0 199M 0% /run/user/1000