serwis komputerowy, odzyskiwanie danych


Macierze RAID


Co to jest macierz RAID?


Macierz RAID, jest to sposób logicznej organizacji współpracy wielu dysków w taki sposób, aby stanowiły logiczną całość. Nazwa pochodzi od skrótu angielsniego określenia Redundant Array of Independent Disks - Nadmiarowa Macierz Niezależnych Dysków. Łącząc dyski w jedną całość można uzyskać wiele korzyści w stosunku do używania tych dysków jako samodzielnych nośników. W szczególności można uzyskac:
- Większą szybkość i wydajność przez równoczesne rozmieszczenie danych na wielu fizycznych nośnikach. Rozwiązanie takie pozwala na ominięcie ograniczeń wynikających z transferów wewnętrznych dysków i jednoczesne przeprowadzanie operacji odczytu lub zapisu danych na wielu dyskach,
- Zwiększenie bezpieczeństwa danych przez wykorzystanie części powierzchni dysków do przechowywania dodatkowej informacji pozwalającej na korygowanie błędów oraz poprawne odtworzenie danych w przypadku awarii jednego z dysków - uczestników macierzy. Zabezpieczenia w niektórych konfiguracjach macierzy RAID pozwalają na poprawne odtworzenie danych także w przypadkach równoczesnej awarii dwóch lub więcej dysków.
- Zwiększenie dostępnej przestrzeni logicznej powyżej rozmiaru dostępnych dysków, co uzyskuje się poprzez łączenie wielu fizycznych dysków w jedną logiczną całość. Miało to szczególnie istotne znaczenie w czasach, kiedy dyski twarde miały stosunkowo małą pojemność, niepozwalającą na przechowywanie dużych zbiorów danych.
Ze względów ekonomicznych wskazane jest łączenie w macierze RAID dysków o identycznych parametrach, zwłaszcza pojemności i szybkości transferu danych.

Poziomy macierzy RAID


W zależności od sposobu organizacji pracy dysków połączonych w macierz RAID można uzyskać różne efekty. Sposoby łączenia dysków w macierze nazywane są poziomami.

RAID 0 - paskowanie (stripe)


RAID 0 jest taką metodą łączenia dysków w macierz, w której wszystkie dyski są widziane jako jeden wolumin o pojemności równej sumie wszystkich dysków uczestniczących w macierzy. Ten sposób łączenia dysków w macierz stosuje się w celu zwiększenia wydajności systemu oraz pojemności woluminu logicznego. Wzrost wydajności uzyskuje się poprzez podzielenie danych na bloki danych (paski, prążki - ang. stripe) o rozmiarze najczęściej 256 lub 1024 sektorów i umieszczenie ich kolejno na wszystkich dyskach. Rozmiar paska ma znaczenie dla wydajności macierzy. W przypadku serwera plików, z którego korzysta wielu użytkowników żądających dostępu do wielu plików równocześnie lepiej sprawdzają się dłuższe paski. Natomiast w przypadku komputera wykorzystywanego przez jednego użytkownika lepszym rozwiązaniem są krótsze paski. Aby utworzyć macierz RAID 0 konieczne są co najmniej dwa dyski. Istotną wadą tego poziomu macierzy jest brak odporności na awarię któregokolwiek z dysków - uczestników macierzy. Awaria któregokolwiek z dysków uniemożliwia dostęp do wszystkich danych znajdujących się na macierzy.

Przykład rozmieszczenia danych w macierzy RAID 0


Dysk 0 Dysk 1
0 1
2 3
... ...

RAID 1 - lustro (mirror)


RAID 1 łączy dyski w taki sposób, że wszystkie są swoimi lustrzanymi odbiciami (ang. mirror). Każdy z dysków zawiera dokładnie taką samą zawartość. Zazwyczaj w macierz RAID 1 łączy się dwa dyski, ale możliwe jest łączenie w ten sposób dowolnej ich ilości. Pojemność macierzy jest równa pojemności jednego dysku. Dane są dostępne w zasadzie dopóki choć jeden dysk działa prawidłowo, jednak z zastrzeżeniem, że w przypadku awarii dysków polegających na wystąpieniu uszkodzonych sektorów, błędy odczytu tych sektorów mogą zostać "odbite przez lustro" doprowadzając do uszkodzenia plików lub utraty spójnosci struktur logicznych. W przypadku RAID 1 można uzyskać zwiększenie wydajności systemu poprzez równoczesny odczyt danych ze wszystkich dysków - uczestników macierzy.

