Hlavní navigace

Když jeden disk nestačí

Miroslav Petříček 28. 8. 2001

Dnešním článkem začíná krátká série, která se zabývá problematikou softwarových RAID polí v Linuxu. V prvním dílu si povíme něco o základních RAID konfiguracích a ukážeme si, jak takové jednoduché diskové pole vytvořit.

RAID je zkratkou pro „Redundant Aray Of Inexpensive Disks“, obtížně se to překládá, ale nejspíše to znamená něco jako „Záložní pole tvořené z levných disků“. Technologie RAID funguje tak, že se snaží seskupovat několik pevných disků do logických jednotek (polí), a to z důvodu zvýšení spolehlivosti a rychlosti přístupu k datům. Dříve se RAID používal výhradně na serverech, kde jeho funkci zajišťoval speciální hw. řadiče. Z hlediska operačního systému je takové diskové pole trasparentní – vypadá jeko jeden souvislý velký disk. Tento článek však popisuje tzv. softwarový RAID, který lze v Linuxu provozovat i bez zvláštního RAID řadiče. V tomto případě se totiž o veškerou dodatečnou režii stará jádro, které je odpovědné za sestavení a správnou funkci diskového pole. Zkušenost ukazuje, že pro jednodušší RAID konfigurace, jako je například zrcadlení, můžeme celkem v klidu vystačit se softwarovou implementací, zatímco pro nasazení složitějších vícediskových polí (RAID 3, RAID 5) už je lépe použít dedikované hardwarové řadiče.

Samozřejmě není řadič jako řadič, a tak se v poslední době setkáváme se základními deskami s podporou RAIDu na IDE rozhraních. Většinou se ale nejedná o plnohodnotný hardwarový RAID a pro funkci takového zařízení jsou i ve Windows zapotřebí speciální ovladače. Jen málokterou desku lze takto provozovat i v Linuxu. Pokud má někdo ze čtenářů zkušenost (ať už pozitivní, či negativní) s takovou deskou, může se o ní zmínit v diskusním fóru.

Jak již jsem se zmínil, existuje více různých způsobů, jak zkonfigurovat diskové pole. Softwarově se realizují nejčastěji tři různé konfigurace, a to RAID 1, RAID 5 a RAID 0. Někdy se lze setkat i s jejich kombinacemi – (RAID 0+1, 2× RAID 5,…), které ovšem nejsou tak časté, neboť je pro ně zapotřebí až nepraktické množství disků.

Nejjednodušší, ale zároveň i nejčastější konfigurací je RAID 1, neboli zrcadlení. Pracuje v něm nejčastěji dvojice pevných disků, na kterých se udržuje naprosto stejný obsah, takže když dojde k poškození jednoho z disků, počítač může nadále pracovat s druhým diskem a nedojde ke ztrátě dat. Vedlejším, avšak vítaným efektem je zrychlení práce, neboť data lze číst s obou disků současně, čímž se efektivně sčítají přenosové rychlosti obou disků. Zápisové operace se však neurychlí, neboť je nutné je provádět synchronně na oba disky současně. Jistou nevýhodou zrcadlení je plýtvání místem, neboť lze využít jen polovinu nominální kapacity disků. Naopak na straně výhod stojí jistě fakt, že se jedná o velice jednoduchou technologii, která si za předpokladu použití moderních disků nevyžádá od procesoru počítače téměř žádnou zvýšenou režii.

Druhou používanou technologií je RAID 5, které však pro svoji funkčnost potřebuje minimálně tři pevné disky. Kromě vlastních dat se na všechny disky ukládá navíc ještě paritní informace. Pokud dojde k selhání libovolného z disků, lze z ostatních disků rekonstruovat jeho obsah. RAID 5 je více úspornější než RAID 1, takže například při konfiguraci se třemi disky ztrácíte pouze třetinu nominální kapacity, zatímco u zrcadlení je to polovina. Čtení dat z pole RAID 5 je rychlé, neboť čtecí operace lze rozkládat mezi všechny disky, naopak při zápisu rychlost klesá, protože je nutné vypočítávat a ukládat navíc paritu.

