Hlavní navigace

O (nejen) softwarových diskových polích: typy RAIDů

Michal Kára 1. 12. 2003

První díl nového krátkého seriálu o diskových polích. Dnes si popíšeme nejpoužívanější typy RAIDů a podíváme se na hardwarová pole.

Disková pole se používají již drahnou řádku let. Ze začátku potřebovala nákladný hardware, ale od té doby, co je softwarový RAID součástí linuxového kernelu, si může RAID pole postavit každý, třeba z levných IDE disků. Tento seriál článků vám popíše, jak na to. Důležitou kapitolou bude i návod, jak nakonfigurovat Linux, aby z takovéhoto pole přímo bootoval.

Celý text je rozdělen do třech dílů. První bude obecný úvod do RAID problematiky. Pak bude následovat díl o softwarových raidech v Linuxu a v posledním dílu bude uveden praktický příklad vytvoření softwarového RAID pole.

Něco o RAIDech

Za ledovou horou a černými lesy (pozn. red.: stojí domek bez IP adresy –Johanka) žil byl jeden administrátor. Měl na svém počítači spoustu věcí. Ale ouha. Jednou se jeho disk odpotácel do věčných lovišť. A s ním i mnoho z jeho dat. Některá měl zálohovaná, ale jiná ne. A tak když počítač opravoval, rozhodl se, že si koupí disky dva a bude je zrcadlit. Tedy že na obou dvou bude stále totéž. Když jeden odejde, bude tu ještě druhý. Takže disky nakonfiguroval do RAID 1 pole a šťastně spolu žili až do smrti :-)

Nu, ale dost pohádek a zpátky do praxe. Nejprve si lehce rozebereme terminologii, která se v oblasti diskových polí používá, a podíváme se i na to, jak to v principu funguje. (Zde uvedený výklad je pro názornost silně zjednodušený a z toho důvodu i nepřesný, zvláště u RAIDu 0 a 5. Pokud vás typy RAIDů zajímají detailně, doporučuji například tento přehled.)

Administrátor v naší pohádce nakonfiguroval RAID 1 (nebo přesněji RAID level/úrovně 1) – to je zrcadlení (mirroring) disků. V něm se všechny disky v RAIDu zrcadlí – obsahují stejná data.

Obecně je možno nakonfigurovat jakýkoli RAID s jakýmkoli počtem disků větším než jedna. Pokud bychom nakonfigurovali RAID 1 se třemi disky, měly by všechny tři stejná data a my bychom o ně nepřišli, ani kdyby selhaly dva z těch tří disků. V praxi ale stačí většinou dva a v dalším textu počítám s tím, že RAID 1 pole má dva disky. RAID 1 se většinou používá pro zabezpečení dat proti výpadku disku.

Další možností je udělat RAID 0, kterému se říká také stripping (český ekvivalent neznám). Při něm se disky „spojí“ do jednoho prostoru. Celková kapacita je potom rovna součtu kapacity disků – jako kdybychom je seřadili za sebe. Z výkonových důvodů ale nejsou disky „za sebou“, nýbrž jsou „proložené“ – například u RAID 0 pole ze dvou disků se liché bloky budou ukládat na první disk a sudé na druhý, takže při čtení lineárního bloku dat budou využity oba disky a čtení bude rychlejší.

Tento druh RAIDu se používá pro sestavení prostoru s velkou kapacitou (můžeme mít i několikatera­bajtový „disk“) a pro zvýšení výkonu (paralelní čtení a zápisy).

Dále je hodně používaný RAID level 5. Ten má smysl sestavovat od tří disků výše. Kombinuje výhody RAID 0 – velký diskový prostor a RAID 1 – záloha dat. Zkusím zjednodušeně vysvětlit funkci: Na n-1 discích jsou uložena data a na posledním disku XOR (parita) těchto dat. Takže pokud jeden disk vypadne, je možno data stále dopočítat. Buď se ztratí parita, nebo je možno XORem zbylých dat získat data ztracená.

Něco pro pokročilejší: Existují i další úrovně RAIDu, ty se však v praxi příliš nepoužívají, proto jsem od nich upustil. Také se občas používají kombinace RAIDů – RAID nikoli nad disky, ale nad RAID poli. Například mirroring stripovaných polí. Ten se označuje RAID 1+0 (nebo také RAID 10).

Rekonstrukce pole