Przykład rozmieszczenia danych w macierzy RAID 1


Dysk 0 Dysk 1
0 0
1 1
... ...

RAID 1E


Macierz RAID 1E, podobnie, jak i RAID 1, zapewnia pełną duplikację danych, jednak różni się sposobem ich rozmieszczenia. Do utworzenia macierzy RAID 1E konieczne jest uzycie co najmniej trzech dysków. Dane dzielone są na bloki, z których kazdy zapisywany jest na dwóch niezależnych dyskach. Całkowita pojemność macierzy jest równa połowie sumy pojemności wchodzących w jej skład dysków. Przy konfiguracji macierzy RAID 1E mozliwe są dwa podejścia - sąsiadujące (ang. Adjacent) lub przesuniete (ang. Offset).

Przykład rozmieszczenia danych w macierzy RAID 1E Adjacent


Dysk 0 Dysk 1 Dysk 2
0 01
1 22
3 34
4 55
... ......

Przykład rozmieszczenia danych w macierzy RAID 1E Offset


Dysk 0 Dysk 1 Dysk 2
0 12
2 01
3 45
5 34
... ......

RAID 2


Macierze RAID 2 współczesnie już nie są spotykane. Dane w macierzach RAID 2 były paskowane po jednym sektorze, co pozwalało na zwiększenie wydajności przez ich równoległy zapis i odczyt. Ponadto w skład macierzy wchodziły dodatkowe dyski przechowujące wyliczany na podstawie danych użytkownika kod Hamminga. Kod ten został opracowany przez Richarda Hamminga w 1950 r, i początkowo miał zastosowanie do korygowania błędów na kartach perforowanych. W macierzach RAID 2 kod ten służył kontroli poprawności zapisanych na dyskach danych. Kod Hamminga pozwala na wykrycie i skorygowanie pojedynczych błedów bitowych oraz wykrycie, ale już bez możliwości skorygowania błędów podwójnych. W przypadku awarii jednego dysku macierzy kontroler był w stanie odtworzyć jego zawartość na podstawie zawartości pozostałych dysków. RAID 2 pozwalał więc na zwiększenie wydajności systemu przy jednoczesnej odporności na awarię jednego dysku. Aby skonfigurować macierz RAID 2 konieczne było użycie co najmniej trzech dysków. Zasady działania macierzy RAID 2 wiązały się z koniecznością użycia stosunkowo dużej liczby dysków niezbędnych do przechowywania kodu Hamminga, co czyniło to rozwiązanie mniej opłacalnym w stosunku do nowszych poziomów macierzy RAID. Wadami macierzy RAID 2 są także długi czas generowania kodu Hamminga oraz ryzyko jego rozsynchronizowania. Utrzymanie synchronizacji danych wymagało używania dysków z możliwością synchronizacji prędkości obrotowej.

Przykład rozmieszczenia danych w macierzy RAID 2


Dysk 0 Dysk 1 Dysk 2Dysk 3 Dysk 4 Dysk 5Dysk 6
0 123 ECCECCECC
4 567 ECCECCECC
8 9AB ECCECCECC
C DEF ECCECCECC
... ............ ......

RAID 3


Zabezpieczenie znajdujących się na dyskach twardych danych kodami ECC na poziomie sektora oraz przeniesienie odpowiedzialności za kontrolę i korekcję błędów bitowych na wewnętrzne oprogramowanie dysku pozwoliło na znaczące uproszczenie konfiguracji macierzy RAID. W konsekwencji pojawił się kolejny poziom macierzy - RAID 3, w którym jeden dysk był przeznaczony na przechowywanie sum kontrolnych, a pozostałe przechowywały dane użytkownika. Rolę sumy kontrolnej pełnił wynik funkcji logicznej alternatywy rozłącznej (XOR). Było to rozwiązanie o wiele bardziej ekonomiczne od RAID 2. Paskowanie danych po jednym sektorze pozwalało na zwiększenie wydajności macierzy w stosunku do pojedynczych dysków tak w przypadku odczytu, jak i zapisu, a dodatkowy dysk z sumami kontrolnymi pozwalał na odtworzenie zawartości macierzy w przypadku awarii jednego z dysków. Do skonfigurowania macierzy RAID 3 potrzebne są co najmniej trzy dyski. Podobnie, jak w przypadku RAID 2, także i RAID 3 wymagał synchronizacji prędkości obrotowej dysków. Jednak w przypadku RAID 3 brak synchronizacji nie groził rozsynchronizowaniem macierzy, a jedynie obniżał jej wydajność.

