O RAIDu 🤔

 

🤔 co vlastně RAID je?

RAID („Redundant Array of Independent Disks“) je technologie propojení více pevných disků do jednoho celku. Důraz se klade především na spolehlivost ukládání a čtení dat, ale také na výkon a kapacitu úložiště – podle nastavení konkrétního typu RAID. Ten se objevuje jak v diskových úložištích, známé jako NAS („Network Attached Storage“), tak v serverech a dokonce i v domácích počítačích.

 

🤔 jaké má vlastnosti?

I když RAID může být implementován jako hardwarový (například pomocí RAID řadičů integrovaných na základních deskách nebo jako samostatné PCI karty) nebo softwarový (v Linuxu integrovaný do jádra) nebo obsažený i v některých filesystémech (Btrfs, ZFS, …), základní vlastnosti RAIDu jsou dány jeho typem:

RAID 0 💡 data se ukládají napříč disky (Striping)
💡 každý soubor je rozdělen na části, které se zapisují střídavě na všechny disky
💡 minimální počet disků: 2
💡 sporný RAID typ, nesplňuje redundantní funkci
⚠️ žádná ochrana dat
✅ vysoký výkon při čtení i zápisu
✅ kapacity disků se sčítají
❌  nezabezpečený, žádné zrcadlení ⚠️
❌  selže-li jeden disk, všechna data jsou ztracena
RAID 1 💡 data se zrcadlí (kopírují) na všechny disky (Mirroring)
💡 každý disk je přesnou kopií ostatních
💡 minimální počet disků: 2
✅ vysoká spolehlivost
✅ při selhání disků jsou data dostupná do posledního funkčního disku
✅ vysoký výkon při čtení (čte paralelně)
❌ zápis je pomalejší (zapisuje se na všechny disky)
❌ výsledná kapacita je dána kapacitou nejmenšího z disků
RAID 4 💡 data se ukládají napříč disky, ale s paritou na samostatném disku (Striping se separatní paritou)
💡 minimální počet disků: 3
✅ vyšší spolehlivost
✅ ochrana proti výpadku jednoho disku
✅ Dobrá rychlost čtení
✅ kapacita je součet kapacit stejných disků, ale o kapacitu jednoho disku menší
❌ zápis kvůli výpočtu parity a ukládaní separátně je pomalejší
❌ minimální počet disků: 3
RAID 5 💡 data doplněna o paritu se ukládají napříč disky (Striping s paritou)
💡 minimální počet disků: 3
✅ vyšší spolehlivost
✅ ochrana proti výpadku jednoho disku
✅ Dobrá rychlost čtení
✅ kapacita je součet kapacit stejných disků, ale o kapacitu jednoho disku menší
❌ zápis je kvůli výpočtu parity pomalejší
❌ minimální počet disků: 3
RAID 6 💡 data doplněna o dvě parity se ukládají napříč disky (Striping s paritou)
💡 minimální počet disků: 4
✅ vyšší spolehlivost než RAID 5
✅ ochrana proti výpadku dvou disku
✅ Dobrá rychlost čtení
✅ kapacita je součet kapacit stejných disků, ale o kapacitu dvou disků menší
❌ zápis je kvůli výpočtu dvou parity pomalejší než u RAID 5
❌ minimální počet disků: 4
RAID 10 💡 disky se rozdělí na zrcadlené páry (RAID 1) a potom se tyto páry spojí stripingem (RAID 0)
💡 sudý počet disků, minimálně: 4
✅ vyšší spolehlivost díky zrcadlení
✅ data jsou stále dostupná, pokud v každém páru funguje alespoň jeden disk
✅ výborný výkon čtení i zápisu díky stripingu
✅ Rychlá obnova dat při selhání disku
❌ kapacita je polovina celkové kapacity všech stejných disků
❌ minimální počet disků: 4
RAID 01 💡 disky se spojí stripingem (RAID 0) dvou nebo více stripe-setů, které se zarcadlí (RAID 1)
💡 sudý počet disků, minimálně: 4
💡 od r. 2023 odstraněný z Linuxového jádra ⚠️
✅ spolehlivost díky zrcadlení ❌ zastaralý předchůdce RAID10
❌ horší odolnost při více selháních ⚠️
❌ slabší výkon vůči RAID10
❌ méně flexibilní při rozšiřování
❌ minimální počet disků: 4

🤔 kterou implementaci zvolit?

RAID, ať už Hardwarový nebo Softwarový, každý má své výhody a nevýhody. Záleží na individuálních potřebách i pro jaký operační systém.

Krátký přehled:

