Re: Co znaczy RAID 0 , 1 , 0+1 ?

Autor: Sniper <sniper10000_at_poczta.onet.pl>
Data: Fri 13 Aug 2004 - 19:27:48 MET DST
Message-ID: <610hxbg0uao1$.5b9uj492tyua$.dlg@40tude.net>
Content-Type: text/plain; charset="iso-8859-2"

Radosław Sokół napisał:

> Masz jakieś linki do opisów?

Niewiele tego w sieci. Większość stron nie widzi różnicy pomiędzy
RAID 0+1 a RAID 10.

Tutaj coś znalazłem:
http://www.storagereview.com/guide2000/ref/hdd/perf/raid/levels/multLevel01.html
ale nie miałem czasu przeczytać do końca, więc nie wiem ile tam
prawdy. Poniżej opiszę wszystko po swojemu :)

> Ja znalazłem np. takie coś:
> http://www.acnc.com/04_01_10.html
> Wedle tego RAID 10 to w zasadzie właśnie 1+0.

Hmmm... niezupełnie, to bardzo odmienne macierze, których
funkcjonalność można docenić biorąc pod uwagę awaryjność obu
systemów. Całe zamieszanie wynika z tego, że ktoś kiedyś utożsamił
RAID 0+1 i RAIDem 10 i tak zaczęło się powielanie błędnych
informacji.

Trudno jest też zrozumieć różnicę jeśli ciężko trafić w necie na
te _prawdziwe_ informacje. Jeszcze trudniej zauważyć różnicę jeśli
próbuje się je wykryć tylko na 4 dyskach.

A całość wygląda mniej więcej tak: załóżmy, że konstruujemy
macierz z 10 dysków, każdy ponumerowany od 1 do 10.

W RAID 0+1 sytuacja wygląda tak: bierzemy 5 dysków (1, 2, 3, 4, 5)
i łączymy je w RAID 0 metodą strippingu w równych blokach na
każdym z dysków. Tak powstaje segment "A". Z kolejnych 5 dysków
(6, 7, 8, 9, 10) tworzymy drugi taki sam segment, np. "B". Na
wyższym poziomie dokonujemy mirroringu segmentu "A" i "B" przy
pomocy RAID 1. Jeśli teraz padnie któryś z dysków, np. dysk nr 4
natychmiast tracimy cały segment "A" (bo taki pojedynczy stripping
nie potrafi sobie poradzić bez jednego dysku). Cała macierz 0+1
nadal działa poprawnie, ponieważ mamy dokładny mirror w segmencie
"B", ale zachowuje się tak jakby był to zwykły RAID 0, czyli
niczym nie zabezpieczony stripping. Jeśli nie zdążymy wymienić
uszkodzonego dysku i w tym czasie padnie dysk nr 7 - tracimy cały
segment "B" a z nim również całą naszą macierz i wszystkie dane.

Obrazowo wygląda to tak:
[1] + [2] + [3] + [4] + [5] = RAID 0 -> Segment "A"
[6] + [7] + [8] + [9] + [10] = RAID 0 -> Segment "B"

"A" + "B" = RAID 0+1

W RAID 10 jest trochę inaczej: bierzemy 2 dyski (1 i 2) i robimy z
nich mirroring (RAID 1). Niech to będzie segment "A". Z kolejnych
2 dysków (3 i 4) robimy następny mirroring - segment "B". Z
następnych 2 dysków (5 i 6) tworzymy segment "C", potem segment
"D" (dyski 7 i 8) i wreszcie segment "E" (dyski 9 i 10). Taką
metodą powstaje 5 niezależnych segmentów RAID 1. Na wyższym
poziomie tworzymy mirroring (RAID 0) ze wszystkich segmentów od
"A" do "E". Takim sposobem dane są w równych porcjach stripowane
na każdy z segmentów. Dodatkowo każdy z segmentów ma jeszcze
własny mirroring złożony z dwóch dysków. Jeśli teraz padnie nam
dysk nr 4, efekt jest taki jakby nic się nie stało. Cały czas mamy
pełny mirroring tego napędu na dysku nr 3 należącym do tego samego
segmentu "B". Mirroring w tym pojedynczym segmencie zostaje
uszkodzony, ale cała macierz działa bez najmniejszych problemów.
Jeśli jednocześnie padnie dysk nr 7 to również nic poważnego się
nie dzieje, bo ciągle mamy mirror tego napędu na dysku nr 8
należącym do segmentu "D". Tą samą metodą może paść jednocześnie 5
dysków - po 1 dysku na każdy segment a funkcjonalność całej
macierzy w żaden sposób nie zostanie zachwiana. Dopiero gdy padną
2 dyski z tego samego segmentu tracimy całą macierz.

Obrazowo wygląda to tak:
[1] + [2] = RAID 1 -> Segment "A"
[3] + [4] = RAID 1 -> Segment "B"
[5] + [6] = RAID 1 -> Segment "C"
[7] + [8] = RAID 1 -> Segment "D"
[9] + [10] = RAID 1 -> Segment "E"

"A" + "B" + "C" + "D" + "E" = RAID 10

Teoretycznie RAID 10 jest więc o wiele bardziej bezpiecznym
systemem niż RAID 0+1.

-- 
                        Pozdrawiam, Sniper
     \^^^^/                                             \^^^^/
    ((.)(.))      Po przeczytaniu spal ten list!        (@  @)
---OOO-()-OOO-----------------------------------------OOO-()-OOO---
Received on Fri Aug 13 19:30:17 2004

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Fri 13 Aug 2004 - 19:51:14 MET DST