Przykład rozmieszczenia danych w macierzy RAID 3


Dysk 0 Dysk 1 Dysk 2
0 1XOR
2 3XOR
4 5XOR
6 7XOR
... ......

RAID 4


Macierze RAID 4 są bardzo podobne do macierzy poziomu RAID 3. Głowną różnicą jest używanie dłuższych pasków, zawierających wiele sektorów. Rozwiązanie to ułatwia podniesienie wydajności poprzez równoczesne pobieranie pliku z różnych fizycznych napędów oraz przeprowadzanie w jednym czasie kilku operacji odczytu. Wzrost wydajności jest szczególnie zauważalny podczas operacji na dużych plikach. Także w przypadku macierzy RAID 4 minimalna liczba dysków, to trzy, z których jeden jest przeznaczony na przechowywanie wartości XOR zapewniając możliwość odtworzenia zawartości macierzy w przypadku awarii jednego dysku.

Przykład rozmieszczenia danych w macierzy RAID 4


Dysk 0 Dysk 1 Dysk 2
0 1XOR
2 3XOR
4 5XOR
6 7XOR
... ......

RAID 5 - nadmiarowość rozproszona (Rotating Parity Array)


Koncepcja poziomu macierzy RAID5 jest bardzo podobna do macierzy RAID 3 i RAID 4. Także w tym przypadku minimalna liczba dysków - uczestników macierzy wynosi trzy, dane są paskowane, a sumy kontrolne pozwalają na odtworzenie zawartości macierzy w przypadku awarii jednego z dysków. Głowna róznica polega na tym, że sumy kontrolne nie są zapisywane na jednym, przeznaczonym do tego celu dysku, ale są rozpraszane na wszystkich dyskach w macierzy. Oznacza to większe możliwości w zakresie parametrów konfiguracji, a co za tym idzie, większą złożoność procesu odzyskiwania danych. Macierze RAID 5 mogą występować w konfiguracji synchronicznej lub asynchroniczne, a każda z nich może wystąpić w wariancie prawym lub lewym. Sumy kontrolne zajmują ekwiwalent pojemnosci jednego dysku. Możliwość równoczesnego odczytywania danych z wielu dysków wpływa na zwiększenie wydajności w stosunku do pojedynczego dysku. Wzrost wydajności występuje także podczas zapisu, gdyż dane są równolegle zapisywane na wiele dysków. Macierze poziomu RAID 5 są obecnie najcześciej spotykanym typem macierzy RAID.

Przykład rozmieszczenia danych w macierzy RAID 5 asynchronicznej lewej


Dysk 0 Dysk 1 Dysk 2
0 1XOR
2 XOR3
XOR 45
6 7XOR
8 XOR9
XOR AB
... ......

Przykład rozmieszczenia danych w macierzy RAID 5 asynchronicznej prawej


Dysk 0 Dysk 1 Dysk 2
XOR 01
2 XOR3
4 5XOR
XOR 67
8 XOR9
A BXOR
... ......

Przykład rozmieszczenia danych w macierzy RAID 5 synchronicznej lewej


Dysk 0 Dysk 1 Dysk 2
0 1XOR
3 XOR2
XOR 45
6 7XOR
9 XOR8
XOR AB
... ......

Przykład rozmieszczenia danych w macierzy RAID 5 synchronicznej prawej


Dysk 0 Dysk 1 Dysk 2
XOR 01
3 XOR2
4 5XOR
XOR 67
9 XOR8
A BXOR
... ......

RAID 5E


Macierz RAID 5E, to macierz z włączonym dyskiem rezerwowym (ang. hot-spare). Do jej utworzenia wymagane jest użycie co najmniej czterech dysków. Macierze RAID 5E rządzą się podobnymi prawami, jak macierze RAID 5, z tym, że na końcu każdego dysku pozostaje wydzielona przestrzeń rezerwowa, która zostaje wykorzystana w momencie awarii któregoś z dysków. Suma powierzchni rezerwowych stanowi ekwiwalent pojemności jednego dysku - uczestnika macierzy. Oznacza to, że pojemność macierzy jest mniejsza o pojemność dwóch dysków od sumy pojemności wszystkich dysków. W przypadku awarii macierz odbudowuje się z wykorzystaniem przestrzeni rezerwowej. Paskowanie, podobnie jak i w podstawowym wariancie macierzy RAID 5, wpływa na zwiększenie wydajności podczas zapisu i odczytu danych.

