Přeskočit na obsah

Linux/RAID a LVM

Z Wikiknih

Pokud je vámi instalovaný stroj určen k nenáročnému nasazení jako běžná pracovní stanice:

  • je použití RAIDu zbytečné
  • nasazení LVM diskutabilní

Zcela jinak je však tomu, pokud:

  • mají být na stroji uložená data na kterých vám záleží
  • chcete zajistit vysokou úroveň dostupnosti ( v případě serverových řešení )

Není to tak dávno, co patřily pevné disky mezi nejdražší položky počítače a tak se používaly tyto technologie téměř výhradně na serverech. V současné době ( jaro 2009 ) je však poměr ceny a kapacity pevných disků natolik příznivý, že si je může dovolit na svém stroji kdokoliv.

Co je to RAID?

[editovat | editovat zdroj]

RAID (Redundant Array of Independent Discs) je zkrácené označení pro pole fyzicky nezávislých disků, které se navenek tváří jako disk jediný.

RAID může být buď :

hardwarový
v takovém případě se o vlastní rozdělování dat mezi jednotlivé pevné disky stará fyzické zařízení (řadič) ve kterém je od výrobce natažený speciální firmware. Operační systém pak vidí takové diskové pole jako jedno fyzické zařízení

nebo

softwarový
fyzické pevné disky jsou sestaveny do RAIDového pole softwarově, a o rozdělování dat mezi ně se stará ovladač, který je součástí operačního systému.

Výhody a nevýhody hardwarového RAIDu

[editovat | editovat zdroj]

Jednou z výhod hardwarových RAIDů je jejich blbuvzdornost. Většinou podporují tzv. hotswap (tj. že zařízení lze vyjmout či přidat, aniž by bylo nutné stroj restartovat), takže v případě, že jeden z disků odejde do věčných lovišť, stačí místo něj zasunout nový.

Další z výhod je, že nainstalovaný systém vidí diskové pole vždy jako jedno fyzické zařízení, bez ohledu na operační systém. Nevýhodou však je závislost na uzavřeném firmware. Pokud obsahuje nějaký bug, nezbývá se než modlit aby pro něj měl výrobce opravu či řešení.

Hardwarové RAIDy jsou zatím stále ještě poměrně drahá zařízení, proto levnější základové desky pro PC umožňují vytvořit RAIDové pole jen s menším počtem disků. Některé se dokonce prodávají s RAIDovými pseudořadiči, které ve skutečnosti vůbec hardwarový RAID neumí. Bohužel nezkušený uživatel se tuto skutečnost zpravidla dozví až v okamžiku, kdy mu začne vrtat hlavou proč mu instalovaný Linux vidí místo jednoho zařízení stále jednotlivé disky.

Některé hardwarové RAIDy omezují uživatele také tím, že vyžadují identickou velikost a rovněž typ náhradního disku. Nelze tedy kupř. vytvořit RAIDové pole kombinací SATA a IDE zařízení (což softwarový RAID umožňuje). Dříve to vcelku nebyl až takový problém, protože vývoj pevných disků nebyl tak překotný jako dnes. Jenže kdo vám dnes zaručí, že za dva roky seženete disk s identickou kapacitou? A pokud ano, tak většinou za drahý peníz.

Výhody a nevýhody softwarového RAIDu

[editovat | editovat zdroj]

Linuxový softwarový RAID je obecně považován za spolehlivější řešení než RAID hardwarový. Je to dáno i tím, že dává mnohem větší svobodu jak při tvorbě jednotlivých RAIDových zařízení a také tím, že v případě problémů je u něj větší pravděpodobnost záchrany dat přes jiný linuxový stroj.

Typy RAIDu

[editovat | editovat zdroj]

V případě RAIDových polí se hovoří zpravidla o třech typech RAIDu:

Je pouhým prokládáním dat mezi disky. Z hlediska bezpečnosti dat je absolutně nevhodný, protože data nejsou uložena redundantně. Alternativně prokládání dat umí LVM.

