Vyhledávání na webu

LFCS: Jak spravovat a vytvářet LVM pomocí příkazů vgcreate, lvcreate a lvextend - Část 11


Vzhledem ke změnám v požadavcích zkoušky LFCS účinným od února. 2. 2016přidáváme potřebná témata do zde publikované řady LFCS. K přípravě na tuto zkoušku vám důrazně doporučujeme používat také řadu LFCE.

Jedním z nejdůležitějších rozhodnutí při instalaci systému Linux je množství úložného prostoru, který má být přidělen pro systémové soubory, domovské adresáře a další. Pokud v tomto bodě uděláte chybu, může být růst oddílu, na kterém došel prostor, zatěžující a poněkud riskantní.

Správa logických svazků (známá také jako LVM), která se stala výchozím nastavením pro instalaci většiny (pokud ne všech) distribucí Linuxu, má oproti tradiční správě dělení mnoho výhod. Snad nejvýraznějším rysem LVM je to, že umožňuje libovolnou změnu velikosti (zmenšení nebo zvětšení) logických oddílů bez větších potíží.

Struktura LVM se skládá z:

  1. Jeden nebo více celých pevných disků nebo oddílů je nakonfigurováno jako fyzické svazky (PV).
  2. Skupina svazků (VG) se vytvoří pomocí jednoho nebo více fyzických svazků. Skupinu svazků si můžete představit jako jednu úložnou jednotku.
  3. Ve skupině disků pak lze vytvořit více logických svazků. Každý logický svazek je do jisté míry ekvivalentní tradičnímu oddílu – s výhodou, že jeho velikost lze libovolně měnit, jak jsme již zmínili dříve.

V tomto článku použijeme tři disky po 8 GB (/dev/sdb, /dev/sdc a /dev /sdd) k vytvoření tří fyzických svazků. Můžete buď vytvořit PV přímo v horní části zařízení, nebo je nejprve rozdělit.

Přestože jsme se rozhodli použít první metodu, pokud se rozhodnete použít druhou (jak je vysvětleno v části 4 – Vytváření oddílů a souborových systémů v Linuxu této řady), ujistěte se, že každý oddíl nakonfigurujete jako typ 8e.

Vytváření fyzických svazků, skupin svazků a logických svazků

Chcete-li vytvořit fyzické svazky nad /dev/sdb, /dev/sdc a /dev/sdd, postupujte takto:

pvcreate /dev/sdb /dev/sdc /dev/sdd

Nově vytvořené PV můžete vypsat pomocí:

pvs

a získejte podrobné informace o každém PV pomocí:

pvdisplay /dev/sdX

(kde X je b, c nebo d)

Pokud jako parametr vynecháte /dev/sdX, získáte informace o všech PV.

Chcete-li vytvořit skupinu svazků s názvem vg00 pomocí /dev/sdb a /dev/sdc (uložíme /dev/sdd pro pozdější ilustraci možnosti přidání dalších zařízení pro rozšíření kapacity úložiště v případě potřeby):

vgcreate vg00 /dev/sdb /dev/sdc

Stejně jako tomu bylo v případě fyzických svazků, můžete také zobrazit informace o této skupině svazků vydáním:

vgdisplay vg00

Protože vg00 je tvořen dvěma 8 GB disky, bude se zobrazovat jako jeden disk 16 GB:

Pokud jde o vytváření logických svazků, rozložení prostoru musí brát v úvahu současné i budoucí potřeby. Považuje se za dobrou praxi pojmenovat každý logický svazek podle jeho zamýšleného použití.

Vytvořme si například dva LV s názvem vol_projects (10 GB) a vol_backups (zbývající prostor), které můžeme později použít k uložení projektové dokumentace a zálohy systému, resp.

Volba -n se používá k označení názvu LV, zatímco -L nastavuje pevnou velikost a -l (malé L) je používá se k označení procenta zbývajícího prostoru v kontejneru VG.

lvcreate -n vol_projects -L 10G vg00
lvcreate -n vol_backups -l 100%FREE vg00

Stejně jako dříve si můžete zobrazit seznam LV a základní informace pomocí:

lvs

a podrobné informace s

lvdisplay

Chcete-li zobrazit informace o jednom LV, použijte lvdisplay s parametry VG a LV takto:

lvdisplay vg00/vol_projects

Na obrázku výše vidíme, že LV byly vytvořeny jako úložná zařízení (viz řádek LV Path). Než bude možné použít každý logický svazek, musíme nad ním vytvořit souborový systém.

Jako příklad zde použijeme ext4, protože nám umožňuje zvětšit i zmenšit velikost každého LV (na rozdíl od xfs, které umožňuje pouze zvětšit velikost):

mkfs.ext4 /dev/vg00/vol_projects
mkfs.ext4 /dev/vg00/vol_backups

V další části vysvětlíme, jak změnit velikost logických svazků a přidat další fyzický úložný prostor, když to bude potřeba.

Změna velikosti logických svazků a rozšíření skupin svazků

Nyní si představte následující scénář. Začíná vám docházet místo v vol_backups, zatímco v vol_projects máte k dispozici dostatek místa. Vzhledem k povaze LVM můžeme snadno zmenšit velikost LVM (řekněme 2,5 GB) a alokovat je pro první, přičemž velikost každého souborového systému změníme současně.

Naštěstí je to stejně snadné jako:

lvreduce -L -2.5G -r /dev/vg00/vol_projects
lvextend -l +100%FREE -r /dev/vg00/vol_backups

Při změně velikosti logického svazku je důležité zahrnout znaménko mínus (-) nebo plus (+). V opačném případě nastavujete pevnou velikost pro LV namísto změny velikosti.

Může se stát, že se dostanete do bodu, kdy změna velikosti logických svazků již nedokáže vyřešit vaše potřeby úložiště a budete si muset koupit další úložné zařízení. Aby to bylo jednoduché, budete potřebovat další disk. Tuto situaci nasimulujeme přidáním zbývající PV z našeho počátečního nastavení (/dev/sdd).

Chcete-li přidat /dev/sdd do vg00, proveďte

vgextend vg00 /dev/sdd

Pokud spustíte vgdisplay vg00 před a po předchozím příkazu, uvidíte zvětšení velikosti VG:

vgdisplay vg00

Nyní můžete nově přidaný prostor využít k úpravě velikosti stávajících LV dle Vašich potřeb, případně k vytvoření dalších dle potřeby.

Připojování logických svazků při spouštění a na vyžádání

Samozřejmě by nemělo smysl vytvářet logické svazky, pokud je nebudeme skutečně používat! Abychom lépe identifikovali logický svazek, budeme muset zjistit, jaké je jeho UUID (neměnný atribut, který jednoznačně identifikuje naformátované úložné zařízení).

Chcete-li to provést, použijte blkid následovaný cestou ke každému zařízení:

blkid /dev/vg00/vol_projects
blkid /dev/vg00/vol_backups

Vytvořte přípojné body pro každý LV:

mkdir /home/projects
mkdir /home/backups

a vložte odpovídající položky do /etc/fstab (ujistěte se, že používáte dříve získané UUID):

UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects	ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4	defaults 0 0

Poté uložte změny a připojte LV:

mount -a
mount | grep home

Pokud jde o skutečné používání LV, budete muset přiřadit správná oprávnění ugo+rwx, jak je vysvětleno v části 8 – Správa uživatelů a skupin v Linuxu této série.

souhrn

V tomto článku jsme představili Logical Volume Management, všestranný nástroj pro správu úložných zařízení, který poskytuje škálovatelnost. V kombinaci s RAID (který jsme vysvětlili v části 6 – Vytváření a správa RAID v Linuxu této řady) si můžete užívat nejen škálovatelnosti (poskytované LVM), ale také redundanci (nabízené RAID).

V tomto typu nastavení obvykle najdete LVM nad RAID, to znamená, že nejprve nakonfigurujte RAID a poté nad ním nakonfigurujte LVM.

Máte-li dotazy k tomuto článku nebo návrhy na jeho vylepšení, neváhejte nás kontaktovat pomocí níže uvedeného formuláře pro komentáře.