Przykład rozmieszczenia danych w macierzy RAID 5E asynchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3
0 1XOR(0,1)2
XOR(2,3)3XOR(4,5) 4
56 7XOR(6,7)
8 XOR(8,9)9XOR(A,B)
ABC D
XOR(C,D)E XOR(E,F)F
XOR(10,11) 101112
13XOR(12,13)14 XOR(14,15)
15XOR(16,17) 1617
18 19XOR(18,19)1A
XOR(1A,1B)1BXOR(1C,1D) 1C
1D1E 1FXOR(1E,1F)
20 XOR(20,21)21XOR(22,23)
222324 25
XOR(24,25)26 XOR(26,27)27
XOR(28,29) 28292A
2BXOR(2A,2B)2C XOR(2C,2D)
2DXOR(2E,2F) 2E2F
... .........
... .........
hot-spare hot-sparehot-sparehot-spare

Przykład rozmieszczenia danych w macierzy RAID 5E asynchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3
XOR(0,1) 012
XOR(2,3)34 5
XOR(4,5)XOR(6,7) 67
8 XOR(8,9)9A
BXOR(A,B)XOR(C,D) C
DE XOR(E,F)F
10 11XOR(10,11)XOR(12,13)
121314 XOR(14,15)
1516 17XOR(16,17)
XOR(18,19) 18191A
XOR(1A,1B)1B1C 1D
XOR(1C,1D)XOR(1E,1F) 1E1F
20 XOR(20,21)2122
23XOR(22,23)XOR(24,25) 24
2526 XOR(26,27)27
28 29XOR(28,29)XOR(2A,2B)
2A2B2C XOR(2C,2D)
2D2E 2FXOR(2E,2F)
... .........
... .........
hot-spare hot-sparehot-sparehot-spare

Przykład rozmieszczenia danych w macierzy RAID 5E synchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3
0 1XOR(0,1)3
XOR(2,3)2XOR(4,5) 4
56 7XOR(6,7)
9 XOR(8,9)8XOR(A,B)
ABC D
XOR(C,D)F XOR(E,F)E
XOR(10,11) 101112
13XOR(12,13)15 XOR(14,15)
14XOR(16,17) 1617
18 19XOR(18,19)1B
XOR(1A,1B)1AXOR(1C,1D) 1C
1D1E 1FXOR(1E,1F)
21 XOR(20,21)20XOR(22,23)
222324 25
XOR(24,25)27 XOR(26,27)26
XOR(28,29) 28292A
2BXOR(2A,2B)2D XOR(2C,2D)
2CXOR(2E,2F) 2E2F
... .........
... .........
hot-spare hot-sparehot-sparehot-spare

Przykład rozmieszczenia danych w macierzy RAID 5E synchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3
XOR(0,1) 013
XOR(2,3)24 5
XOR(4,5)XOR(6,7) 67
9 XOR(8,9)8A
BXOR(A,B)XOR(C,D) C
DF XOR(E,F)E
10 11XOR(10,11)XOR(12,13)
121315 XOR(14,15)
1416 17XOR(16,17)
XOR(18,19) 18191B
XOR(1A,1B)1A1C 1D
XOR(1C,1D)XOR(1E,1F) 1E1F
21 XOR(20,21)2022
23XOR(22,23)XOR(24,25) 24
2527 XOR(26,27)26
28 29XOR(28,29)XOR(2A,2B)
2A2B2D XOR(2C,2D)
2C2E 2FXOR(2E,2F)
... .........
... .........
hot-spare hot-sparehot-sparehot-spare

RAID 5EE