Někteří uživatelé používají RAID 0. Pracuje v něm dvojice (nebo i více) disků, přičemž data jsou na nich rovnoměrně rozložena. Nepřináší žádnou vyšší míru bezpečnosti, naopak při havárii jednoho z disků jsou ztracena i data na ostatních jednotkách. Důvodem, proč se RAID 0 používá, je rychlost. Všechny čtecí i zápisové operace lze rozložit mezi více disků, takže například ze dvou rychlých disků lze udělat jeden superrychlý.

Podpora softwarového RAIDu je většinou integrována přímo v jádře Linuxu, takže jediné, co potřebujete, je nainstalovat soubor utilit raidtools, který je většinou součástí distribuce. Konfigurace diskového pole se provádí pomocí souboru /etc/raidtab, jehož formát může vypadat třeba nějak takto:

raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0

device /dev/hda1
raid-disk 0

device /dev/hdb1
raid-disk 1

Uvedený zápis znamená, že do diskového pole, označovaného jako /dev/md0, patří dvě partition, a to /dev/hda1 a /dev/hdb1, které dohromady tvoří konfiguraci RAID 1. Podrobný popis všech parametrů lze najít v manuálové stránce raidtab(5). Součástí balíku raidtools jsou vzorové konfigurační soubory pro všechny používané RAID konfigurace, můžete je převzít a upravit podle svých potřeb.

Poté, co si upravíte konfigurační soubor, si můžete vytvořit vlastní diskové pole pomocí příkazu

mkraid /dev/md0

Tím dojde ke zničení všech případných dat, která se na uvedených pevných discích nacházejí. Na diskovém poli pak vytvoříte souborový systém, například pomocí příkazu

mke2fs /dev/md0

Nadále již můžete s /dev/md0 pracovat jako s každým dalším blokovým zařízením, například je můžete namountovat, kopírovat na ně soubory, atd.

mount /dev/md0 /mnt/test -t ext2

Diskové pole můžeme ručně vytvořit i zrušit pomocí příkazů raidstart a raidstop. Většina distribucí volá tyto příkazy automaticky při startu, existuje-li soubor /etc/raidtab. Prvotní vytvoření diskového pole můžete nechat také přímo na jádru, které automaticky dokáže sestavovat RAID. Používá k tomu tzv. RAID superbloky, které jsou umístěny na konci každé partition a nesou v sobě informaci obdobnou souboru /etc/raidtab. V takovém případě je nutné pomocí příkazu fdisk změnit typ jednotlivých zúčastněných partitions na fd – „Linux raid auto“.

V příštím dílu se podíváme na složitější konfigurace a na praktických příkladech porovnáme výkonnost jednotlivých RAID řešení.

Zajímavé odkazy

Našli jste v článku chybu?

2. 3. 2004 12:45

Hari Prasad (neregistrovaný)

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.

28. 11. 2003 0:29

Ylonen (neregistrovaný)

To, ze je SATA RAID uz v BIOSu vam ma indikovat, ze se nejedna o SW RAID, ale ze je na desce integrovan nejaky RAID radic. Tu desku neznam, proto jen poradim - najdete si, jaky radic to je (Adaptec, Promise?) a jaky typ, a pote zjistete, je-li jadrem linuxu podporovan. Jinak vam to holt fungovat nebude.
Pokud podporovan neni, stale zustava moznost vytvorit si SW RAID, ktery si co do rychlosti s temi pseudo-HW RAIDy nezada. Opravdovy HW RAID poznate tak, ze k nemu neni potreba zadny (jsou drobne…

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

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Nestlé vyvinula nový typ „netloustnoucího“ cukru

Nestlé vyvinula nový typ „netloustnoucího“ cukru

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

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

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

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

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

Recenze Westworld: zavraždit a...

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

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

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Vitalia.cz: Co pomáhá dítěti při zácpě?

Co pomáhá dítěti při zácpě?

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

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

Vypadl Google a rozbilo se toho hodně

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

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

1. den EET? Problémy s pokladnami