Jednotlivé disky provádí mirroring, neboli zrcadlení. Což znamená, že se na všechny disky ukládají stejná data. V případě výpadku jednoho z disků jsou data nadále dostupná a pokud hardwarové zařízení podporuje hotswap lze provést výměnu za chodu aniž by bylo nutné systém zastavit.

Navíc v případě, že máme pro RAID 1 použito více disků, lze použít pro obnovu systému libovolný z nich.

Pro RAID 5 je nutné použít minimálně 4 disky. Na rozdíl od RAID 1 by měl být rychlejší přístup k datům, protože při čtení využívá paralelního přístupu k jednotlivým diskům. Naopak zápis dat je pomalejší. Oproti RAID 1 je také vyšší pravděpodobnost ztráty dat, pokud vypadnou dva z disků.

I RAID 10 vyžaduje nejméně 4 disky. Je to v podstatě RAID 0 (tedy sloučená disková kapacita) dvou polí typu RAID 1. Oproti RAID 5 snižuje pravděpodobnost ztráty dat v případě, že dojde k poruše dvou fyzických disků. Ovšem pokud vypadnou zrovna dva fyzické disky co spolu tvoří pole typu RAID 1, tak dojde ke ztrátě dat.

Podrobnější vysvětlení jednotlivých typů RAIDu můžete nalézt u hesla RAID na wikipedii.

Vytvoření RAIDového pole

[editovat | editovat zdroj]

Práce s RAIDem

[editovat | editovat zdroj]

Jak připojit disk se softwarovým RAIDem na jiném stroji

[editovat | editovat zdroj]

Softwarová správa diskového prostoru - LVM

[editovat | editovat zdroj]

LVM (Logical Volume Management) je mnohem pružnější metodou správy diskového prostoru než raid. V kombinaci s raid1 ale dává vysokou šanci na uchování dat v případě hardwarového kolapsu.

Pomocí LVM lze totiž spojovat více fyzických zařízení - disků, diskových oddílů, RAID nebo jiných úložných zařízení do logických celků, které pak lze dále využívat stejně jako klasické diskové oddíly.

První verze LVM pochází z roku 1998 od Heinze Mauelshagena a byla založena na LVM z HP-UX.

Rozdíl mezi RAID a LVM

[editovat | editovat zdroj]

Na rozdíl od RAIDu umožňuje LVM spojovat do diskových svazků (Volume Groups) zařízení nejrůznějšího typu. Externí disky, lokální disky, virtuální disky na síťových souborových systémech připojené přes loop. Jednotlivé diskové svazky lze rovněž spojovat do RAIDu, a navíc přitom využívat možností o kterých se RAID zařízením ani nezdá.

Za tuto flexibilitu však platíte výkonem, proto je třeba vždy pečlivě zvážit jakým způsobem tyto technologie správně nasadit.

Co umí LVM

[editovat | editovat zdroj]

Nevýhodou běžných 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. Do vytvořené logické jednotky lze snadno libovolně (pokud použitá zařízení podporují hotswap, tak i za chodu) přidávat (nebo odebírat) fyzická zařízení a tím měnit její velikost případně nahrazovat starší disky za nové, atp., aniž by bylo nutné stroj restartovat.

V rámci této logické jednotky lze pak vytvářet logické diskové oddíly a pokud to podporuje souborový systém, který na nich použijete (zvládá to kupř. ReiserFS, nebo XFS), i měnit za chodu jejich velikost.

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

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

[editovat | editovat zdroj]
  • 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ů

[editovat | editovat zdroj]

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

Práce s LVM svazky

[editovat | editovat zdroj]

Zmenšení souborového systému na svazku a následné zmenšení logického svazku o 50 GB

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

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

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

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

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

Jak připojit LVM svazek na jiném stroji

[editovat | editovat zdroj]