RAID
A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(→Megvalósítás típusai: bővítés 2007: v0.2) |
(bővítés 2007: v0.3) |
||
12. sor: | 12. sor: | ||
== Megvalósítás típusai == |
== Megvalósítás típusai == |
||
* Hardware |
* Hardware |
||
− | ** Drága vezérlő |
+ | ** Drága vezérlő (ATA, SCSI, ...) |
+ | ** SCSI-buszra csatlakoztatható RAID-vezérlő is létezik |
||
* Software |
* Software |
||
− | ** pl. [[Software RAID Linux alatt|Linux md]]; előnyei: |
+ | ** pl. [[Software RAID Linux alatt|Linux md]] |
− | *** rugalmasság |
+ | ** FreeBSD Vinum(?) |
− | **** Különböző vezérlőkön lógó diszkek is lehetnek egy tömbben; |
||
− | **** sőt, egy RAID-tömb állhat teljesen különböző technológiákat használó eszközökből (pl. USB-s flash drive+SATA diszk+network block device) |
||
− | **** segít csökkenteni a kritikus pontok (SPoF) számát - pl. egy tömb minden diszkje lehet másik vezérlőn, vagy akár másik városban |
||
− | **** partíciókból is építhető tömb, nemcsak diszkekből |
||
− | *** hibakeresés viszonylagos egyszerűsége (van forráskód, amit el lehet olvasni) |
||
− | *** nyilvános az adatformátum |
||
− | **** nem kell mindig ugyanolyan vezérlőt venni |
||
− | **** a diszkek szabadon mozgathatók egyik gépből a másikba) |
||
− | ***** egy RAID1 tömb minden diszkje külön-külön is használható más-más gépben |
||
− | **** (hardware raid esetén még gyártó két vezérlője közötti mozgatás esetén is szükség lehet dump-restore ciklusra) |
||
− | *** A gép CPU-ja tipikusan sokkal gyorsabban futtatja a RAID5-höz szükséges XORt, mint a RAID-vezérlő mikrokontrollere |
||
− | **** Persze ez egyben hátrány is, hiszen ezt is a CPU-nak kell csinálnia |
||
− | **** Viszont CPU-t egyszerűbb upgrade-elni, mint RAID-vezérlőt |
||
− | **** A CPU-magok számával nő a RAID5 sebessége |
||
− | *** kültséghatékonyság: általában olcsóbb több RAMot és gyorsabb CPU-t venni, mint gyorsabb RAID-vezérlőt |
||
− | *** termék-életciklus: régi RAID-vezérlőhöz többnyire nincs támogatás, firmware-frissítés stb. (sőt, esetleg már a gyártó sincs meg) |
||
− | *** egységes felhasználói interfész (amúgy minden RAID-vezérlőnek más) |
||
** Windows dynamic disk (?) |
** Windows dynamic disk (?) |
||
+ | *** Az XP pro csak RAID0-t tud, a szervertermékek RAID1-et is (woah!) |
||
* Hibrid |
* Hibrid |
||
** Olcsó alaplapok "RAID"-vezérlői |
** Olcsó alaplapok "RAID"-vezérlői |
||
82. sor: | 83. sor: | ||
* Itt is pontosan egy diszk eshet ki |
* Itt is pontosan egy diszk eshet ki |
||
* Nemigen használják |
* Nemigen használják |
||
+ | ** Akkor lehet jó, ha van több lassú és egy nagyon gyors diszkünk - pl. egy lokális diszk és több hálózati |
||
=== RAID5 === |
=== RAID5 === |
||
117. sor: | 119. sor: | ||
* Így aztán lehet az egésznek egy hotspare-je, ami bármelyik diszk kiesése esetén beállhat |
* Így aztán lehet az egésznek egy hotspare-je, ami bármelyik diszk kiesése esetén beállhat |
||
* A Linux kernel [[Software RAID Linux alatt#RAID-szintek|támogatja]] |
* A Linux kernel [[Software RAID Linux alatt#RAID-szintek|támogatja]] |
||
+ | |||
+ | == Hardveres vagy szoftveres RAID? == |
||
+ | |||
+ | A (nyílt) szoftveres megvalósítás mellett szól: |
||
+ | |||
+ | * rugalmasság |
||
+ | ** Különböző vezérlőkön lógó diszkek is lehetnek egy tömbben; |
||
+ | ** sőt, egy RAID-tömb állhat teljesen különböző technológiákat használó eszközökből (pl. USB-s flash drive+SATA diszk+network block device/iSCSI) |
||
+ | ** segít csökkenteni a kritikus pontok (SPoF) számát - pl. egy tömb minden diszkje lehet másik vezérlőn, vagy akár másik városban |
||
+ | ** partíciókból is építhető tömb, nemcsak diszkekből |
||
+ | * a RAID-vezérlők firmware-je gyakran hibás, de a frissítés nehézkes és a hibák nehezen derülnek ki |
||
+ | * a szoftveres megoldásnál viszonylag egyszerű a hibakeresés (van forráskód, amit el lehet olvasni) |
||
+ | * nyilvános az adatformátum |
||
+ | ** nem kell mindig ugyanolyan vezérlőt venni |
||
+ | ** a diszkek szabadon mozgathatók egyik gépből a másikba) |
||
+ | *** egy RAID1 tömb minden diszkje külön-külön is használható más-más gépben |
||
+ | ** (hardware raid esetén még gyártó két vezérlője közötti mozgatás esetén is szükség lehet dump-restore ciklusra) |
||
+ | * A gép CPU-ja tipikusan sokkal gyorsabban futtatja a RAID5-höz szükséges XORt, mint a RAID-vezérlő mikrokontrollere |
||
+ | ** Persze ez egyben hátrány is, hiszen ezt is a CPU-nak kell csinálnia |
||
+ | ** Viszont CPU-t egyszerűbb upgrade-elni, mint RAID-vezérlőt |
||
+ | ** A CPU-magok számával nő a RAID5 sebessége |
||
+ | ** Tehát: '''nem igaz''', hogy egy hardveres RAID szükségszerűen gyorsabb lenne, mint egy - mondjuk azonos árfekvésű - szoftveres megoldás |
||
+ | * kültséghatékonyság: általában olcsóbb több RAMot és gyorsabb CPU-t venni, mint gyorsabb RAID-vezérlőt |
||
+ | * termék-életciklus: régi RAID-vezérlőhöz többnyire nincs támogatás, firmware-frissítés stb. (sőt, esetleg már a gyártó sincs meg) |
||
+ | * egységes felhasználói interfész (amúgy minden RAID-vezérlőnek más) |
||
+ | ** naplózás, hibakezelés szintén különbözhet, nemcsak a tömbök összerakásához használt eszköz |
||
+ | ** pl. hardveres RAID esetén nem magától értetődő, hogy a syslogban megjelenik minden hiba (pedig ez segít a diszkhalál előrejelzésében) |
||
+ | * a RAID-vezérlő funkcióinak halmaza adott; a szoftver-RAID fejlődik, anélkül, hogy hardvert cserélnénk |
||
+ | * funkcionalitás: a legtöbb hardveres megvalósítás nem támogatja a RAID6-ot és a RAID10-et (ami nem RAID1+0) |
||
+ | |||
+ | A hardveres megvalósítás mellett szól: |
||
+ | |||
+ | * a softraid jobban terheli a rendszerbuszt |
||
+ | ** RAID1-nél azért, mert több példányban kell a buszra küldeni minden írást |
||
+ | ** RAID5-nél azért, mert a paritást is át kell tolni a memóriából a diszkre |
||
+ | * a vezérlőn levő akkumulátor segítségével áramszünet esetén is a diszkre írható a cache tartalma |
||
+ | * a PC-hardver bizonyos típusú hibákra nincs jól felkészítve, úgyhogy ha egy diszk bedöglik, lefagyhat a gép, és oda a rendelkezésreállás |
||
== Ajánlott irodalom == |
== Ajánlott irodalom == |
||
+ | |||
+ | Az itt fel nem sorolt irodalommal bánjatok óvatosan! RAID-ügyben sok a makacs mítosz és téveszme. |
||
+ | Könnyű önellentmondást tartalmazó ismeretterjesztő cikket találni (pl. kijelenti, hogy a hardveres RAID mindenképpen gyorsabb bármilyen szoftvermegoldásnál, majd kiméri, hogy vannak konkrét esetek, amikor a softraid a gyorsabb...). |
||
* Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson: [http://www-static.cc.gatech.edu/classes/cs4760_98_fall/papers/raidShort.ps "RAID: High-Performance, Reliable Secondary Storage"], ACM Computing Surveys (CSUR), Volume 26, Issue 2 (June 1994), pp. 145-185, ISSN 0360-0300 |
* Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson: [http://www-static.cc.gatech.edu/classes/cs4760_98_fall/papers/raidShort.ps "RAID: High-Performance, Reliable Secondary Storage"], ACM Computing Surveys (CSUR), Volume 26, Issue 2 (June 1994), pp. 145-185, ISSN 0360-0300 |
||
** Van benne szép ábra is, nem akar esetleg valaki hasonlót rajzolni nekünk? |
** Van benne szép ábra is, nem akar esetleg valaki hasonlót rajzolni nekünk? |
||
** [http://66.249.93.104/search?q=cache:yPLBqrcg6UEJ:www-static.cc.gatech.edu/classes/cs4760_98_fall/papers/raidShort.ps+%22in+recent+years,+interest+in+RAID%22&hl=hu&gl=hu&ct=clnk&cd=1&client=firefox-a Ugyanez a cikk HTML-ként] |
** [http://66.249.93.104/search?q=cache:yPLBqrcg6UEJ:www-static.cc.gatech.edu/classes/cs4760_98_fall/papers/raidShort.ps+%22in+recent+years,+interest+in+RAID%22&hl=hu&gl=hu&ct=clnk&cd=1&client=firefox-a Ugyanez a cikk HTML-ként] |
||
− | |||
* Tomka Gergely: [http://gergely.tomka.hu/raidenbd/raidenbd.html RAID és ENBD - gyakorlati útmutató]. Könnyed bevezetés a [[RAID]], az [[Logikai kötetkezelés|LVM]] és az [http://www.it.uc3m.es/~ptb/nbd/ ENBD] (Enhanced Network Block Device) használatába. |
* Tomka Gergely: [http://gergely.tomka.hu/raidenbd/raidenbd.html RAID és ENBD - gyakorlati útmutató]. Könnyed bevezetés a [[RAID]], az [[Logikai kötetkezelés|LVM]] és az [http://www.it.uc3m.es/~ptb/nbd/ ENBD] (Enhanced Network Block Device) használatába. |
||
− | |||
* [http://linux.yyz.us/why-software-raid.html Why software RAID?] - érvek pro és kontra a hardver-RAID vs. szoftver-RAID vitában. |
* [http://linux.yyz.us/why-software-raid.html Why software RAID?] - érvek pro és kontra a hardver-RAID vs. szoftver-RAID vitában. |
||
− | |||
* [http://www.bytepile.com/raid_class.php RAID Classifications] - egy jó összeállítás az egyes RAID-szintekről, ábrákkal. |
* [http://www.bytepile.com/raid_class.php RAID Classifications] - egy jó összeállítás az egyes RAID-szintekről, ábrákkal. |
A lap 2007. szeptember 27., 21:14-kori változata
Redundant Array of Inexpensive/Independent Disks. Külön szócikk foglalkozik a szoftveres RAID linuxos megvalósításával.
Tartalomjegyzék |
1 Mire jó?
- Sok kis diszk helyett egy nagyot látunk
- Ami ráadásul gyorsabb is
- És megbízhatóbb is
- És jobb esetben működés közben cserélhető
- Egy diszk MTFF-je 200000 óra is lehet
- Akkor 100 diszké 2000 óra (kb. két és fél hónap)
2 Megvalósítás típusai
- Hardware
- Drága vezérlő (ATA, SCSI, ...)
- SCSI-buszra csatlakoztatható RAID-vezérlő is létezik
- Software
- pl. Linux md
- FreeBSD Vinum(?)
- Windows dynamic disk (?)
- Az XP pro csak RAID0-t tud, a szervertermékek RAID1-et is (woah!)
- Hibrid
- Olcsó alaplapok "RAID"-vezérlői
- (Külső doboz: SAN, NAS)
3 RAID szintek
- Két ortogonális fogalom:
- Csíkozás (striping) a nagyobb teljesítmény, és
- Redundancia (redundancy) a nagyobb megbízhatóság érdekében.
- Másfelől: nagy, megbízható, gyors - ebből választhatunk kettőt (vagy legalábbis az egyik kicsit mindig háttérbe szorul a másik kettő javára)
- Csíkozás:
- Lehet finom vagy durva
- Rövidebb sorbanállás független I/O műveletek esetén
- Nagyobb effektív átviteli sebesség egyetlen, több-blokkos I/O művelet esetén
- Csökkenti a megbízhatóságot: 10 diszkből egy várhatóan pontosan tizedannyi idő alatt romlik el, mint egyből egy
- Redundancia:
- Milyen hibadetektáló/-javító kódot használ? (általában paritás, ritkábban Hamming vagy Reed-Solomon)
- Hogyan osszuk el a redundáns információt a több diszk között?
- Koncentráltan
- Szétterítve
3.1 RAID0
- Nincs redundancia, csak csíkozás
- A legjobb írási sebesség (nem kell kódokat számolgatni és frissíteni)
- A RAID1 tudhat gyorsabban olvasni (több diszken is megvan ugyanaz az adat, tehát olvashatunk arról, amelyik várhatóan a leghamarabb odaér)
- Egy diszk kiesése után a tömb "használhatatlan"
3.2 RAID1
- Az adatokat nem 1, hanem n>1 diszken tároljuk
- A tömbhöz tartozhat melegtartalék is (hotspare); erre nem íródnak az adatok, amíg éles diszk ki nem esik
- Ha 8 diszkünk van, akkor 4 kapacitása hasznosul
- Bármelyik kieshet, és a tömb még működik
- Ha szerencsénk van, akár 4 is kieshet, és még működik, de ez már nem garantált
3.3 RAID2
- Hamming kódos
- 4 adatdiszkhez 3 paritásdiszk kell, de a paritásdiszkek száma az adatdiszkek logaritmusával arányos
- A fenti hétből egy eshet ki, négy kapacitása hasznosul
- Nemigen használják
3.4 RAID3
- A memóriahibákkal ellentétben a diszkek esetében pontosan tudjuk, melyik a rossz, tehát nem kell a Hamming-kód, találhatunk jobbat
- n adatdiszkhez 1 paritásdiszk tartozik
- Minden írás minden diszket érint
- Az olvasásban csak az adatdiszkek vesznek részt
- Pontosan egy diszk eshet ki
- Nemigen használják
3.5 RAID4
- Mint a RAID3, de nem bitenként használja az egyes diszkeket, hanem blokkonként (striping unit, esetleg stride size).
- Blokkméret alatti írási műveleteknél read-modify-write van:
- a többi diszkről is be kell olvasni az adott paritásblokkhoz tartozó adatokat
- újra kiszámolni a paritást
- kiírni a módosított adatot és az új paritást
- Mivel csak egy paritásdiszk van, és azt az összes írás érinti, szűk keresztmetszet lehet
- Itt is pontosan egy diszk eshet ki
- Nemigen használják
- Akkor lehet jó, ha van több lassú és egy nagyon gyors diszkünk - pl. egy lokális diszk és több hálózati
3.6 RAID5
- Mint a RAID4, de a paritás is el van osztva
- n diszk esetén minden diszken minden n-edik blokk paritásblokk
- n+1 diszkből itt is n-nek a kapacitását hasznosítjuk
- Minden diszk részt vehet az olvasási műveletek kiszolgálásában
- Kis olvasás, nagy olvasás, nagy írás gyors; kis írás relatív lassú
- Pontosan egy eshet ki
- Széles körben elterjedt
3.7 RAID6
- Reed-Solomon
- n+2 diszk kell n diszknyi kapacitáshoz
- Bármely két diszk kieshet
- Amúgy olyan, mint a RAID5; a kis írás még egy kicsit lassúbb
- Terjedőben
3.8 RAID1+0
- RAID10-nek is hívják, de "van" "valódi" RAID10 is
- Két (vagy több) RAID1 tömböt csíkozással összefűzünk
3.9 RAID0+1
- Mint fent, de két RAID0-tömböt tükrözünk egymásra RAID1-gyel
3.10 RAID10 vagy RAID 1e
- Elvileg egy RAID1+0-jellegű hibrid megoldás
- Egy komplex tömb, nem két egymásra épített
- Állhat páratlan számú diszkből is
- Így aztán lehet az egésznek egy hotspare-je, ami bármelyik diszk kiesése esetén beállhat
- A Linux kernel támogatja
4 Hardveres vagy szoftveres RAID?
A (nyílt) szoftveres megvalósítás mellett szól:
- rugalmasság
- Különböző vezérlőkön lógó diszkek is lehetnek egy tömbben;
- sőt, egy RAID-tömb állhat teljesen különböző technológiákat használó eszközökből (pl. USB-s flash drive+SATA diszk+network block device/iSCSI)
- segít csökkenteni a kritikus pontok (SPoF) számát - pl. egy tömb minden diszkje lehet másik vezérlőn, vagy akár másik városban
- partíciókból is építhető tömb, nemcsak diszkekből
- a RAID-vezérlők firmware-je gyakran hibás, de a frissítés nehézkes és a hibák nehezen derülnek ki
- a szoftveres megoldásnál viszonylag egyszerű a hibakeresés (van forráskód, amit el lehet olvasni)
- nyilvános az adatformátum
- nem kell mindig ugyanolyan vezérlőt venni
- a diszkek szabadon mozgathatók egyik gépből a másikba)
- egy RAID1 tömb minden diszkje külön-külön is használható más-más gépben
- (hardware raid esetén még gyártó két vezérlője közötti mozgatás esetén is szükség lehet dump-restore ciklusra)
- A gép CPU-ja tipikusan sokkal gyorsabban futtatja a RAID5-höz szükséges XORt, mint a RAID-vezérlő mikrokontrollere
- Persze ez egyben hátrány is, hiszen ezt is a CPU-nak kell csinálnia
- Viszont CPU-t egyszerűbb upgrade-elni, mint RAID-vezérlőt
- A CPU-magok számával nő a RAID5 sebessége
- Tehát: nem igaz, hogy egy hardveres RAID szükségszerűen gyorsabb lenne, mint egy - mondjuk azonos árfekvésű - szoftveres megoldás
- kültséghatékonyság: általában olcsóbb több RAMot és gyorsabb CPU-t venni, mint gyorsabb RAID-vezérlőt
- termék-életciklus: régi RAID-vezérlőhöz többnyire nincs támogatás, firmware-frissítés stb. (sőt, esetleg már a gyártó sincs meg)
- egységes felhasználói interfész (amúgy minden RAID-vezérlőnek más)
- naplózás, hibakezelés szintén különbözhet, nemcsak a tömbök összerakásához használt eszköz
- pl. hardveres RAID esetén nem magától értetődő, hogy a syslogban megjelenik minden hiba (pedig ez segít a diszkhalál előrejelzésében)
- a RAID-vezérlő funkcióinak halmaza adott; a szoftver-RAID fejlődik, anélkül, hogy hardvert cserélnénk
- funkcionalitás: a legtöbb hardveres megvalósítás nem támogatja a RAID6-ot és a RAID10-et (ami nem RAID1+0)
A hardveres megvalósítás mellett szól:
- a softraid jobban terheli a rendszerbuszt
- RAID1-nél azért, mert több példányban kell a buszra küldeni minden írást
- RAID5-nél azért, mert a paritást is át kell tolni a memóriából a diszkre
- a vezérlőn levő akkumulátor segítségével áramszünet esetén is a diszkre írható a cache tartalma
- a PC-hardver bizonyos típusú hibákra nincs jól felkészítve, úgyhogy ha egy diszk bedöglik, lefagyhat a gép, és oda a rendelkezésreállás
5 Ajánlott irodalom
Az itt fel nem sorolt irodalommal bánjatok óvatosan! RAID-ügyben sok a makacs mítosz és téveszme. Könnyű önellentmondást tartalmazó ismeretterjesztő cikket találni (pl. kijelenti, hogy a hardveres RAID mindenképpen gyorsabb bármilyen szoftvermegoldásnál, majd kiméri, hogy vannak konkrét esetek, amikor a softraid a gyorsabb...).
- Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson: "RAID: High-Performance, Reliable Secondary Storage", ACM Computing Surveys (CSUR), Volume 26, Issue 2 (June 1994), pp. 145-185, ISSN 0360-0300
- Van benne szép ábra is, nem akar esetleg valaki hasonlót rajzolni nekünk?
- Ugyanez a cikk HTML-ként
- Tomka Gergely: RAID és ENBD - gyakorlati útmutató. Könnyed bevezetés a RAID, az LVM és az ENBD (Enhanced Network Block Device) használatába.
- Why software RAID? - érvek pro és kontra a hardver-RAID vs. szoftver-RAID vitában.
- RAID Classifications - egy jó összeállítás az egyes RAID-szintekről, ábrákkal.