Disková pole RAID (Redundant Array of Independent Disks, redundantní pole nezávislých disků) byla původně navržena nejen za účelem zvýšení kapacity diskových systémů (spojením více disků), avšak především za účelem zvýšení jejich spolehlivosti a odolnosti proti chybám.
Ač tento princip všeobecně funguje, trpí disková pole jako každý jiný systém jistými omezeními a neduhy, plynoucími především ze zvýšené složitosti obslužných komponent (řadič) a software (ovladače, firmware). Vlastní chyby diskových polí jsou způsobeny zpravidla podobnými faktory jako u mnohých jiných elektronických komponent dnešní uspěchané doby – nedůslednost při jejich programování, chyby v návrhu, výrobní vady a nedodržování kvality surovin, dílů a práce. Často tak diskové pole, které má chránit datové úložiště před chybami hardware a některými dalšími výpadky, naopak právě díky chybě vlastní zkolabuje a samo způsobí to, před čím má chránit – ztrátu dat.
Diskové pole samo o sobě je poměrně složitým mechanismem. Ač literatura zpravidla zmiňuje jen několik nejzákladnějších „úrovní“ RAID, existuje nepřeberné množství různých typů, konfigurací, variant a kombinací nejrůznějších parametrů. V praxi, zejména při rekonstrukci dat z diskového pole, tak musíme brát v potaz často i několik desítek faktorů a údajů, aby byl zaručen konzistentní a tedy bezchybný výsledek.
Níže uvádíme alespoň základní rozlišení úrovní RAID. Konkrétní volba úrovně RAID představuje kritický okamžik jak při jeho vytváření, tak při jeho případné obnově.
RAID 0 (stripe, striping, stripe set)
Má označení úrovně 0, neboť neposkytuje základní vlastnost diskových polí, tzv. redundanci. Redundancí neboli nadbytečností se rozumí odolnost pole proti výpadku pevného disku. Ta se zajišťuje tak, že se na disk(y) ukládají doplňkové informace, ze kterých je možno v případě výpadku zpravidla jednoho disku jeho obsah zrekonstruovat na disk jiný (nový).
Při stripingu se data ukládají rovnoměrně na více disků, čímž se sice dosahuje vyšší rychlosti (využitím paralelního přístupu), avšak v případě výpadku i jednoho disku nemáme k dispozici žádné nadbytečné informace pro jeho obnovu. Je tedy vždy nutné provést před vlastní rekonstrukcí záchranu dat z každého zkolabovaného disku.
RAID 1 (mirror, mirroring, zrcadlo, zrcadlení)
Nejzákladnější úroveň RAID, při které se data ukládají paralelně zpravidla na dva pevné disky. Při výpadku jednoho disku by měla datová oblast být uložena ve stejné podobě i na disku druhém.
Mirror je odolný proti výpadku N-1 disků, a tak postihne-li závada disky všechny (např. při přepětí ze zdroje), je nutné před rekonstrukcí pole provést záchranu dat alespoň z jednoho z poškozených disků.
RAID 2, 3, 4, 5, 5e, 5ee, 6, … (striping with parity / ECC)
Dnes nejpoužívanější úroveň RAID 5, obdobně jako jiné zde uvedené varianty, využívá výhod RAID 0, tzn. rozkladu informací na více disků, čímž dosahuje větší datové propustnosti, na disky však ukládá též tzv. doplňkové informace. Z nich je možno v případě výpadku pevného disku zrekonstruovat jeho obsah na jiný (nový) pevný disk, kterým se nahradí disk havarovaný.
Tyto systémy jsou odolné vůči výpadku zpravidla jednoho pevného disku, a tak při výpadku více disků je nutné před rekonstrukcí celého pole provést záchranu dat jednotlivě z každého dalšího havarovaného disku.
RAID 0+1, 10, … (kombinované)
Kombinacemi různých úrovní RAID se výrobci snaží spojit výhody obou použitých variant (rychlost, redundance). Ač jsou takové konfigurace náročnější na obsluhu, obnova dat z takových systémů nepředstavuje v praxi většinou výraznější zvýšení náročnosti a prakticky se tak nepromítá ani např. do ceny rekonstrukce pole.
Hardware RAID, Software RAID, Pseudo-hardware RAID
„Klasickým“ příkladem diskového pole je několik pevných disků připojených ke speciálnímu „RAID“ řadiči, který se stará o veškeré operace spojené s obsluhou diskového pole a je také zodpovědný za logistiku dat v rámci pole. Tyto tzv. „hardwarové“ řadiče jsou zpravidla rychlé, nezatěžují systém, ale bývají řádově dražší. Z tohoto důvodu se začala objevovat na trhu disková pole, která jsou obsluhována na úrovni operačního systému, tzv. „software RAID“. Nevýhodou je komplikovaná obnova dat v případě pádu pole v důsledku nutnosti stálé podpory ze strany operačního systému, kterýžto je však často obsažen právě na havarovaném poli a tedy po havárii nefunkční. Velmi populární jsou v současné době tzv. „pseudo-hardware RAID“. Tyto řadiče, které se tváří jako skutečné RAID řadiče, však nejsou ničím jiným, než pouhým diskovým rozhraním (řadičem) a veškeré funkce obsluhy diskového pole přebírá jejich ovladač. Jsou často velmi levné a bohužel též velmi poruchové.
Diskové pole může být principiálně sestaveno z jakéhokoliv paměťového média. V praxi se však samozřejmě setkáváme téměř výhradně s pevnými disky. Vzhledem k naší komplexní podpoře nejrůznějších typů médií a originálnímu přístupu k rekonstrukci dat můžeme říci, že prakticky nezáleží na použitém typu média, operačním ani souborovém systému, a záchrana dat je v naší společnosti možná takřka při libovolné kombinaci parametrů diskového pole.
Pro úplnost uvádíme nejčastější typy a varianty médií a systémů, se kterými se v praxi u diskových polí setkáváme. Pokud ve výčtu nenajdete „svůj“ systém, vězte, že výčet je jen ilustrativní - obnova dat je však s největší pravděpodobností možná i ve Vašem případě!
Způsob připojení
IDE (ATA), SATA, SCSI, FC-AL, SAS, iSCSI, SAN, NAS…
Operační systémy
Windows / Linux / Unix / MacOS / Novell / jiný
Souborové systémy
FAT (FAT12 / FAT16 / FAT32), NTFS (vč. NTFS 5 a EFS), EXT (EXT, EXT2, EXT3), ReiserFS, JFS, XFS, UFS, Apple HFS a HFS+, Novell NWFS, Novell NSS, HPFS a další
Obnova dat z havarovaného diskového pole je možná při takřka libovolné závadě jak diskového pole:
- elektronická / mechanická havárie jednoho, více, či dokonce všech disků (např. závada PCB, hlav, poškozené plotny či mechanika disku – motor, ložiska, …)
- vadná funkce řadiče (ztráta konfigurace, vadný zápis, …)
- nesprávně přepočítaná parita
- (částečný) přepis diskového pole, včetně přeinstalace systému
Naší specialitkou jsou pak komplikované závady, jakými jsou např. vícenásobný přepočet parity, a to i při současné změně konfigurace a částečně zinicializovaná pole.