Теория:
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