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í

Základním prvkem LVM je skupina blokových zařízení, spojená do jednoho celku. V rámci této skupiny lze tvořit logické celky, které se chovají jako klasická bloková zařízení.

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

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

Bloková zařízení pro LVM skupiny

Příprava blokového zařízení

Aby bylo možné blokové zařízení přidat do LVM skupiny, je třeba aby mělo nastaveno správný identifikátor. To lze zajistit buďto příkazem pvcreate, nebo u diskových oddílů nastavením přes fdisk - a to tak že nastavíme příslušnému diskovému oddílu identifikátor ...

Poznámka Příprava HDD disku /dev/hda, logického oddílu /dev/sda1 a raidového pole /dev/md1 pro integraci do LVM skupin(y):
pvcreate /dev/hda /dev/sda1 /dev/md1

Monitoring blokových zařízení v rámci skupiny

Poznámka
pvdisplay /dev/sda
Poznámka Pokud není uvedeno žádné zařízení, vypíše příkaz informace o všech existujících blokových zařízeních, s identifikátorem pro LVM

Příprava blokového zařízení na vyřazení - přesun dat

Poznámka
pvmove /dev/sda

LVM skupina

Pro vytváření LVM skupin a k práci s nimi, musí být v systému nainstalován balík nástrojů lvm2 a v jádře zaveden modul dm-mod

Seskupení blokových zařízení do skupiny

Takto připravená bloková zařízení se seskupí do skupiny testovaci_skupina v jejímž rámci pak bude možné tvořit logické disky.

Poznámka
vgcreate testovaci_skupina /dev/hda /dev/sda1 /dev/md1

Rozšíření skupiny o další bloková zařízení

Monitoring LVM skupiny

Poznámka
vgdisplay testovaci_skupina
Poznámka Pokud není uvedena skupina, vypíše příkaz informace o všech existujících skupinách

Vyřazení blokového zařízení ze skupiny

Poznámka
vgreduce testovaci_skupina /dev/sda
Upozornění Před vyřazením blokového zařízení ze skupiny z něj musí být odsunuty veškeré extenty viz výše - #Příprava blokového zařízení na vyřazení - přesun dat

Přenesení LVM skupiny do jiného stroje

Přesun celé skupiny

1, odpojit všechny logické disky které patří do skupiny 2, deaktivovat skupinu (vgchange -an <jméno skupiny>) 3, připravit skupinu <jméno skupiny> na export (vgexport <jméno skupiny>)

Disky, resp. celou skupinu lze pak přendat do jiného stroje

Aktivace (import) skupiny

1, po přendání disků do jiného stroje nejprve příkazem pvscan identifikujeme skupinu.. 2, Příkazem vgimport <jméno skupiny> skupinu naimportujeme (na lvm1 musíme uvést i bloková zařízení co do ní patří) 3, Aktivace skupiny (vgchange -ay <jméno skupiny>

Rozdělení LVM skupiny

1, Uvolnit zařízení z <výchozí skupiny>, které bude patřit do <nové skupiny> pvmove /dev/sda /sdb

2, Rozdělit výchozí skupinu vgsplit <výchozí skupina> <nová skupina> <zařízení z původní skupiny, které bude patřit do nové skupiny>

3, Uklidit disky..

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

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..