Macierz RAID 5EE, podobnie jak i RAID 5E jest wariantem macierzy RAID 5 z włączonym w jej konfigurację zapasowym dyskiem. róznica pomiędzy macierzą RAID 5E, a RAID 5EE polega na tym, że o ile w przypadku RAID 5E rezerwowa powierzchnia była umieszczona na końcu wszystkich dysków, to w macierzach RAID 5EE jest ona rozproszona pomiędzy paskami z danymi użytkownika oraz sumami kontrolnymi. Jest to rozwiązanie umożliwiające efektywniejszą odbudowę macierzy w przypadku awarii dysku. Do utworzenia macierzy RAID 5EE potrzebne są co najmniej 4 dyski, zaś sama macierz jest odporna na awarię jednego z nich. Paskowanie wpływa na zwiększenie wydajności w stosunku do pojedynczych dysków zarówno podczas odczytu, jak i zapisu. Całkowita pojemność macierzy jest mniejsza od sumy pojemności dysków, z których jest utworzona o pojemność dwóch dysków. Także macierz RAID 5EE może występować w róznych konfiguracjach.

Przykład rozmieszczenia danych w macierzy RAID 5EE asynchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3
0 1hot-spareXOR
2 hot-spareXOR3
hot-spareXOR 45
XOR 67hot-spare
8 9hot-spareXOR
A hot-spareXORB
hot-spareXOR CD
XOR EFhot-spare
... .........

Przykład rozmieszczenia danych w macierzy RAID 5EE asynchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3
hot-spareXOR 01
2 hot-spareXOR3
4 5hot-spareXOR
XOR 67hot-spare
hot-spareXOR 89
A hot-spareXORB
C Dhot-spareXOR
XOR EFhot-spare
... .........

Przykład rozmieszczenia danych w macierzy RAID 5EE synchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3
0 1hot-spareXOR
3 hot-spareXOR2
hot-spare XOR 45
XOR 76hot-spare
8 9hot-spareXOR
B hot-spareXORA
hot-spare XOR CD
XOR FEhot-spare
... .........

Przykład rozmieszczenia danych w macierzy RAID 5EE synchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3
hot-spareXOR 01
3 hot-spareXOR2
4 5hot-spareXOR
XOR 76hot-spare
hot-spareXOR 89
B hot-spareXORA
C Dhot-spareXOR
XOR FEhot-spare
... .........

RAID 6 Zaawansowana ochrona danych - Advanced Data Guarding


Zaawansowana ochrona danych w macierzach RAID 6 jest realizowana przez podwójne zabezpieczenie zawartej w tych macierzach informacji. Obok znanej z innych poziomów macierzy RAID kontroli parzystości za pomocą logicznej funkcji alternatywy rozłącznej stosowany jest dodatkowy algorytm zabezpieczenia danych. Zazwyczaj w tym celu wykorzystuje się kody korekcji błędów Reeda-Solomona. Są to kody wielomianowe tworzone na podstawie metody opracowanej w 1960 r. przez Irvinga S. Reeda oraz Gustava Solomona. Zastosowanie dodatkowego algorytmu ochrony danych pozwala na odbudowanie macierzy nawet w przypadku równoczesnej awarii dwóch dysków. Ceną za to zabezpieczenie jest miejsce zajmowane przez dodatkowe kody korekcji. Oznacza to, że dla stworzenia macierzy RAID 6 konieczne jest użycie co najmniej 4 dysków, przy czym pojemność dwóch jest przeznaczana na przechowywanie informacji nadmiarowej. Dane są paskowane w sposób podobny, jak w macierzach RAID poziomu 5. Oznacza to, że dane użytkownika przemieszane z informacją nadmiarową znajdują się równocześnie na wszystkich dyskach, a więc także macierze RAID 6 mogą występować w konfiguracji synchronicznej lub asynchronicznej oraz w wariancie lewym lub prawym. Paskowanie zwiększa wydajność macierzy zarówno podczas zapisu, jak i odczytu danych.

Przykład rozmieszczenia danych w macierzy RAID 6 asynchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3
0 1ECCXOR
2 ECCXOR3
ECCXOR 45
XOR 67ECC
8 9ECCXOR
A ECCXORB
ECCXOR CD
XOR EFECC
... .........

Przykład rozmieszczenia danych w macierzy RAID 6 asynchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3
ECCXOR 01
2 ECCXOR3
4 5ECCXOR
XOR 67ECC
ECCXOR 89
A ECCXORB
C DECCXOR
XOR EFECC
... .........

Przykład rozmieszczenia danych w macierzy RAID 6 synchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3
0 1ECCXOR
3 ECCXOR2
ECC XOR 45
XOR 76ECC
8 9ECCXOR
B ECCXORA
ECC XOR CD
XOR FEECC
... .........

