ufff to je mi protichudnejch poznatku ... taky jich par pridam
RAID0 - strip
- data se rozdeli na n casti, z nichz kazda se ulozi na jiny disk
rychlost: temer zdvojnasobeni sekvencnich read i write operaci, pri seeku zrychleni nulove.
redundance: nema redundanci. vypadek jedineho disku znici cele pole.
pozadavek: 2 a vice disku
kapacita: n*nejmensi disk
RAID1 - mirror
- vsechna data jsou ulozena ve stejne podobe na vsech discich
rychlost: pri dobrem raidici/sw raidu (fbsd6-gmirror je perfektni ukazka) muze zdvojnasobit rychlost pri seekujicim cteni. rychlost sekvencniho cteni a libovolneho zapisu zustava zhruba stejna - pozor! nezkrati samotny seek, jen zrychli hodne seekujici operace.
redundance: vypadek vsech disku, krom jednoho, je pripustny
pozadavek: 2 a vice disku
kapacita: nejmensi disk
RAID10 - stripped mirrors
- mirrory o q (q>=2) discich se spojuji do RAIDu 0
rychlost: zhruba kombinuje vyhody 0 i 1
redundance: vypadek vsech disku v jednom mirroru znamena ztratu dat
pozadavek: 4 a vice disku
kapacita: (n/q) * nejmensi disk
RAID5
- data se rozdeli na n-1 casti, ze kterych se pomoci postupneho XORovani vytvori redundantni data
pak se ukladaji v podobe (pet disku)
d1 - d4 jsou casti dat, p je paritaKód:d1 d2 d3 d4 p d2 d3 d4 p d1 d3 d4 p d1 d2 d4 p d1 d2 d3 p d1 d2 d3 d4
rychlost: tady to zacina byt slozitejsi ... co se rychlosti sekvencniho cteni/zapisu tyce a seekujiciho cteni, tak se vpodstate chova jako RAID0 z n-1 disku ... ovsem pokud zapisuje bloky dat mensi, nez je 1 blok tohoto raidu, musi se cely blok ze vsech n-1 disku precist, prepocitat redundantni data a znovu zapsat... (ale to opravdu jen v pripade nahodnych zapisu mensich bloku. pri sekvencnim zapisu mensich bloku to vetsinou radice/sw raidy resi tzv. extent cache, kam si ukladaji nekolik naposledy zapsanych bloku, aby nebylo nutne je znovu cist). muze mirne zatezovat CPU (Core Duo U2500 - 1.2GHz - 3GB/s)
redundance: vypadek 2 a vice disku znamena ztratu dat
pozadavek: 3 a vice disku
RAID 3
- stejny jako RAID 5, jen data se na disky ukladaji takto:
nevyhoda proti RAID5 je o neco mensi rychlost pri vypadku datoveho (ne paritniho) disku.Kód:d1 d2 d3 d4 p d1 d2 d3 d4 p d1 d2 d3 d4 p d1 d2 d3 d4 p d1 d2 d3 d4 p
RAID 50 (a 30)
- je to vpodstate stejne jako u RAIDu 10, ale ve stripu se spojuji RAIDy 5 o q discich
rychlost: tady je to hodne osemetne ... a vyplati se zejmena pri spojovani poli na vice radicich.
redundance: vypadek dvou a vice disku z jednoho RAIDu 5, znamena ztratu dat
pozadavek: 6 a vice disku (sudy pocet)
kapacita: (n/q) * (q-1) * nejmensi disk
RAID 6
- velmi podobne RAIDu 5, ovsem data se deli na n-2 casti a pouzivaji se dva redundantni disky
rychlost: velmi podobne jako RAID5 s prihlednutim k mensimu poctu datovych disku. CPU zatezuje vice nez RAID 5 (Core Duo - U2500 1.2GHz - 1.4GB/s)
redundance: vypadek 3 a vice disku znamena ztratu dat
pozadavek: 4 a vice disku
kapacita: n-2 * nejmensi disk
JBOD (Just Bunch of Drives)
- jedna se o proste spojeni kapacity disku
rychlost: tady velmi zalezi na pristupu. pro sekvencni cteni/zapis je rovna rychlosti jednoho disku, pri nahodnem cteni zapisu zalezi na rozdeleni. pri opravdu nahodnem cteni i zapisu (a pro stouraly - stejne kapacite disku) by mel n krat znasobit rychlost.
redundance: zadna
pozadavek: 2 a vice disku
kapacita: soucet kapacity vsech disku
info o zatezi CPU plati pro SW based raidy (tj. ty implementovane na urovni OS, nebo ovladace (tzv. HostRAIDy - levne RAID radice a radice na zakl. deskach))
co se poznatku z realneho sveta tyce:
RAID5 opravdu nasobi rychlost sekvencniho zapisu (i cteni)
15x500G disk, 3Ware Escalade 95xx serie radic, 400MB/s cteni, 250MB/s sekvencni zapis.
RAID1 opravdu nezrychli sekvencni cteni jednoho streamu. vyzkouseno. zduvodneno. pri cteni 2 a vice streamu pomaha znacne.
RAID5 s jednim spare diskem se zda byt dostatecne bezpecnym (provozujem takovych raidu asi 40 a zatim vsechny prezily)
Kvalitni HW RAID radic udela stejnou sluzbu jako SW raid. vyhodou je hlavne snizeni zateze CPU, obcas jednodussi konfigurace a obcas vetsi moznosti, pripadne v nekterych pripadech (diky velke cache) vyssi rychlost. Na druhou stranu ovsem SW RAID (ten implementovany v OS) je uplne nezavisly na radici a tedy v pripade jeho odejiti, lze pole provozovat na jinem HW ... to neni vzdy pravda u HW raidu (nektere jsou vice kompatibilni, jine mene)
edit: mimochodem z linuxu mam overeno, ze mnohem vic, nez zmena raidu, nebo rychlejsi disky, pomuze rychlosti nahodneho cteni/zapisu dobre nakonfigurovany i/o scheduler ...