RAID
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/One_of_The_First_RAID_Arrays_%282370957797%29.jpg/220px-One_of_The_First_RAID_Arrays_%282370957797%29.jpg)
RAID (ang. Redundant Array of Independent Disks – nadmiarowa macierz niezależnych dysków) – sposób wykorzystania w systemie komputerowym dwóch lub większej liczby dysków twardych, w którym dyski te współpracują pomiędzy sobą. Osiąga się w ten sposób szereg różnorodnych możliwości nieosiągalnych przy użyciu zarówno pojedynczego dysku, jak i kilku dysków podłączonych jako oddzielne[1].
Zastosowanie
[edytuj | edytuj kod]Rozwiązania typu RAID używane są w następujących celach:
- zwiększenie niezawodności (odporność na awarie);
- zwiększenie wydajności transmisji danych;
- powiększenie przestrzeni dostępnej jako jedna całość.
Podczas projektowania macierzy RAID uwzględniane są różnorodne zastosowania pamięci masowej w systemach komputerowych. Przeznaczenie macierzy implikuje wybór odpowiednich technologii w zakresie dysków, kontrolerów, pamięci podręcznej, sposobu przesyłania danych oraz poziomu niezawodności (odpowiedniej nadmiarowości/redundancji podzespołów i połączeń). W macierzach RAID stosuje się wszystkie produkowane obecnie rodzaje dysków twardych: ATA (wycofane), SATA, SCSI (w użytku), SAS, Fibre Channel. Dominują jednak rozwiązania oparte na serwerowych wersjach SATA, SAS i FC. Rośnie udział dysków SSD w rozwiązaniach wymagających krótkiego czasu dostępu do rozproszonych danych.
Projektowanie
[edytuj | edytuj kod]Zapewnienie wysokiej dostępności do dysków wymaga dołączenia tych dysków do oddzielnych kanałów SCSI/SATA albo zastosowania droższych 2-portowych dysków FC i podłączenia ich do odpowiedniego kontrolera (lub kontrolerów). Spotykane są zarówno rozwiązania programowe, gdy odpowiedni moduł systemu operacyjnego zajmuje się odczytem/zapisem danych w macierzy, jak również sprzętowe, w których stosuje się sprzętowe kontrolery RAID dołączane do systemów za pomocą redundantnych magistral (SCSI) lub kanałów komunikacyjnych (Fibre Channel).
Każde z wymienionych rozwiązań ma swoje zalety i wady.
RAID sprzętowy | RAID programowy |
---|---|
większa wydajność poprzez zmniejszenie obciążenia CPU, gdyż przeliczaniem sum kontrolnych zajmuje się wówczas dedykowany kontroler | relatywnie mniejsza wydajność związana z większym obciążeniem CPU, gdyż przeliczaniem sum kontrolnych zajmuje się jednostka centralna |
możliwość bezpośredniego startu systemu z macierzy dyskowej w związku z przezroczystością macierzy dyskowej dla systemu operacyjnego | partycja startowa powinna znajdować się poza macierzą, co wiąże się z koniecznością zastosowania dodatkowego nośnika wyłącznie do celu ładowania systemu |
większa kompatybilność z mniej popularnymi systemami operacyjnymi; konfiguracja macierzy odbywa się poprzez menu podobne do menu BIOS, dostępne jeszcze przed startem systemu operacyjnego, dla którego sama macierz jest zupełnie przezroczysta, przez co z punktu widzenia OS zachowuje się ona jak każdy inny dysk twardy | nie wszystkie systemy operacyjne obsługują technologię RAID, co czasami może oznaczać instalację dodatkowego specjalnego oprogramowania dla danego systemu |
niestandardowy sposób zapisu danych na nośnikach wykorzystujący własnościowe protokoły i struktury danych inne dla każdego producenta, a nawet mogące się różnić w obrębie różnych modeli kontrolerów tego samego producenta, co w przypadku uszkodzenia kontrolera może uniemożliwić odzyskanie danych pomimo sprawnie działających dysków twardych | standardowy (często również otwarty) sposób zapisu danych pozwalający na korzystanie z macierzy dyskowej po podłączeniu do innego systemu obsługującego ten standard |
możliwość łączenia różnych interfejsów takich jak ATA, SCSI, SATA, USB w obrębie jednej macierzy |
Istnieją też rozwiązania łączące obydwie metody np. FakeRAID, gdzie BIOS wspomaga ustawianie macierzy, monitorowanie wykonane jest w oprogramowaniu, a odbudowę macierzy czy obliczanie sum sprawdzających podczas zapisu zleca się głównym procesorom komputera.
Możliwości jakie daje RAID nie należy mylić z kopią zapasową danych (data backup), która jest zupełnie odrębnym zagadnieniem. Utrata ważnych danych może nastąpić nie tylko z powodu awarii fizycznego nośnika, ale również z powodu błędów systemu operacyjnego, działalności wirusów komputerowych lub innego szkodliwego oprogramowania, jak również na skutek umyślnej lub nieumyślnej działalności użytkowników danego systemu. Z powyższych powodów nie należy rezygnować z regularnego wykonywania kopii zapasowych danych wyłącznie dlatego, że w danym systemie wdrożono technologię RAID.
Niezawodność
[edytuj | edytuj kod]Wyróżnia się dwa wskaźniki określające prawdopodobieństwo wystąpienia awarii: MTTF oraz MTBF. Chcąc zwiększyć czas działania ciągłego macierzy, zwiększa się liczbę komponentów, co powoduje wzrost prawdopodobieństwa awarii jednego z nich. Macierze są wyposażone często w dużą liczbę dysków. W przypadku awarii jednego z nich traci się nadmiarowość i znacznie rośnie ryzyko awarii całego urządzenia. Aby jak najszybciej przywrócić układ do stanu optymalnego stosuje się dyski hot spare. Taki dysk nie pracuje do czasu awarii. Kiedy ona nastąpi, wtedy natychmiast zastępuje uszkodzony element, a dane są na niego replikowane.
Standardowe poziomy RAID
[edytuj | edytuj kod]Poziom RAID | Minimalna liczba dysków (N) | Dostępna przestrzeń | Maksymalna liczba dysków, które mogą ulec awarii bez utraty danych |
---|---|---|---|
RAID 0 | 2 | N | 0 |
RAID 1 | 2 | 1 | N – 1 |
RAID 2 | 3 | N – log N | 1 |
RAID 3 | 3 | N – 1 | 1 |
RAID 4 | 3 | N – 1 | 1 |
RAID 5 | 3 | N – 1 | 1 |
RAID 6[1] | 4 | N – 2 | 2 |
RAID 0+1 | 4 | zależnie od konfiguracji | zależnie od konfiguracji |
RAID 1+0 | 4 | zależnie od konfiguracji | zależnie od konfiguracji |
RAID 0 (striping)
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/RAID_0.svg/170px-RAID_0.svg.png)
Polega na połączeniu ze sobą dwóch lub więcej dysków fizycznych tak, aby były widziane jako jeden dysk logiczny. Powstała w ten sposób przestrzeń ma rozmiar taki jak N ⋅ rozmiar najmniejszego z dysków, gdzie „N” oznacza liczbę dysków. Dane są przeplecione pomiędzy dyskami. Dzięki temu uzyskuje się znaczne przyspieszenie operacji zapisu i odczytu ze względu na równoległe wykonywanie operacji na wszystkich dyskach w macierzy. Warunkiem uzyskania takiego przyspieszenia jest operowanie na blokach danych lub sekwencjach bloków danych większych niż pojedynczy blok danych macierzy RAID 0 (ang. stripe unit size).
Korzyści:
- przestrzeń wszystkich dysków jest widziana jako całość;
- przyspieszenie zapisu i odczytu w porównaniu do pojedynczego dysku.
Wady:
- brak odporności na awarię dysków;
- N × rozmiar najmniejszego z dysków (zwykle łączy się jednakowe dyski);
- zwiększenie awaryjności – awaria pojedynczego dysku powoduje utratę wolumenu, a szansa na awarię jednego z N dysków rośnie wraz z N.
Przykład 1
[edytuj | edytuj kod]Trzy dyski po 512 GB zostały połączone w RAID 0. Powstała przestrzeń ma rozmiar 1,5 TB. Szybkość zapisu i odczytu jest prawie trzykrotnie większa niż na pojedynczym dysku. Sumaryczna szybkość jest trzykrotnością szybkości najwolniejszego z dysków, gdyż kontroler RAID podczas zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też sugeruje się stosowanie dysków o identycznej szybkości i pojemności.
Przykład 2
[edytuj | edytuj kod]Trzy dyski: 160 GB, 500 GB i 80 GB zostały połączone w RAID 0. Powstała w ten sposób przestrzeń ma rozmiar taki jak N ⋅ rozmiar najmniejszego z dysków, czyli 3 × 80 GB = 240 GB. Szybkość jest ograniczona szybkością najwolniejszego dysku, analogicznie do poprzedniego przykładu.
Zastosowanie RAID 0
[edytuj | edytuj kod]Rozwiązanie do budowy tanich i wydajnych macierzy, służących do przetwarzania dużych plików multimedialnych. Przechowywanie danych na macierzy RAID 0 wiąże się jednak ze zwiększonym ryzykiem utraty tych danych – w przypadku awarii jednego z dysków tracone są wszystkie dane.
Podobne korzyści kosztem mniejszej wydajności można uzyskać, stosując technologię LVM, która charakteryzuje się mniejszym ryzykiem utraty danych – w przypadku awarii jednego z dysków istnieje teoretyczna możliwość odzyskania danych znajdujących się na sprawnym dysku, gdyż – w przeciwieństwie do RAID 0 – LVM nie przeplata danych pomiędzy dyskami.
RAID 1 (lustrzany)
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/RAID_1.svg/170px-RAID_1.svg.png)
Polega na replikacji pracy dwóch lub więcej dysków fizycznych. Powstała przestrzeń ma rozmiar najmniejszego nośnika. RAID 1 jest zwany również lustrzanym (ang. mirroring). Szybkość zapisu i odczytu zależy od zastosowanej strategii:
- Zapis:
- zapis sekwencyjny na kolejne dyski macierzy – czas trwania operacji równy sumie czasów trwania wszystkich operacji;
- zapis równoległy na wszystkie dyski macierzy – czas trwania równy czasowi trwania operacji na najwolniejszym dysku.
- Odczyt:
- odczyt sekwencyjny z kolejnych dysków macierzy (ang. round-robin) – przy pewnej charakterystyce odczytów możliwe osiągnięcie szybkości takiej jak w RAID 0;
- odczyt wyłącznie ze wskazanych dysków – stosowane w przypadku znacznej różnicy w szybkościach odczytu z poszczególnych dysków.
Korzyści:
- odporność na awarię N – 1 dysków przy N-dyskowej macierzy;
- możliwe zwiększenie szybkości odczytu;
- możliwe zmniejszenie czasu dostępu.
Wady:
- możliwa zmniejszona szybkość zapisu;
- utrata pojemności (całkowita pojemność jest taka jak pojemność najmniejszego dysku).
Przykład
[edytuj | edytuj kod]Trzy dyski po 250 GB zostały połączone w RAID 1. Powstała w ten sposób przestrzeń ma rozmiar 250 GB. Jeden lub dwa dyski w pewnym momencie ulegają uszkodzeniu. Cała macierz nadal działa.
RAID 2
[edytuj | edytuj kod]Dane na dyskach są paskowane. Zapis następuje po 1 bicie na pasek, czyli każdy kolejny bit znajduje się na innym dysku. Potrzebnych jest więc minimum 8 powierzchni do obsługi danych oraz określona liczba dodatkowych dysków służących do przechowywania informacji generowanych za pomocą kodu Hamminga potrzebnych w celu korekcji błędów. Liczba dysków używanych do przechowywania tych informacji jest proporcjonalna do logarytmu liczby dysków, które są przez nie chronione. Bardzo ważną kwestią jest to, że rotacja talerzy wszystkich dysków macierzy musi być synchronizowana. Połączone dyski zachowują się jak jeden duży dysk. Dostępna pojemność to suma pojemności dysków przechowujących dane.
Ten poziom RAID jest już od wielu lat uznawany za historyczny i nie jest aktualnie dostępne żadne komercyjne rozwiązanie RAID 2. Przykładem takiej macierzy były wczesne rozwiązania typu Thinking Machines CM-2.
Korzyści:
- każdy dowolny dysk (zarówno z danymi, jak i z kodem Hamminga) może w razie uszkodzenia zostać odbudowany przez pozostałe dyski.
Wady:
- konieczność dokładnej synchronizacji wszystkich dysków zawierających kod Hamminga (w przeciwnym wypadku dezorganizacja i całkowita nieprzydatność tych dysków);
- długotrwałe generowanie kodu Hamminga przekładające się na wolną pracę całego systemu.
RAID 3
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/RAID_3.svg/170px-RAID_3.svg.png)
Dane składowane są na N-1 dyskach. Zapis następuje podobnie jak w RAID 2, lecz w tym przypadku po 1 bajcie na każdym kolejnym dysku. Bardzo ważną kwestią jest, aby rotacja talerzy wszystkich dysków macierzy była zsynchronizowana. Ostatni dysk przeznaczony jest do przechowywania sum kontrolnych. Macierz ta działa jak striping (RAID 0), ale występuje jeszcze dodatkowy dysk, na którym zapisywane są kody parzystości obliczane przez specjalny procesor.
Chociaż istnieją implementacje RAID 3, to nie jest to rozwiązanie powszechnie stosowane w praktyce.
Korzyści:
- odporność na awarię 1 dysku;
- zwiększona szybkość odczytu.
Wady:
- zmniejszona szybkość zapisu z powodu konieczności obliczenia sum kontrolnych (eliminowana poprzez zastosowanie sprzętowych kontrolerów RAID);
- w przypadku awarii dysku dostęp do danych jest spowolniony z powodu obliczeń sum kontrolnych;
- odbudowa macierzy po wymianie dysku jest operacją kosztowną obliczeniowo i powoduje spowolnienie operacji odczytu i zapisu;
- pojedynczy wydzielony dysk na sumy kontrolne zazwyczaj jest „wąskim gardłem” w wydajności całej macierzy.
Przykład
[edytuj | edytuj kod]Pięć dysków po 250 GB zostało połączonych w RAID 3. Powstała w ten sposób przestrzeń ma rozmiar 1 TB (250 GB zarezerwowane na sumy kontrolne). Jeden dysk w pewnym momencie ulega uszkodzeniu. Cała macierz nadal działa. Po włożeniu nowego dysku na miejsce uszkodzonego jego zawartość odtwarza się.
RAID 4
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/RAID_4.svg/170px-RAID_4.svg.png)
RAID 4 jest bardzo zbliżony do RAID 3 z tą różnicą, że dane są dzielone na bloki o wielkości np. 16, 32, 64 lub 128 kB. Takie bloki zapisywane są na dyskach podobnie do rozwiązania RAID 0. Dla każdego rzędu zapisywanych danych blok parzystości zapisywany jest na dedykowanym dysku parzystości. W odróżnieniu od RAID 2 i RAID 3, gdzie każdy transfer wymagał wykonania operacji wejścia/wyjścia na wszystkich dyskach jednocześnie, w RAID 4 pojedyncza operacja dotyczy tylko nielicznych dysków, co w rezultacie pozwala na wykonywanie operacji równolegle prowadząc do zwiększenia wydajności – szczególnie przy przesyłaniu małych bloków.
Przy uszkodzeniu dysku dane mogą być odtworzone przez odpowiednie operacje matematyczne. Parametry RAID 4 są bardzo dobre dla sekwencyjnego zapisu i odczytu danych (operacje na bardzo dużych plikach). Jednorazowy zapis małej porcji danych potrzebuje modyfikacji odpowiednich bloków parzystości dla każdej operacji I/O. W efekcie za każdym razem przy zapisie danych system czekałby na modyfikacje bloków parzystości, co przy częstych operacjach zapisu bardzo spowolniłoby pracę systemu.
RAID 5
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/RAID_5.svg/170px-RAID_5.svg.png)
Poziom piąty pracuje bardzo podobnie do poziomu czwartego z tą różnicą, iż bity parzystości nie są zapisywane na specjalnie do tego przeznaczonym dysku, lecz są rozpraszane po całej strukturze macierzy. RAID 5 umożliwia odzyskanie danych w razie awarii jednego z dysków przy wykorzystaniu danych i kodów korekcyjnych zapisanych na pozostałych dyskach (zamiast tak jak w RAID 3 na jednym specjalnie do tego przeznaczonym, co nieznacznie zmniejsza koszty i daje większą gwarancję bezpieczeństwa). RAID 5 oferuje większą prędkość odczytu niż RAID lustrzany (ang. mirroring), ale przy jego zastosowaniu nieznacznie spada prędkość zapisu. Poziom piąty jest bezpieczny dla danych – w razie awarii system automatycznie odbuduje utracone dane, zmniejszając jednak bieżącą wydajność macierzy. Spowolnienie ma charakter przejściowy, zaś jego czas zależy od obciążenia macierzy i pojemności dysku. Po zamontowaniu nowego dysku i odbudowaniu zawartości dysku wydajność macierzy wraca do normy.
Macierz składa się z 3 lub więcej dysków. Przy macierzy liczącej N dysków jej pojemność wynosi N – 1 dysków. Przy łączeniu dysków o różnej pojemności otrzymuje się pojemność najmniejszego dysku razy N – 1. Sumy kontrolne danych dzielone są na N części, przy czym każda część składowana jest na innym dysku, a wyliczana jest z odpowiedniego fragmentu danych składowanych na pozostałych N-1 dyskach.
Korzyści:
- odporność na awarię jednego dysku;
- zwiększona szybkość odczytu – porównywalna do macierzy RAID 0 złożonej z N-1 dysków.
Wady:
- zmniejszona szybkość zapisu z powodu konieczności obliczania sum kontrolnych (eliminowana poprzez zastosowanie sprzętowego kontrolera RAID 5);
- w przypadku awarii dysku dostęp do danych jest spowolniony z powodu obliczeń danych na podstawie pozostałych danych i sum kontrolnych;
- odbudowa macierzy po wymianie dysku jest operacją kosztowną zarówno w sensie obliczeniowym, jak i I/O, co powoduje spowolnienie operacji odczytu i zapisu. Wraz ze wzrostem pojemności pojedynczego dysku staje się to coraz większym problemem, gdyż rosnący czas odbudowy grupy RAID zwiększa ryzyko utraty danych w wyniku awarii kolejnego dysku w tym czasie.
Przykład
[edytuj | edytuj kod]Pięć dysków po 250 GB zostaje połączonych w RAID 5. Powstała w ten sposób przestrzeń ma rozmiar 250 GB × (5-1) = 1 TB. Jeden dysk w pewnym momencie ulega uszkodzeniu. Cała macierz nadal działa. Po wymianie uszkodzonego dysku na nowy jego zawartość zostaje odtworzona.
RAID 6
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/RAID_6.svg/170px-RAID_6.svg.png)
Macierz z podwójną parzystością, realizowana np. jako 5+2, albo 13+2. Kosztowniejsza w implementacji niż RAID 5, ale dająca większą niezawodność. Awaria dwóch dowolnych dysków w tym samym czasie nie powoduje utraty danych.
Korzyści:
- odporność na awarię maksimum 2 dysków;
- szybkość pracy większa niż szybkość pojedynczego dysku.
RAID 0+1
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/RAID_01.png/170px-RAID_01.png)
Macierz realizowana jako RAID 1, którego elementami są macierze RAID 0. Macierz taka ma zarówno zalety macierzy RAID 0 – szybkość w operacjach zapisu i odczytu – jak i macierzy RAID 1 – zabezpieczenie danych w przypadku awarii pojedynczego dysku. Pojedyncza awaria dysku powoduje, że całość staje się w praktyce RAID 0. Potrzebne są minimum 4 dyski o tej samej pojemności.
Korzyści:
- szybkość macierzy RAID 0;
- zyskuje się dużą dowolność w kwestii wielkości dysków fizycznych składających się na dyski logiczne. W szczególności:
- można stworzyć dwa dyski logiczne z trzech dysków. np. 1 × 500 GB i 2 × 250 GB, a potem połączyć RAID 1. W efekcie RAID 0+1 daje 500 GB przestrzeni dyskowej;
- jeżeli na macierz składają się dyski o różnych wielkościach dysków logicznych (np. pierwszy dysk logiczny składa się z 2 dysków 500 GB, a drugi dysk logiczny z 4 dysków 200 GB), to w efekcie połączenia ich RAID 1 uzyskuje się 800 GB przestrzeni dyskowej RAID 0+1;
- znacznie prostsza w implementacji niż RAID 3, 5 i 6.
Wady:
- tworzona jest lustrzana kopia dysku logicznego – jeżeli awarii ulega jeden dysk fizyczny, cały dysk logiczny, który współtworzył zostaje wyłączony;
- większy koszt przechowywania danych niż w przypadku RAID 0, 2, 3, 4, 5, 6.
RAID 1+0
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/56/RAID_10.png/170px-RAID_10.png)
Nazywana także RAID 10. Macierz realizowana jako RAID 0, którego elementami są macierze RAID 1. W porównaniu do swojego poprzednika (RAID 0+1) realizuje tę samą koncepcję połączenia zalet RAID 0 (szybkość) i RAID 1 (bezpieczeństwo), lecz w odmienny sposób. Stripingowi podlegają relatywnie niewielkie bloki danych, które są zapisane na dwóch dyskach, dzięki czemu podczas wymiany uszkodzonego dysku odbudowywany jest tylko fragment całej macierzy.
Korzyści:
- szybkość odczytu taka jak macierzy RAID 0;
- szybkość zapisu jest równa sumie szybkości połowy ilości wszystkich dysków;
- klonowanie następuje na poziomie poszczególnych dysków fizycznych, a nie logicznych. Awaria jednego dysku powoduje wyłączenie jedynie tego dysku, a nie całego dysku logicznego, jak to się dzieje w RAID 0+1;
- w szczególnym przypadku przetrwa awarię N – 1 dysków (N – liczba dysków fizycznych mirrorów) z każdego mirrora składającego się na RAID 0;
- znacznie prostsza w implementacji niż RAID 3, 5 i 6.
Wady:
- RAID 1 powinien łączyć dyski o tej samej wielkości a najlepiej i szybkości zapisu. W przeciwnym wypadku uzyskuje się mirror o pojemności najmniejszego dysku i szybkości zapisu najwolniejszego. Znacząco potrafi to zwiększyć koszty w porównaniu do RAID 0+1;
- większy koszt przechowywania danych niż w przypadku RAID 0, 2, 3, 4, 5, 6. Współczynnik nadmiarowości wynosi tu 100% (potrzebne są 2 GB przestrzeni dyskowej na zapisanie 1 GB danych).
Matrix RAID
[edytuj | edytuj kod]![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/RAID_MATRIX.png/170px-RAID_MATRIX.png)
Polega na połączeniu ze sobą dwóch dysków fizycznych tak, aby część dysku działała jak RAID 0 (striping), a inna część jak RAID 1 (mirroring). Sprowadza się to do tworzenia układów RAID na poziomie logicznych partycji dyskowych, niezależnie dla każdej z partycji. Przykładem implementacji może być macierz HP EVA oferująca m.in. RAID 1 i RAID 5 na tych samych dyskach fizycznych jednocześnie.
Korzyści wynikają z połączenia zalet poszczególnych trybów RAID:
- ważne pliki, takie jak dokumenty czy inne informacje, których odtworzenie w razie awarii byłoby zbyt kosztowne, czasochłonne lub wręcz niemożliwe, mogą być duplikowane na obu dyskach (np. katalogi /home, /var w Linuksie czy C:\Documents and Settings w Windowsie);
- mniej istotne dane, na których często wykonywane są operacje dyskowe, pliki i biblioteki systemu operacyjnego (np. /usr, C:\WINDOWS), pliki wykonywalne bądź biblioteki zainstalowanych aplikacji (np. /usr, C:\Program Files), pliki/partycje wymiany, mogą być wykonywane ze zwiększoną szybkością.
Wady:
- częściowy spadek pojemności (część mirrorowana);
- część danych jest podatna na awarię (część w stripingu).
Przykład
[edytuj | edytuj kod]Dwa identyczne dyski 10 GB zostały połączone w Matrix RAID. Utworzono na nich dwie partycje – każda zajmuje połowę każdego dysku. Pierwsza polega na dzieleniu danych (striping) więc ma pojemność 10 GB, druga polega na duplikowaniu (mirroring) ma więc 5 GB.
Pierwsza z nich charakteryzuje się teoretycznie dwukrotną prędkością wykonywania na niej operacji zarówno przy odczycie, jak i zapisie danych. Druga zaś gwarantuje bezpieczeństwo danych w razie awarii jednego z dysków, podwójną prędkość odczytu oraz pojedynczą prędkość zapisu.
Wydajność
[edytuj | edytuj kod]Wydajność macierzy RAID zależy od liczby dysków, ich szybkości, poziomu macierzy i wykonywanej operacji (odczyt/zapis). Istotne znaczenie ma także wykorzystanie kontrolera sprzętowego. Obliczając wydajność macierzy zakłada się pewne uproszczenia, np. że wszystkie jej dyski są tej samej wydajności, a dane są równomiernie rozmieszczone na wszystkich dyskach. W operacjach odczytu kontroler rozkłada obciążenie na wszystkie dyski zawierające dane. Zatem wydajność macierzy jest w przybliżeniu iloczynem wydajności pojedynczego dysku i liczby dysków. W operacjach zapisu należy uwzględnić dodatkowe operacje. Dla macierzy poziomu 0 nie zapisuje się dodatkowych danych. Dla poziomów 1, 1+0 i 0+1 zapisuje się dane co najmniej w dwóch miejscach. Macierze poziomów 3, 4, 5 oraz 6 muszą odczytać stare dane, które mają być zmodyfikowane, aby wyliczyć i zapisać nowe sumy kontrolne. Szacując wydajność macierzy w konkretnym środowisku, należy uwzględnić stosunek liczby zapisów do odczytów. Wydajność macierzy ograniczona jest wydajnością kontrolera, nie można wobec tego dodawać dysków w nieskończoność.
Niestandardowe poziomy RAID
[edytuj | edytuj kod]RAID 5E, 5EE
[edytuj | edytuj kod]Jest to RAID 5 z rozproszonym dyskiem hot spare. Różnica polega na tym, że nie ma wyznaczonego dysku hot spare tylko jest on rozdystrybuowany na wszystkie dyski tak jak parzystość, dzięki temu wzrasta wydajność oraz liczba pracujących dysków. Organizacja zapisu jest jak w RAID 5, czyli jedna parzystość. Z ogólnej liczby dysków pojemność jednego tracona jest na parzystość, a drugiego na hot spare.
Przypisy
[edytuj | edytuj kod]- ↑ a b Randy H. Katz. RAID: A Personal Recollection of How Storage Became a System. „IEEE Annals of the History of Computing”. 32 (4), s. 82-86, 2010. IEEE Computer Society. ISSN 1058-6180. (ang.).