Linux: Logical Volume Management
13. července 2022Linuxový OS je mocný nástroj. Můžete za běhu spravovat diskové oddílý, dokonce je zvětšovat, přidávat a přesouvat mezi fyzickými disky. A to vše za běhu a bez výpadku. K tomuto všemu a dalšímu slouží technologie Logical Volume Management. Co LVM umí a jak tuto technologii používat popíši v tomto článku.
V předchozím článku jsem popsal jak na Linuxový softwarový RAID. LVM umí taky RAID navíc umí spoustu dalších věcí a je vhodný na servery, kde se mohou měnit požadavky na úložný prostor a bude tedy potřeba dělat změny disků za běhu systému bez výpadku služby.
S LVM se například setkáte pokud používáte proxmox. A spousty automatických instalátorů by default použijí LVM pro správu disků. Může se vám tak hodit LVM aspoň znát, aby jste se pak nedivily až na tuto technologii narazíte.
Co je LVM
Vlastnosti
- změna (zvětšení) velikosti blokového zařízení (disku) za běhu
- přesun blokového zařízení na jiný fyzický disk
- RAID1
- spojení více disků do jednoho (ekvivalent RAID0)
- vytváření blokových zařízení pro virtuální stoje (VPS)
- snapshoty
- atd
Nevýhody?
S možnostmi přichází složitosti a tak je náročnější LVM pochopit a vyznat se v něm. Stejně tak to platí s LVM, proto je potřeba si tuto technologii nastudovat a vyzkoušet.
S LVM je více práce a v případě, že neplánujete velké změny oddílů a nákupy disků, je zbytečné. Kde vyvstává možnost potřeby zvětšení diskového úložiště s minimálním výpadkem, je LVM ideální řešení a to společně s filesystémem, který se dá rozšiřovat za běhu.
Instalace
V linuxové distribuci Debian následujícím příkazem nainstaluje podporu technologie LVM:
apt install lvm2
LVM použití
Několik základních příkazů:
pvs
zobrazení Physical Volumesvgs
zobrazení Volume Groupslvs
zobrazení Logical Volumes
Vytvoření LVM
Na disku nebo lépe diskovém oddíle můžete LVM vytvořit následovně:
- Vytvoření Physical Volumes:
pvcreate /dev/sdc1
- Vytvoření Volume Groups:
vgcreate home_vg /dev/sdc1
- Vytvoření Logical Volumes:
lvcreate -l 100%FREE -n home home_vg
Zformátování blokového zařízení a úprava parametrů filesystému:
mkfs.ext4 -L server-backup /dev/mapper/home_vg-home tune2fs -c 0 -i 0 /dev/mapper/home_vg-home
Změny LVM
Po zvětšení dicku ve VPS je potřeba zvětšit LVM PV (physical volumes), tak že využijete veškerou volnou kapacitu:
pvresize /dev/sda3Vytvoření LVM physical volumes na novém disku a přidání do LVM VG (volume group)
pvcreate /dev/sde1 vgextend home_vg /dev/sde1Zvětšení LVM LV (logical volume):
lvextend /dev/home_vg/home /dev/sde1 #OR: lvextend -l +100%FREE /dev/home_vg/homeRozšíření filesystému EXT přes celý oddíl:
resize2fs /dev/home_vg/homeNásledující příkaz zvetší logical volume /dev/myvg/homevol na 12GB
lvextend -L12G /dev/myvg/homevolNásledující příkaz přidá 1GB k existující velikosti logical volume /dev/myvg/homevol.
lvextend -L+1G /dev/myvg/homevol
Zvětšení filesystému XFS:
xfs_growfs /
Zvětšení oddílu č 1 na disku xvda, aby využil prázdné místo. Typicky pokud ve VMWare nebo Proxmoxu zvětšíte disk, který VPS používá. (Nesouvisí přímo s LVM) Potřebujete zvětšit daný oddíl a následně souborový systém EXT také rozšířit.
growpart /dev/xvda 1 resize2fs /dev/xvda1Program
growpart
je v součástí balíku cloud-utils
.
Pokud vám program growpart
hlásí tuto chybu:
unexpected output in sfdisk --version [sfdisk z util-linux 2.36.1]Můžete to být i tím, že nepoužíváte v systému anglický jazyk, a tak daný příkaz nerozumí programu
sfdisk
, který používá.
Řešením je nastavit si promennou prostředí na angličtinu následujícím příkazem:
export LANG=en_US.UTF-8
Smazání metadat o LVM na daném oddíle, taktéž smaže informace o RAIDu nebo jinou signaturu toho jak je diskový oddíl použitý.
wipefs -a /dev/sdb3
Video návod
Podrobnou a názornou ukázku jak používat LVM najdete v tomto
video návod jako začít používat LVM:
Více o LVM
Debian.org LVMLVM
LVM howto
Články na podobné téma
VMware vs Proxmox: porovnání výkonu
GitLab CI/CD: automatizace testů a nasazení aplikace
Migrace VPS z VMware na Proxmox
Změna licencování VMware
Provoz Microsoft SQL serveru na Linuxu
Zálohování: Proxmox backup server
Linux jako router a firewall
Jak náhrát docker image do Docker Registry
Linuxový softwarový RAID
Provoz webové aplikace za proxy
Migrace mail schránek
Docker multistage build
Zálohování dat zapnutím počítače
Podman
Import Windows do virtualizace Proxmox
Docker a PHP mail
Virtualizace Proxmox
Docker a Cron
Lenovo ThinkPad X1 Carbon: zprovoznění LTE modemu EM7544
Yocto Project: Build vlastního operačního sytému pro embedded zařízení
Příprava linuxového serveru pro běh webové aplikace v jazyce Python
Jak řešit špatný výkon sdílených souborů u Dockeru
Jak začít správně používat Docker
Instalace Linuxu na dedikovaný server HPE ProLiant DL320e
Jak provést zátěžový test webové aplikace
Proč používat filesystém JFS
Jak bootovat z 4TB disku s GTP pomocí UEFI
Jak nainstalovat operační systém Mageia Linux bez DVD mechaniky
Souborový systém Btrfs
Raspberry PI
Jak zprovoznit vzdálené přehrávání přes síť na televizi s DLNA
Upgrade Mandriva Linuxu za běhu
Poznámky ke GNU/Linux
WINE - spouštíme programy pro Windous pod Linuxem
Operační systém GNU/Linux
Odběr novinek
Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k
odběru novinek.
+