Přeskočit na obsah

Logical Volume Management

Z Wikipedie, otevřené encyklopedie

LVM (anglicky Logical Volume Management) je v Linuxu mnohem flexibilnější metoda alokace úložného prostoru, než tradiční metoda pomocí diskových oddílů. Linuxové jádro pomocí LVM umožňuje spojovat více disků, diskových oddílů, RAID nebo jiných zařízení do logických celků, které lze dále využívat stejně jako klasické oddíly. První verze pochází z roku 1998 od Heinze Mauelshagena a byla založena na LVM z HP-UX.

Princip funkce

Nevýhoda běžných pevných disků je obtížné přerozdělování volného místa po jejich prvotním rozdělení na oddíly. LVM tento problém elegantně řeší přidáním logické vrstvy mezi fyzická média a operační systém. Do logické jednotky lze snadno přidávat (nebo odebírat) fyzické disky a tím měnit jejich velikost nebo vyměňovat použité disky.

Další výhodou je možnost vytvořit snímek (anglicky snapshot) logické jednotky. Snímek umožňuje zachytit stav jednotky v čase a dále s ním pracovat (například zálohovat), zatímco se svazkem programy dále pracují (zapisují, vytvářejí a mažou soubory a podobně).

LVM podporuje i zrcadlení svazků (tedy něco jako RAID 1).

Základní stavební jednotky se kterými LVM pracuje

  • Physical volume (fyzický svazek) - oddíl na fyzickém disku (např. /dev/hda1), popřípadě celý fyzický disk (např. /dev/hda).
  • Volume group (skupina svazků) - sdružuje jednotlivé fyzické svazky do jednoho celku, nad kterým se definují logické svazky.
  • Logical volume (logický svazek) - je definován uvnitř skupiny svazků a ve výsledku se operačnímu systému jeví jako fyzický disk.

Příklad vytvoření LVM svazku ze tří fyzických disků

nejdříve zavedeme modul „dm-mod“

modprobe dm-mod

poté převedeme fyzické disky na svazky se kterými umí LVM pracovat:

pvcreate /dev/hda /dev/hdb /dev/hdc

seskupíme je do skupiny svazků:

vgcreate test_vg /dev/hda /dev/hdb /dev/hdc

nyní vytvoříme logický svazek jehož velikost bude součtem velikostí všech tří disků, řekněme že byly použity 100GB disky, vytvoříme tedy 300GB svazek:

lvcreate -L 300000 -n test_lv test_vg

ve vzniklém logickém svazku můžeme vytvořit souborový systém a připojit ho k přípojnému bodu:

mkreiserfs /dev/test_vg/test_lv nebo mkfs.ext3 /dev/test_vg/test_lv

mount /dev/test_vg/test_lv /mnt/data

Pracujeme s LVM

Zmenšíme logický svazek o 50GB

lvreduce -L -50G /dev/test_vg/test_lv

resize2fs /dev/test_vg/test_lv

Zvětšíme logický svazek o 50GB

lvextend -L +50G /dev/test_vg/test_lv

resize2fs /dev/test_vg/test_lv

Užitečné příkazy

vgdisplay
lvscan
lvrename
vgs

Externí odkazy

Šablona:Pahýl - software