Pro administrátora je důležité vědět, co se děje, když nějaký disk pole vypadne. U RAID 0 je to jednoduché – pole zhavaruje. U RAID 1 a RAID 5 pole přechází do tzv. degradovaného módu. U RAID 5 se data dopočítávají, u RAID 1 se berou pouze z jednoho disku. Pokud v tomto stavu odejde další disk, data na poli budou ztracena, je tedy nutné havarovaný disk co nejdříve vyměnit! U SW polí v obyčejných počítačích je kvůli tomu nutné počítač vypnout. HW pole (většinou) a lepší počítače umožňují  „hot-swap“ – výměnu disku za běhu.

U SW polí ale nastává problém, neboť je nutné kernelu říci, aby vzal nový disk na vědomí. U SCSI se to dá zařídit buď přes /proc/scsi/scsi, nebo můžete zkusit tento skript. U IDE nevím, zda to vůbec jde. Stejně tak mám dojem, že kernel má s pádem IDE disku problémy – snaží se s ním komunikovat a ono to nejde, takže procesy pracující s diskem zatuhnou v D stavu a počítač je zralý na reboot.

Po přidání nového disku (většinou se ještě musí přidat i explicitně do pole) se spustí rekonstrukce pole. Po jejím dokončení je pole opět plně funkční a odolné proti výpadku.

Protože po dobu, než se přidá a zrekonstruuje nový disk, je pole zranitelné, je snaha tuto dobu maximálně zkrátit. Jedním z řešení je pole, které obsahuje další disk, tzv. hot-spare (horkou zálohu). Pokud některý disk z pole odejde, začne se pole ihned rekonstruovat s využitím tohoto disku bez nutnosti lidského zásahu. Vadný disk se pak může vyměnit v podstatně menším časovém tlaku.

Hardwarová RAID pole

I když to není hlavním cílem tohoto seriálu, přeci jenom jsem se rozhodl zmínit se i o alternativě k softwarovým polím – polích vytvářených hardwarově. Takové pole vypadá jako „krabice“, do které se vkládají disky. Dlouhou dobu byla disková pole záležitostí čistě SCSI, ale v poslední době je možno sehnat i pole pro IDE nebo SATA disky. Pole se k počítači může připojovat přes SCSI rozhraní (většinou IDE pole), pak se navenek tváří jako obyčejný SCSI disk. SCSI pole se většinou připojují přes speciální kartu, která se zasune do počítače a musí pro ni být v kernelu ovladač.

Nevýhodou hardwarových polí bývá cena. Jen samotná „krabice“ vyjde na 120 až 150 tisíc. Proto se hodí spíše pro náročnější použití. Výhodou je možnost vytvořit pole z mnoha disků (klidně i šestnácti), které by se do počítače obtížně skládaly.

V poslední době se vynořily i základní desky (nebo karty – bez „krabice“) s „RAID řadičem“. Pozitivem těchto desek bývají čtyři IDE kanály. Nicméně o kvalitách vestavěného HW řadiče mám své pochybnosti, často umí jen RAID 0 a 1, RAID 5 nikoli. Podle mého názoru je lepší v takovém případě použít SW raid, minimálně odpadnou problémy s ovladači těchto polí. Nicméně pokud máte s těmito poli někdo zkušenosti, ozvěte se :-)

A jen pro úplnost chci zmínit, že je dále možno sehnat pole, která se připojují jako síťový disk. To je většinou linuxový počítač se SW polem a spuštěnou Sambou :-)

To by bylo o RAIDech obecně všechno. Příště se budeme detailněji zabývat prací se softwarovými RAIDy v prostředí Linuxu.

Našli jste v článku chybu?

15. 1. 2006 1:38

Josef Karliak (neregistrovaný)
odeber zarizeni ze spravce zarizeni, z hdd odpoj napajeci kabel, odpoj datovej kabel..
Kdyz pripojujes, tak pripoj datovej kabel, pripoj napajeni a dej vyhledat zmeny hardwaru :o).
Stydim se, je to !prasarna!, na vlastni nebezpeci, ale IDE prezilo bez problemu :o)

2. 3. 2004 12:57

Hari prasad (neregistrovaný)

Už jsem psal jinde. Raid 5 se pro databáze nehodí, pro datové sklady s výraznou převahou čtení nad zápisem asi ano. Pokud vám jde o rychlost a bezpečnost současně při častém přístupu, tak používejte RAID 0+1, i když spotřebujete víc místa. RAID 5 má hodně špatné výsledky při sekvenčním zápisu a čtení v kombinaci s náhodným přístupem. Při malém počtu disků (3-5) dokonce horší než samostatné disky bez RAID. Hodně patrné je to hlavně u databází, kde dochází k neustálému I/O.

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu