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 | 0 | 1 |
1 | 2 | 2 |
3 | 3 | 4 |
4 | 5 | 5 |
... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 1E Offset
Dysk 0 | Dysk 1 | Dysk 2 |
0 | 1 | 2 |
2 | 0 | 1 |
3 | 4 | 5 |
5 | 3 | 4 |
... | ... | ... |
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 2 | Dysk 3 | Dysk 4 | Dysk 5 | Dysk 6 |
0 | 1 | 2 | 3 | ECC | ECC | ECC |
4 | 5 | 6 | 7 | ECC | ECC | ECC |
8 | 9 | A | B | ECC | ECC | ECC |
C | D | E | F | ECC | ECC | ECC |
... | ... | ... | ... | ... | ... | ... |
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 | 1 | XOR |
2 | 3 | XOR |
4 | 5 | XOR |
6 | 7 | XOR |
... | ... | ... |
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 | 1 | XOR |
2 | 3 | XOR |
4 | 5 | XOR |
6 | 7 | XOR |
... | ... | ... |
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 | 1 | XOR |
2 | XOR | 3 |
XOR | 4 | 5 |
6 | 7 | XOR |
8 | XOR | 9 |
XOR | A | B |
... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 5 asynchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 |
XOR | 0 | 1 |
2 | XOR | 3 |
4 | 5 | XOR |
XOR | 6 | 7 |
8 | XOR | 9 |
A | B | XOR |
... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 5 synchronicznej lewej
Dysk 0 | Dysk 1 | Dysk 2 |
0 | 1 | XOR |
3 | XOR | 2 |
XOR | 4 | 5 |
6 | 7 | XOR |
9 | XOR | 8 |
XOR | A | B |
... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 5 synchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 |
XOR | 0 | 1 |
3 | XOR | 2 |
4 | 5 | XOR |
XOR | 6 | 7 |
9 | XOR | 8 |
A | B | XOR |
... | ... | ... |
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 2 | Dysk 3 |
0 | 1 | XOR(0,1) | 2 |
XOR(2,3) | 3 | XOR(4,5) | 4 |
5 | 6 | 7 | XOR(6,7) |
8 | XOR(8,9) | 9 | XOR(A,B) |
A | B | C | D |
XOR(C,D) | E | XOR(E,F) | F |
XOR(10,11) | 10 | 11 | 12 |
13 | XOR(12,13) | 14 | XOR(14,15) |
15 | XOR(16,17) | 16 | 17 |
18 | 19 | XOR(18,19) | 1A |
XOR(1A,1B) | 1B | XOR(1C,1D) | 1C |
1D | 1E | 1F | XOR(1E,1F) |
20 | XOR(20,21) | 21 | XOR(22,23) |
22 | 23 | 24 | 25 |
XOR(24,25) | 26 | XOR(26,27) | 27 |
XOR(28,29) | 28 | 29 | 2A |
2B | XOR(2A,2B) | 2C | XOR(2C,2D) |
2D | XOR(2E,2F) | 2E | 2F |
... | ... | ... | ... |
... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare |
Przykład rozmieszczenia danych w macierzy RAID 5E asynchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
XOR(0,1) | 0 | 1 | 2 |
XOR(2,3) | 3 | 4 | 5 |
XOR(4,5) | XOR(6,7) | 6 | 7 |
8 | XOR(8,9) | 9 | A |
B | XOR(A,B) | XOR(C,D) | C |
D | E | XOR(E,F) | F |
10 | 11 | XOR(10,11) | XOR(12,13) |
12 | 13 | 14 | XOR(14,15) |
15 | 16 | 17 | XOR(16,17) |
XOR(18,19) | 18 | 19 | 1A |
XOR(1A,1B) | 1B | 1C | 1D |
XOR(1C,1D) | XOR(1E,1F) | 1E | 1F |
20 | XOR(20,21) | 21 | 22 |
23 | XOR(22,23) | XOR(24,25) | 24 |
25 | 26 | XOR(26,27) | 27 |
28 | 29 | XOR(28,29) | XOR(2A,2B) |
2A | 2B | 2C | XOR(2C,2D) |
2D | 2E | 2F | XOR(2E,2F) |
... | ... | ... | ... |
... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare |
Przykład rozmieszczenia danych w macierzy RAID 5E synchronicznej lewej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
0 | 1 | XOR(0,1) | 3 |
XOR(2,3) | 2 | XOR(4,5) | 4 |
5 | 6 | 7 | XOR(6,7) |
9 | XOR(8,9) | 8 | XOR(A,B) |
A | B | C | D |
XOR(C,D) | F | XOR(E,F) | E |
XOR(10,11) | 10 | 11 | 12 |
13 | XOR(12,13) | 15 | XOR(14,15) |
14 | XOR(16,17) | 16 | 17 |
18 | 19 | XOR(18,19) | 1B |
XOR(1A,1B) | 1A | XOR(1C,1D) | 1C |
1D | 1E | 1F | XOR(1E,1F) |
21 | XOR(20,21) | 20 | XOR(22,23) |
22 | 23 | 24 | 25 |
XOR(24,25) | 27 | XOR(26,27) | 26 |
XOR(28,29) | 28 | 29 | 2A |
2B | XOR(2A,2B) | 2D | XOR(2C,2D) |
2C | XOR(2E,2F) | 2E | 2F |
... | ... | ... | ... |
... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare |
Przykład rozmieszczenia danych w macierzy RAID 5E synchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
XOR(0,1) | 0 | 1 | 3 |
XOR(2,3) | 2 | 4 | 5 |
XOR(4,5) | XOR(6,7) | 6 | 7 |
9 | XOR(8,9) | 8 | A |
B | XOR(A,B) | XOR(C,D) | C |
D | F | XOR(E,F) | E |
10 | 11 | XOR(10,11) | XOR(12,13) |
12 | 13 | 15 | XOR(14,15) |
14 | 16 | 17 | XOR(16,17) |
XOR(18,19) | 18 | 19 | 1B |
XOR(1A,1B) | 1A | 1C | 1D |
XOR(1C,1D) | XOR(1E,1F) | 1E | 1F |
21 | XOR(20,21) | 20 | 22 |
23 | XOR(22,23) | XOR(24,25) | 24 |
25 | 27 | XOR(26,27) | 26 |
28 | 29 | XOR(28,29) | XOR(2A,2B) |
2A | 2B | 2D | XOR(2C,2D) |
2C | 2E | 2F | XOR(2E,2F) |
... | ... | ... | ... |
... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-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 2 | Dysk 3 |
0 | 1 | hot-spare | XOR |
2 | hot-spare | XOR | 3 |
hot-spare | XOR | 4 | 5 |
XOR | 6 | 7 | hot-spare |
8 | 9 | hot-spare | XOR |
A | hot-spare | XOR | B |
hot-spare | XOR | C | D |
XOR | E | F | hot-spare |
... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 5EE asynchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
hot-spare | XOR | 0 | 1 |
2 | hot-spare | XOR | 3 |
4 | 5 | hot-spare | XOR |
XOR | 6 | 7 | hot-spare |
hot-spare | XOR | 8 | 9 |
A | hot-spare | XOR | B |
C | D | hot-spare | XOR |
XOR | E | F | hot-spare |
... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 5EE synchronicznej lewej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
0 | 1 | hot-spare | XOR |
3 | hot-spare | XOR | 2 |
hot-spare | XOR | 4 | 5 |
XOR | 7 | 6 | hot-spare |
8 | 9 | hot-spare | XOR |
B | hot-spare | XOR | A |
hot-spare | XOR | C | D |
XOR | F | E | hot-spare |
... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 5EE synchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
hot-spare | XOR | 0 | 1 |
3 | hot-spare | XOR | 2 |
4 | 5 | hot-spare | XOR |
XOR | 7 | 6 | hot-spare |
hot-spare | XOR | 8 | 9 |
B | hot-spare | XOR | A |
C | D | hot-spare | XOR |
XOR | F | E | hot-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 2 | Dysk 3 |
0 | 1 | ECC | XOR |
2 | ECC | XOR | 3 |
ECC | XOR | 4 | 5 |
XOR | 6 | 7 | ECC |
8 | 9 | ECC | XOR |
A | ECC | XOR | B |
ECC | XOR | C | D |
XOR | E | F | ECC |
... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 6 asynchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
ECC | XOR | 0 | 1 |
2 | ECC | XOR | 3 |
4 | 5 | ECC | XOR |
XOR | 6 | 7 | ECC |
ECC | XOR | 8 | 9 |
A | ECC | XOR | B |
C | D | ECC | XOR |
XOR | E | F | ECC |
... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 6 synchronicznej lewej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
0 | 1 | ECC | XOR |
3 | ECC | XOR | 2 |
ECC | XOR | 4 | 5 |
XOR | 7 | 6 | ECC |
8 | 9 | ECC | XOR |
B | ECC | XOR | A |
ECC | XOR | C | D |
XOR | F | E | ECC |
... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 6 synchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 |
ECC | XOR | 0 | 1 |
3 | ECC | XOR | 2 |
4 | 5 | ECC | XOR |
XOR | 7 | 6 | ECC |
ECC | XOR | 8 | 9 |
B | ECC | XOR | A |
C | D | ECC | XOR |
XOR | F | E | ECC |
... | ... | ... | ... |
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 2 | Dysk 3 | Dysk 4 |
0 | 1 | ECC(0,1) | XOR(0,1) | 2 |
ECC(2,3) | XOR(2,3) | 3 | ECC(4,5) | XOR(4,5) |
4 | 5 | XOR(6,7) | 6 | 7 |
ECC(6,7) | 8 | 9 | ECC(8,9) | XOR(8,9) |
A | ECC(A,B) | XOR(A,B) | B | ECC(C,D) |
XOR(C,D) | C | D | XOR(E,F) | E |
F | ECC(E,F) | 10 | 11 | ECC(10,11) |
XOR(10,11) | 12 | ECC(12,13) | XOR(12,13) | 13 |
ECC(14,15) | XOR(14,15) | 14 | 15 | XOR(16,17) |
16 | 17 | ECC(16,17) | 18 | 19 |
ECC(18,19) | XOR(18,19) | 1A | ECC(1A,1B) | XOR(1A,1B) |
1B | ECC(1C,1D) | XOR(1C,1D) | 1C | 1D |
XOR(1E,1F) | 1E | 1F | ECC(1E,1F) | 20 |
21 | ECC(20,21) | XOR(20,21) | 22 | ECC(22,23) |
XOR(22,23) | 23 | ECC(24,25) | XOR(24,25) | 24 |
25 | XOR(26,27) | 26 | 27 | ECC(26,27) |
28 | 29 | ECC(28,29) | XOR(28,29) | 2A |
ECC(2A,2B)) | XOR(2A,2B) | 2B | ECC(2C,2D) | XOR(2C,2D) |
2C | 2D | XOR(2E,2F) | 2E | 2F |
ECC(2E,2F) | 30 | 31 | ECC(30,31) | XOR(30,31) |
32 | ECC(32,33) | XOR(32,33) | 33 | ECC(34,35) |
XOR(34,35) | 34 | 35 | XOR(36,37) | 36 |
37 | ECC(36,37) | 38 | 39 | ECC(38,39) |
XOR(38,39) | 3A | ECC(3A.3B) | XOR(3A,3B) | 3B |
ECC(3C,3D) | XOR(3C,3D) | 3C | 3D | XOR(3E,3F) |
3E | 3F | ECC(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) | 46 | 47 | ECC(46,47) | 48 |
49 | ECC(48,49) | XOR(48,49) | 4A | ECC(4A,4B) |
XOR(4A,4B) | 4B | ECC(4C,4D) | XOR(4C,4D) | 4C |
4D | XOR(4E,4F) | 4E | 4F | ECC(4E,4F) |
... | ... | ... | ... | ... |
... | ... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare | hot-spare |
Przykład rozmieszczenia danych w macierzy RAID 6E asynchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 | Dysk 4 |
ECC(0,1) | XOR(0,1) | 0 | 1 | 2 |
ECC(2,3) | XOR(2,3) | 3 | 4 | 5 |
ECC(4,5) | XOR(4,5) | XOR(6,7) | 6 | 7 |
ECC(6,7) | ECC(8,9) | XOR(8,9) | 8 | 9 |
A | ECC(A,B) | XOR(A,B) | B | C |
D | ECC(C,D) | XOR(C,D) | XOR(E,F) | E |
F | ECC(E,F) | ECC(10,11) | XOR(10,11) | 10 |
11 | 12 | ECC(12,13) | XOR(12,13) | 13 |
14 | 15 | ECC(14,15) | XOR(14,15) | XOR(16,17) |
16 | 17 | ECC(16,17) | ECC(18,19) | XOR(18,19) |
18 | 19 | 1A | ECC(1A,1B) | XOR(1A,1B) |
1B | 1C | 1D | ECC(1C,1D) | XOR(1C,1D) |
XOR(1E,1F) | 1E | 1F | ECC(1E,1F) | ECC(20,21) |
XOR(20,21) | 20 | 21 | 22 | ECC(22,23) |
XOR(22,23) | 23 | 24 | 25 | ECC(24,25) |
XOR(24,25) | XOR(26,27) | 26 | 27 | ECC(26,27) |
ECC(28,29) | XOR(28,29) | 28 | 29 | 2A |
ECC(2A,2B) | XOR(2A,2B) | 2B | 2C | 2D |
ECC(2C,2D) | XOR(2C,2D) | XOR(2E,2F) | 2E | 2F |
ECC(2E,2F) | ECC(30,31) | XOR(30,31) | 30 | 31 |
32 | ECC(32,33) | XOR(32,33) | 33 | 34 |
35 | ECC(34,35) | XOR(34,35) | XOR(36,37) | 36 |
37 | ECC(36,37) | ECC(38,39) | XOR(38,39) | 38 |
39 | 3A | ECC(3A,3B) | XOR(3A,3B) | 3B |
3C | 3D | ECC(3C,3D) | XOR(3C,3D) | XOR(3E,3F) |
3E | 3F | ECC(3E,3F) | ECC(40,41) | XOR(40,41) |
40 | 41 | 42 | ECC(42,43) | XOR(42,43)
|
43 | 44 | 45 | ECC(44,45) | XOR(44,45) |
XOR(46,47) | 46 | 47 | ECC(46,47) | ECC(48,49) |
XOR(48,49) | 48 | 49 | 4A | ECC(4A,4B) |
XOR(4A,4B) | 4B |
4C | 4D | ECC(4C,4D) |
XOR(4C,4D) | XOR(4E,4F) | 4E | 4F | ECC(4E,4F) |
... | ... | ... | ... | ... |
... | ... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare | hot-spare |
Przykład rozmieszczenia danych w macierzy RAID 6E synchronicznej lewej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 | Dysk 4 |
0 | 1 | ECC(0,1) | XOR(0,1) | 3 |
ECC(2,3) | XOR(2,3) | 2 | ECC(4,5) | XOR(4,5) |
4 | 5 | XOR(6,7) | 7 | 6 |
ECC(6,7) |
8 | 9 | ECC(8,9) | XOR(8,9) |
B | ECC(A,B) | XOR(A,B) | A | ECC(C,D) |
XOR(C,D) | C | D | XOR(E,F) | F |
E | ECC(E,F) | 10 | 11 | ECC(10,11) |
XOR(10,11) |
13 | ECC(12,13) | XOR(12,13) | 12 |
ECC(14,15) | XOR(14,15) | 14 | 15 | XOR(16,17) |
17 | 16 | ECC(16,17) | 18 | 19 |
ECC(18,19) | XOR(18,19) | 1B | ECC(1A,1B) | XOR(1A,1B) |
1A |
ECC(1C,1D) | XOR(1C,1D) | 1C | 1D |
XOR(1E,1F) | 1F | 1E | ECC(1E,1F) | 20 |
21 | ECC(20,21) | XOR(20,21) | 23 | ECC(22,23) |
XOR(22,23) | 22 | ECC(24,25) | XOR(24,25) | 24 |
25 |
XOR(26,27) | 27 | 26 | ECC(26,27) |
28 | 29 | ECC(28,29) | XOR(28,29) | 2B |
ECC(2A,2B) | XOR(2A,2B) | 2A | ECC(2C,2D) | XOR(2C,2D) |
2C | 2D | XOR(2E,2F) | 2F | 2E |
ECC(2E,2F) |
30 | 31 | ECC(30,31) | XOR(30,31) |
33 | ECC(32,33) | XOR(32,33) | 32 | ECC(34,35) |
XOR(34,35) | 34 | 35 | XOR(36,37) | 37 |
36 | ECC(36,37) | 38 | 39 | ECC(38,39) |
XOR(38,39) |
3B | ECC(3A,3B) | XOR(3A,3B) | 3A |
ECC(3C,3D) | XOR(3C,3D) | 3C | 3D | XOR(3E,3F) |
3F | 3E | ECC(3E,3F) | 40 | 41 |
ECC(40,41) | XOR(40,41) | 43 | ECC(42,43) | XOR(42,43) |
42 |
ECC(44,45) | XOR(44,45) | 44 | 45 |
XOR(46,47) | 47 | 46 | ECC(46,47) | 48 |
49 | ECC(48,49) | XOR(48.49) | 4B | ECC(4A,4B) |
XOR(4A,4B) | 4A | ECC(4C,4D) | XOR(4C,4D) | 4C |
4D |
XOR(4E,4F) | 4F | 4E | ECC(4E,4F) |
... | ... | ... | ... | ... |
... | ... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare | hot-spare |
Przykład rozmieszczenia danych w macierzy RAID 6E synchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 | Dysk 4 |
ECC(0,1) | XOR(0,1) | 0 | 1 | 3 |
ECC(2,3) | XOR(2,3) | 2 | 4 | 5 |
ECC(4,5) | XOR(4,5) | XOR(6,7) | 7 | 6 |
ECC(6,7) |
ECC(8,9) | XOR(8,9) | 8 | 9 |
B | ECC(A,B) | XOR(A,B) | A | C |
D | ECC(C,D) | XOR(C,D) | XOR(E,F) | F |
E | ECC(E,F) | ECC(10,11) | XOR(10,11) | 10 |
11 |
13 | ECC(12,13) | XOR(12,13) | 12 |
14 | 15 | ECC(14,15) | XOR(14,15) | XOR(16,17) |
17 | 16 | ECC(16,17) | ECC(18,19) | XOR(18,19) |
18 | 19 | 1B | ECC(1A,1B) | XOR(1A,1B) |
1A |
1C | 1D | ECC(1C,1D) | XOR(1C,1D) |
XOR(1E,1F) | 1F | 1E | ECC(1E,1F) | ECC(20.21) |
XOR(20,21) | 20 | 21 | 23 | ECC(22,23) |
XOR(22,23) | 22 | 24 | 25 | ECC(24,25) |
XOR(24,25) |
XOR(26,27) | 27 | 26 | ECC(26,27) |
ECC(28,29) | XOR(28,29) | 28 | 29 | 2B |
ECC(2A,2B) | XOR(2A,2B) | 2A | 2C | 2D |
ECC(2C,2D) | XOR(2C,2D) | XOR(2E.2F) | 2F | 2E |
ECC(2E,2F) |
ECC(30,31) | XOR(30,31) | 30 | 31 |
33 | ECC(32,33) | XOR(32,33) | 32 | 34 |
35 | ECC(34,35) | XOR(34,35) | XOR(36,37) | 37 |
36 | ECC(36,37) | ECC(38,39) | XOR(38,39) | 38 |
39 |
3B | ECC(3A,3B) | XOR(3A,3B) | 3A |
3C | 3D | ECC(3C,3D) | XOR(3C,3D) | XOR(3E,3F) |
3F | 3E | ECC(3E,3F) | ECC(40,41) | XOR(40,41) |
40 | 41 | 43 | ECC(42,43) | XOR(42,43) |
42 |
44 | 45 | ECC(44,45) | XOR(44,45) |
XOR(46.47) | 47 | 46 | ECC(46,47) | ECC(48.49) |
XOR(48,49) | 48 | 49 | 4B | ECC(4A,4B) |
XOR(4A,4B) | 4A | 4C | 4D | ECC(4C,4D) |
XOR(4C,4D) |
XOR(4E,4F) | 4F | 4E | ECC(4E,4F) |
... | ... | ... | ... | ... |
... | ... | ... | ... | ... |
hot-spare | hot-spare | hot-spare | hot-spare | hot-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 2 | Dysk 3 | Dysk 4 |
0 | 1 | ECC | XOR | hot-spare |
2 | ECC | XOR | hot-spare | 3 |
ECC | XOR | hot-spare | 4 | 5 |
XOR | hot-spare | 6 | 7 | ECC |
hot-spare | 8 | 9 | ECC | XOR |
A | B | ECC | XOR | hot-spare |
C | ECC | XOR | hot-spare | D |
ECC | XOR | hot-spare | E | F |
XOR | hot-spare | 10 | 11 | ECC |
hot-spare | 12 | 13 | ECC | XOR |
... | ... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 6EE asynchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 | Dysk 4 |
ECC | XOR | hot-spare | 0 | 1 |
2 | ECC | XOR | hot-spare | 3 |
4 | 5 | ECC | XOR | hot-spare |
hot-spare | 6 | 7 | ECC | XOR |
XOR | hot-spare | 8 | 9 | ECC |
ECC | XOR | hot-spare | A | B |
C | ECC | XOR | hot-spare | D |
E | F | ECC | XOR | hot-spare |
hot-spare | 10 | 11 | ECC | XOR |
XOR | hot-spare | 12 | 13 | ECC |
... | ... | ... | ... | ... |
Przykład rozmieszczenia danych w macierzy RAID 6EE synchronicznej lewej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 | Dysk 4 |
0 | 1 | ECC | XOR | hot-spare |
3 | ECC | XOR | hot-spare | 2 |
ECC | XOR | hot-spare | 4 | 5 |
XOR | hot-spare | 7 | 6 | ECC |
hot-spare | 8 | 9 | ECC | XOR |
A | B | ECC | XOR | hot-spare |
D | ECC | XOR | hot-spare | C |
ECC | XOR | hot-spare | E | F |
XOR | hot-spare | 11 | 10 | ECC |
hot-spare | 12 | 13 | ECC | XOR |
Przykład rozmieszczenia danych w macierzy RAID 6EE synchronicznej prawej
Dysk 0 | Dysk 1 | Dysk 2 | Dysk 3 | Dysk 4 |
ECC | XOR | hot-spare | 0 | 1 |
3 | ECC | XOR | hot-spare | 2 |
4 | 5 | ECC | XOR | hot-spare |
hot-spare | 7 | 6 | ECC | XOR |
XOR | hot-spare | 8 | 9 | ECC |
ECC | XOR | hot-spare | A | B |
D | ECC | XOR | hot-spare | C |
E | F | ECC | XOR | hot-spare |
hot-spare | 11 | 10 | ECC | XOR |
XOR | hot-spare | 12 | 13 | ECC |
... | ... | ... | ... | ... |