Hardwarový Čistě softwarový
✅ nezatěžuje CPU
✅ lepší výkon v zátěži
❌ vyšší cena (RAID řadič)
❌ nepřenositelný na jiný typ řadiče
✅ nízké náklady (netřeba RAID řadič)
✅  přenositelný na jiný typ řadiče
❌ zatěžuje CPU pro RAIDy s paritou
❌ nižší výkon pro RAIDy s paritou
RAID Linux Windows
Hardwarový ✅ širokou podporu (LSI, Adaptec, Dell, HP) ✅ vynikající podporu (Intel, Adaptec, LSI, Dell, HP)
Čistě softwarový ✅ mdadm (klasický, stabilní)
✅ Btrfs (RAID FS)
✅ ZFS (RAID FS)
✅ Dynamické disky
❌ Dynamické disky – slabá přenositelnost
✅ Storage Spaces

😎 Na počítačích s Linuxem používám úložiště zabezpečené RAID 1 typem, pomocí implementace mdadm. A už párkrát se vyplatilo 😉.

 

 


 

mdadm

 

🤔 co vlastně mdadm je?

mdadm („Multiple Device Admin“) je nástroj v Linuxu, sloužící k vytváření, správě a monitorování softwarových RAID polí („Redundant Array of Independent Disks“), která jsou přímo podporována Linuxovým jádrem.

 

🤔 na jakém principu funguje?

mdadm je nástroj pro správu Softwarových RAID polí, realizovaných jádrem Linuxu pomocí subsystému md („Multiple Devices“). Tento subsystém spojuje několik fyzických disků nebo oddílů do jednoho logického disku, které se systému tváří jako běžný disk.

 

🤔 které typy RAIDů a jiné funkce mdadm podporuje?

RAID 0 (sporný RAID typ) 👉 striping (data napříč disky)
👉 nezabezpečené proti selhání disku ⚠️
RAID 1 👉 mirroring (zrcadlení)
RAID 4 👉 striping s paritou na jednom disku
RAID 5 👉 striping s jednou paritou napříč disky
RAID 6 👉 striping se dvěma paritami napříč disky
RAID 10 (1+0) 👉 mirroring + striping (Kombinace RAID 1 a RAID 0)
RAID 01 (0+1) 👉 striping + mirroring  (Kombinace RAID 0 a RAID 1)
👉 od r. 2023 odstraněný z Linuxového jádra ⚠️
Linear mode (funkce) 👉 spojení disků bez stripingu (prosté seřazení disků)
👉 nezabezpečené proti selhání disku ⚠️
Multipath (funkce) 👉 pouze nabízí více cest k fyzickému nebo logickému disku
👉 neošetřuje selhání disku, ale výpadek cesty k němu ⚠️
Faulty (funkce) 👉 nejde o opravdové selhání disku, ale nasimulování jeho vady v RAID poli
👉 slouží pro testování chování RAID při selhání disku

🤔 jak moc RAID zatěžuje procesor?

Jelikož RAID podpora je přímo v Linuxovém jádru, pro moderní vícejádrové procesory není zátěž softwarovým RAID celkem znatelná, pokud nejde o extrémní zatížení zápisy do RAIDů s dopočítávanou paritou.

Zatížení závisí na typu RAID:

RAID 0, RAID 1 🟢 minimální zátěž (jde jen o striping nebo zrcadlení)
RAID 10 🟡 střední zátěž (současně striping a zrcadlení)
RAID 4, RAID 5, RAID 6 🟠 vyšší zátěž (dopočítávání parity)

 

🤔 jak se získá a nainstaluje?

mdadm je obvykle dostupný v repozitářích Linux distribucí pro snadnou instalaci. Jde o open-source projekt, který je vyvíjen a udržován komunitou, včetně vývojářů Linuxového jádra, kteří v něm udržují modul md („Multiple Device“).

 

 

😎 Rozpracované … ✍️


 

 

Prevence proti komplikacím ztráty dat při případné závadě disku, kdy souborový systém nadále jede bez výpadku ze zbylého redundantního disku (u RAID1). Samozřejmě v tomto nouzovém režimu je nutné neotálet s náhradou vadného disku. Tento pak stačí jen začlenit do diskového pole.

Jelikož závadu disku uživatel nepozná, je nutné mít zprovozněné oznamování závady e-mailem.

Už se mi několikrát vyplatilo, nedokážu si představit, že bych provozoval počítače bez tohoto základního zabezpečení.  Zvažoval jsem nějaké to NAS zařízení (běžící na RAID), nakonec jsem volil mít RAID přímo v počítači.

Zatím operační systému neinstaluji rovnou do RAIDu, ale v mezikroku do filesystému přímo na diskovém oddílu, následně z příkazového řádku překlopím operační systém do degradovaného RAIDu, kdy nakonec původní oddíl přičlením do RAIDu. Tímto se RAID stane plnohodnotný. Některá instalační prostředí nemají ta klikátka vychytaná. Záleží dle distribuce. Více k tomuto později…

 

Nainstalovat si : mdadm

 

Zobrazení stavu RAID pole

Info o úložišti

sudo parted -l
sudo blkid
lsblk -lafm
df

 

Podrobný výpis všech RAIDů

sudo mdadm -D /dev/md?*

 

RAID stav jednorázově

cat /proc/mdstat

 

RAID stav cyklicky po 2 sec.

watch -n 2 cat /proc/mdstat