LVM

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

LVM (Logical Volume Management) je pružnější metodou správy diskového prostoru než RAID. Nevýhodou fyzických blokových zařízení (např. pevných disků) je obtížné přerozdělování volného místa po jejich prvotním rozdělení na diskové oddíly. LVM tento problém elegantně řeší přidáním logické vrstvy mezi fyzická média a operační systém. Tato logická vrstva umožňuje libovolně (pokud použitá zařízení podporují hotswap, tak i za chodu) přidávat (nebo odebírat) jiná bloková zařízení a tím podle potřeby měnit jak diskovou kapacitu tak řešit výměnu blokových zařízení, aniž by bylo nutné stroj restartovat. První verze LVM se v linuxovém jádře objevila roku 1998 (autorem byl Heinz Mauelshagen) a byla založena na LVM z HP-UX.

V čem je LVM výhodnější než RAID?

  • Umožňuje sloučit do jednoho zařízení ( Volume Groups ) bloková zařízení bez ohledu na jejich velikost a typ. Tj. jak fyzické disky, tak virtuální disky připojené přes loop, nebo přes síťová bloková zařízení.
  • Diskovou kapacitu logických blokových zařízení lze za běhu nejenom zvětšovat, ale také zmenšovat.
  • Logická bloková zařízení lze za běhu přesouvat mezi blokovými zařízeními, takže lze v případě potřeby blokové zařízení ze skupiny odebrat za běhu, bez toho, že by došlo ke ztrátě dat.
  • LVM podporuje snapshot blokových zařízení


Obsah manuálu

(Vpravo je uveden aktuální stav zpracování kapitoly)

LVM (bloková zařízení)
 
100%
LVM (skupina)
 
100%
LVM (logické disky)
 
100%
Praktické příklady práce s LVM   
 
00%
Tisková verze
Diskuze k tomuto materiálu

Logické disky v rámci LVM skupiny

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

Monitoring logických disků

Ke zjišťování informací o stavu logických disků v rámci LVM skupin je určen příkaz lvdisplay. Ten, pokud nemá jako paramater uveden žádný konkrétní logický disk vypíše informace o veškerých dostupných logických discích, přítomných v systému.

Poznámka
spike:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/storage/data
  VG Name                storage
  LV UUID                37A7V2-rycW-eGyk-jfIQ-fzMr-hH0C-Wl4H1E
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                2,33 TiB
  Current LE             611544
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Name                /dev/storage/vidle
  VG Name                storage
  LV UUID                MUzG2Z-n0kS-2yB2-9csa-Bxh4-HqCW-EH0SqG
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                9,77 GiB
  Current LE             2500
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

Z výše uvedeného výpisu lze vyčíst, že..

  • v systému jsou dva logické disky
  • oba logické disky jsou součástí jedné skupiny s názvem storage
  • logický disk s názvem data:
    • je v systému vytvořen jako blokové zařízení dm-0 (viz u posledního parametru - Block Device - číslo za dvojtečkou)
    • má velikost 2,33 TiB
    • je rozdělen do tří segmentů
    • a není připojen ( viz parametr # open)
  • logický disk s názvem vidle:
    • je v systému vytvořen jako blokové zařízení dm-1
    • má velikost 9,77 GiB
    • tvoří jeden segment
    • rovněž není připojen

Zrušení logického disku

Změní se pořadí disků, jak to ošetřit? Nepoužívat přímo zařízení, ale symlink v /dev/mapper

Úprava velikosti logických disků

Velikost těchto logických celků lze za chodu měnit a pokud to podporuje souborový systém, který na nich je (zvládá to kupř. ReiserFS, souborové systémy EXT, nebo XFS), i měnit za chodu jejich velikost.

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

resize2fs /dev/test_vg/test_lv (EXT2/3)

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

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

resize2fs /dev/test_vg/test_lv (EXT2/3)

Přesuny logických disků v rámci skupiny fyzických zařízení

Snapshoty

LVM také umožňuje dělat za chodu snapshoty - tj. zakonzervovat stav diskového oddílu v určitý moment, a pak jej za chodu někam odzálohovat, přesto že se svazkem programy dále pracují (zapisují, vytvářejí a mažou soubory a podobně).

Přesun LVM skupiny na jiný stroj

V případě že potřebujeme přehodit disky na jiný stroj..