Przykład rozmieszczenia danych w macierzy RAID 6 synchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3
ECCXOR 01
3 ECCXOR2
4 5ECCXOR
XOR 76ECC
ECCXOR 89
B ECCXORA
C DECCXOR
XOR FEECC
... .........

RAID 6E


Także w przypadku macierzy poziomu 6 możliwe jest właczenie do konfiguracji macierzy dysku zapasowego. Zasady konfiguracji macierzy RAID 6E są bardzo zbliżone do konfiguracji macierzy RAID 5E. Także w tym przypadku przestrzeń zapasowa jest umieszczona na końcu wszystkich dysków. Dla skonfigurowania macierzy RAID 6E niezbędne jest co najmniej 5 dysków, z których pojemność jednego przeznaczona jest na przechowywanie sum kontrolnych XOR, drugiego na kody korekcji błędów ECC, a trzeciego stanowi przestrzeń zapasową hot-spare. Dane są paskowane w analogiczny sposób, jak w macierzach RAID 6 i RAID 5E.

Przykład rozmieszczenia danych w macierzy RAID 6E asynchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
0 1ECC(0,1)XOR(0,1)2
ECC(2,3)XOR(2,3)3ECC(4,5)XOR(4,5)
45XOR(6,7) 67
ECC(6,7)8 9ECC(8,9)XOR(8,9)
A ECC(A,B)XOR(A,B)BECC(C,D)
XOR(C,D) CDXOR(E,F) E
FECC(E,F)10 11ECC(10,11)
XOR(10,11) 12 ECC(12,13)XOR(12,13)13
ECC(14,15) XOR(14,15) 1415XOR(16,17)
1617ECC(16,17)18 19
ECC(18,19)XOR(18,19)1A ECC(1A,1B)XOR(1A,1B)
1B ECC(1C,1D)XOR(1C,1D) 1C1D
XOR(1E,1F)1E1FECC(1E,1F)20
21ECC(20,21)XOR(20,21)22 ECC(22,23)
XOR(22,23)23ECC(24,25)XOR(24,25) 24
25XOR(26,27) 2627ECC(26,27)
28 29ECC(28,29)XOR(28,29)2A
ECC(2A,2B))XOR(2A,2B)2BECC(2C,2D)XOR(2C,2D)
2C2DXOR(2E,2F) 2E2F
ECC(2E,2F) 30 31ECC(30,31)XOR(30,31)
32 ECC(32,33)XOR(32,33)33ECC(34,35)
XOR(34,35) 3435XOR(36,37) 36
37ECC(36,37)38 39ECC(38,39)
XOR(38,39)3A ECC(3A.3B)XOR(3A,3B)3B
ECC(3C,3D)XOR(3C,3D) 3C3D XOR(3E,3F)
3E3FECC(3E,3F)40 41
ECC(40,41)XOR(40,41)42 ECC(42,43)XOR(42,43)
43 ECC(44,45)XOR(44,45) 44 45
XOR(46,47) 4647ECC(46,47) 48
49ECC(48,49)XOR(48,49)4AECC(4A,4B)
XOR(4A,4B)4BECC(4C,4D)XOR(4C,4D)4C
4DXOR(4E,4F) 4E4FECC(4E,4F)
... ............
... ............
hot-spare hot-sparehot-sparehot-sparehot-spare

