V minulých článcích jsme řešili rozšíření qcow2 image, dneska si ukážeme, jak to probíhá uvnitř Linux VM na LVM. Z následujícího výpisu příkazu lsblk vidíme, že disk má 280GB, celkem má Volumegroup k dispozici 198GB a 188GB má alokovaný konkrétní logical volume. (takže je tam vidět rezerva 10GB)
vda 252:0 0 280G 0 disk
├─vda1 252:1 0 1M 0 part
├─vda2 252:2 0 2G 0 part /boot
└─vda3 252:3 0 198G 0 part
└─ubuntu–vg-ubuntu–lv 253:0 0 188G 0 lvm /
Rozšíříme pomocí growpart:
growpart /dev/vda 3
CHANGED: partition=3 start=4198400 old: size=415231967 end=419430367 new: size=583004127 end=587202527
po rozšíření:
vda 252:0 0 280G 0 disk
├─vda1 252:1 0 1M 0 part
├─vda2 252:2 0 2G 0 part /boot
└─vda3 252:3 0 278G 0 part
└─ubuntu–vg-ubuntu–lv 253:0 0 188G 0 lvm /
vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu-vg 1 1 0 wz–n- <278.00g 90.00g
Naše logical volume má stále 188GB:
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ubuntu-lv ubuntu-vg -wi-ao—- <188.00g
K rozšíření Logical Volume o 50GB použijeme příkaz:
lvextend -L +50G /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from <188.00 GiB (48127 extents) to <238.00 GiB (60927 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
Kdybyste chtěli rozšířit např. na 100% volné kapacity, tak zavoláte stejný příkaz, takto:
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
Po opětovném výpisu lvs vidíme:
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ubuntu-lv ubuntu-vg -wi-ao—- <238.00g
Jenže dokud nezozšíříme souborový systém v našem případě ext4, stále uvidíme 185 GB:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/ubuntu–vg-ubuntu–lv ext4 185G 138G 40G 78% /
Rozšiřujeme ext4
V případě ext4 zavoláme tento příkaz:
resize2fs /dev/ubuntu-vg/ubuntu-lv
Výstup příkazu:
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 24, new_desc_blocks = 30
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 62389248 (4k) blocks long.
df -Th nám vypíše:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/ubuntu–vg-ubuntu–lv ext4 234G 138G 87G 62% /
Rozšiřujeme xfs
Protože nemám na linuxu, na kterém jsem příkazy zadával k dispozici souborový systém xfs, který bývá často spíše doménou redhatích systémů, fedor, tak sem uvedu aspoň tento příkaz bez výstupu:
xfs_growfs /
nebo:
xfs_growfs -d /dev/vg-group-name/lv-name tedy v mém případě: xfs_growfs -d dev/ubuntu-vg/ubuntu-lv
Shrnutí v kostce
growpart /dev/vda 3
pvresize /dev/vda3
lvextend -L +50G /dev/ubuntu-vg/ubuntu-lv
resize2fs /dev/ubuntu-vg/ubuntu-lv
zdroj1, zdroj2, zdroj3, zdroj4 , zdroj5