Kasper Dupont <kasperd@daimi.au.dk> wrote:
[En udmærket redegørelse for RAID, hvor jeg kun har et par
småtilføjelser:]
>Hvis vi f.eks. har fire diske med data og en
>disk til redundans beregnes hver bit på den femte disk
>udfra bitene på de fire første diske, dvs. e=a^b^c^d
>Den sidste bit kaldes paritetsbiten.
Grunden til at den kaldes sådan er at det altid ender med at der er et
lige antal af de 5 diske hvor bitten er en 1-bit. Det kaldes "lige
paritet". Ulige paritet betegner tilsvarende et system hvor der er et
ulige antal 1-bitter, og de to slags paritet er (i denne sammenhæng)
aldeles lige gode.
Når man fx bruger paritet på RAM (altså en niende bit tilføjet til hver
byte på en sådan måde at der altid er et lige antal 1-bitter blandt de
9), så kan man kun bruge pariteten til at *detektere* fejl, men ikke til
at rette den: det er fordi man i RAM-tilfældet ikke ved hvilken af de 9
bit der er syg, man kan bare se at pariteten er forkert og at der derfor
er en bit (strengt taget: et ulige antal bit) med forkerte værdier.
Det der gør at man i tilfældet med RAID-diske kan *rette* fejlen (altså
læse korrekte data selvom en disk er syg) er at man (pga. den redundans
(CRC) der er på de enkelte disksektorer) ved hvilken disk det er der er
syg. Og så kan man regne de rigtige data for den ud vha. pariteten.
>Hvis du kun har to diske vil raid-4 og raid-5 begge blot
>være identisk med en spejling, også kaldet raid-1. Du har
>altså nøjagtigt det samme på begge diske.
Det betyder ganske rigtigt at RAID-5 med 10 diske kun har 11%
pladsmæssigt overhead, mens RAID-1 (med 2 diske) har 100% overhead.
Til gengæld er risikoen for at ting går galt større med de 10 diske:
risikoen for at miste 2 af 2 diske (inden man får udskiftet den første)
er langt mindre end risikoen for at miste 2 af 10 diske.
--
Jesper Dybdal, Denmark.
http://www.dybdal.dk (in Danish).