Przykład rozmieszczenia danych w macierzy RAID 6E asynchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
ECC(0,1)XOR(0,1) 012
ECC(2,3)XOR(2,3)34 5
ECC(4,5)XOR(4,5)XOR(6,7) 67
ECC(6,7)ECC(8,9)XOR(8,9) 89
A ECC(A,B)XOR(A,B)B C
DECC(C,D)XOR(C,D)XOR(E,F) E
FECC(E,F)ECC(10,11)XOR(10,11) 10
11 12 ECC(12,13)XOR(12,13)13
14 15ECC(14,15)XOR(14,15)XOR(16,17)
1617ECC(16,17)ECC(18,19)XOR(18,19)
18191A ECC(1A,1B)XOR(1A,1B)
1B 1C 1DECC(1C,1D)XOR(1C,1D)
XOR(1E,1F) 1E1FECC(1E,1F)ECC(20,21)
XOR(20,21) 202122 ECC(22,23)
XOR(22,23)2324 25ECC(24,25)
XOR(24,25) XOR(26,27) 2627ECC(26,27)
ECC(28,29)XOR(28,29) 28292A
ECC(2A,2B)XOR(2A,2B)2B2C 2D
ECC(2C,2D)XOR(2C,2D)XOR(2E,2F) 2E2F
ECC(2E,2F)ECC(30,31)XOR(30,31) 3031
32 ECC(32,33)XOR(32,33)33 34
35ECC(34,35)XOR(34,35)XOR(36,37) 36
37ECC(36,37)ECC(38,39)XOR(38,39) 38
39 3A ECC(3A,3B)XOR(3A,3B)3B
3C 3DECC(3C,3D)XOR(3C,3D)XOR(3E,3F)
3E3FECC(3E,3F)ECC(40,41)XOR(40,41)
404142 ECC(42,43)XOR(42,43)
4344 45ECC(44,45)XOR(44,45)
XOR(46,47) 4647ECC(46,47)ECC(48,49)
XOR(48,49) 4849 4A ECC(4A,4B)
XOR(4A,4B)4B 4C 4DECC(4C,4D)
XOR(4C,4D) XOR(4E,4F) 4E4FECC(4E,4F)
... ............
... ............
hot-spare hot-sparehot-sparehot-sparehot-spare

Przykład rozmieszczenia danych w macierzy RAID 6E synchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
0 1ECC(0,1)XOR(0,1) 3
ECC(2,3)XOR(2,3)2ECC(4,5) XOR(4,5)
45XOR(6,7) 76
ECC(6,7) 8 9ECC(8,9)XOR(8,9)
B ECC(A,B)XOR(A,B)AECC(C,D)
XOR(C,D) CDXOR(E,F) F
EECC(E,F)10 11ECC(10,11)
XOR(10,11) 13 ECC(12,13)XOR(12,13)12
ECC(14,15) XOR(14,15) 1415 XOR(16,17)
1716ECC(16,17)18 19
ECC(18,19)XOR(18,19)1B ECC(1A,1B)XOR(1A,1B)
1A ECC(1C,1D) XOR(1C,1D) 1C1D
XOR(1E,1F) 1F1EECC(1E,1F)20
21ECC(20,21)XOR(20,21)23 ECC(22,23)
XOR(22,23)22ECC(24,25) XOR(24,25) 24
25 XOR(26,27) 2726ECC(26,27)
28 29ECC(28,29)XOR(28,29) 2B
ECC(2A,2B)XOR(2A,2B)2AECC(2C,2D) XOR(2C,2D)
2C2D XOR(2E,2F) 2F2E
ECC(2E,2F) 30 31ECC(30,31)XOR(30,31)
33 ECC(32,33)XOR(32,33)32ECC(34,35)
XOR(34,35) 3435XOR(36,37) 37
36ECC(36,37)38 39ECC(38,39)
XOR(38,39) 3B ECC(3A,3B)XOR(3A,3B)3A
ECC(3C,3D) XOR(3C,3D) 3C3D XOR(3E,3F)
3F3EECC(3E,3F)40 41
ECC(40,41)XOR(40,41)43 ECC(42,43)XOR(42,43)
42 ECC(44,45) XOR(44,45) 4445
XOR(46,47) 4746ECC(46,47) 48
49ECC(48,49)XOR(48.49)4B ECC(4A,4B)
XOR(4A,4B)4AECC(4C,4D) XOR(4C,4D) 4C
4D XOR(4E,4F) 4F4EECC(4E,4F)
... ............
... ............
hot-spare hot-sparehot-sparehot-sparehot-spare

