Přeskočit na obsah

Logical Volume Management

Z Wikipedie, otevřené encyklopedie

LVM je implementace správce logických disků pro Linuxové jádro. První verze pochází z roku 1998 od Heinze Mauelshagena a byla založena na LVM z HP-UX.

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.

Další výhodou je možnost vytvořit snapshot logické jednotky, tedy uložit jak vypadala v jednu dobu a pokračovat v zápisu na ní s možností se vrátit k původnímu stavu.

Teoreticky by LVM mohlo také podporovat zrcadlení (tedy něco jako RAID 1), ale zatím příslušná možnost není dopsána.

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 -50000 /dev/test_vg/test_lv

Zvetšime logický svazek o 50GB

lvextend -l +50000 /dev/test_vg/test_lv

Užitečné příkazy

vgdisplay
lvscan
lvrename
vgs

Externí odkazy

LVM-HOWTO (anglicky) RAID+LVM (česky) Šablona:Linuxový pahýl