Przykład rozmieszczenia danych w macierzy RAID 6E synchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
ECC(0,1)XOR(0,1) 013
ECC(2,3)XOR(2,3)2 4 5
ECC(4,5)XOR(4,5)XOR(6,7) 76
ECC(6,7) ECC(8,9)XOR(8,9) 89
B ECC(A,B)XOR(A,B)AC
DECC(C,D)XOR(C,D)XOR(E,F) F
EECC(E,F)ECC(10,11)XOR(10,11) 10
11 13 ECC(12,13)XOR(12,13)12
14 15ECC(14,15)XOR(14,15)XOR(16,17)
1716ECC(16,17) ECC(18,19)XOR(18,19)
18191B ECC(1A,1B)XOR(1A,1B)
1A 1C 1DECC(1C,1D)XOR(1C,1D)
XOR(1E,1F) 1F1EECC(1E,1F)ECC(20.21)
XOR(20,21) 202123 ECC(22,23)
XOR(22,23)2224 25ECC(24,25)
XOR(24,25) XOR(26,27) 2726ECC(26,27)
ECC(28,29)XOR(28,29) 2829 2B
ECC(2A,2B)XOR(2A,2B)2A 2C 2D
ECC(2C,2D)XOR(2C,2D) XOR(2E.2F) 2F2E
ECC(2E,2F) ECC(30,31)XOR(30,31) 3031
33 ECC(32,33)XOR(32,33)3234
35ECC(34,35)XOR(34,35)XOR(36,37) 37
36ECC(36,37) ECC(38,39)XOR(38,39) 38
39 3B ECC(3A,3B)XOR(3A,3B)3A
3C 3DECC(3C,3D)XOR(3C,3D)XOR(3E,3F)
3F3EECC(3E,3F) ECC(40,41)XOR(40,41)
404143 ECC(42,43)XOR(42,43)
42 44 45ECC(44,45)XOR(44,45)
XOR(46.47) 4746ECC(46,47) ECC(48.49)
XOR(48,49) 4849 4B ECC(4A,4B)
XOR(4A,4B)4A4C 4DECC(4C,4D)
XOR(4C,4D) XOR(4E,4F) 4F4EECC(4E,4F)
... ............
... ............
hot-spare hot-sparehot-sparehot-sparehot-spare

RAID 6EE


Macierz RAID 6EE, to typ macierzy RAID 6 uwzględniający przestrzeń rezerwowego dysku rozproszoną pomiędzy paskami danych użytkownika oraz informacji nadmiarowej w analogiczny sposób, jak to ma miejsce w przypadku macierzy RAID 5EE. Utworzenie macierzy RAID 6EE wymaga uzycia co najmniej 5 dysków. Pojemność macierzy odpowiada sumie pojemnosci dysków pomniejszonej o pojemność trzech dysków przeznaczoną na przechowywanie sum kontrolnych XOR, kodów korekcji ECC oraz przestrzeń rezerwowego dysku hot-spare. Macierz RAID 6EE jest odporna na awarię dwóch dysków. Paskowanie pozwala na wzrost wydajności podczas odczytu i zapisu informacji. Możliwe są warianty konfiguracji charakterystyczne dla innych typów macierzy RAID poziomu 6, a także dla macierzy RAID poziomu 5.

Przykład rozmieszczenia danych w macierzy RAID 6EE asynchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
0 1ECCXORhot-spare
2 ECCXORhot-spare3
ECCXORhot-spare 45
XORhot-spare 67ECC
hot-spare 8 9ECCXOR
A BECCXORhot-spare
C ECCXORhot-spareD
ECCXORhot-spare EF
XORhot-spare 1011ECC
hot-spare 12 13ECCXOR
... ............

Przykład rozmieszczenia danych w macierzy RAID 6EE asynchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
ECCXORhot-spare 01
2 ECCXORhot-spare3
4 5ECCXORhot-spare
hot-spare 6 7ECCXOR
XORhot-spare 89ECC
ECCXORhot-spare AB
C ECCXORhot-spareD
E FECCXORhot-spare
hot-spare 10 11ECCXOR
XORhot-spare 1213ECC
... ............

Przykład rozmieszczenia danych w macierzy RAID 6EE synchronicznej lewej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
0 1ECCXORhot-spare
3 ECCXORhot-spare2
ECC XORhot-spare 45
XORhot-spare 76ECC
hot-spare 8 9ECCXOR
A BECCXORhot-spare
D ECCXORhot-spareC
ECC XORhot-spare EF
XORhot-spare 1110ECC
hot-spare 12 13ECCXOR

Przykład rozmieszczenia danych w macierzy RAID 6EE synchronicznej prawej


Dysk 0 Dysk 1 Dysk 2Dysk 3Dysk 4
ECCXORhot-spare 01
3 ECCXORhot-spare2
4 5ECCXORhot-spare
hot-spare7 6ECCXOR
XOR hot-spare89ECC
ECCXORhot-spare AB
D ECCXORhot-spareC
E FECCXORhot-spare
hot-spare11 10ECCXOR
XOR hot-spare1213ECC
...... .........