RAID (ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków) - polega na współpracy dwóch lub więcej dysków twardych w taki sposób, aby zapewnić dodatkowe możliwości, nieosiągalne przy użyciu jednego dysku. RAID używa się w następujących celach:
- zwiększenie niezawodności (odporność na awarie)
- przyspieszenie transmisji danych
- powiększenie przestrzeni dostępnej jako jedna całość.
Czasami mówi się o Redundant Array of Inexpensive Disks, czyli nadmiarowa macierz tanich dysków, co dobrze odpowiada rzeczywistości, ponieważ można stworzyć dużą i niezawodną przestrzeń dyskową, używając dysków SCSI oraz niedrogich, standardowych IDE/ATA lub SATA. Podczas projektowania macierzy należy zwrócić uwagę na sposób podłączenia dysków. Zapewnienie wysokiej dostępności do dysków wymaga dołączenia tych dysków do oddzielnych kanałów SCSI/IDE lub zastosowanie droższych 2-portowych dysków FC i podłączenia do odpowiedniego kontrolera(ów). Najlepsze efekty można osiągnąć dzięki zastosowaniu specjalnych sprzętowych kontrolerów RAID dołączonych do systemów za pomocą redundantnych magistral (SCSI) lub kanałów komunikacyjnych (Fibre Channel).
Standardowe poziomy RAID
Tabela
| Poziom RAID | N = liczba dysków | Dostępna przestrzeń | Odporność na awarię |
| 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 5 |
3+ |
N - 1 |
1 |
| RAID 6 |
4+ |
N - 2 |
min. 2 |
| RAID 1+0 |
4 + N * 2 |
N /2 |
min. 1 |
| RAID 0+1 |
4 + N * 2 |
N /2 |
1 |
RAID 0
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. Dane są przeplecione pomiędzy dyskami. Dzięki temu uzyskujemy znaczne przyśpieszenie operacji zapisu i odczytu ze względu na zrównoleglenie tych operacji na wszystkie dyski w macierzy. Warunkiem uzyskania takiego przyśpieszenia 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
- zwiększenie awaryjności nie znaczy skrócenie żywotności dysków. Zwiększa się po prostu teoretyczna możliwość awarii. Należy przy tym dodać, że o ile w przypadku RAID STRIPE 0 mówimy o utracie danych w przypadku jednego z dysków to jest to identyczne gdy posiadamy jeden dysk. Uszkodzenie jednego jedynego dysku też powoduje utratę danych.
Przykład
Trzy dyski po 10GB zostały połączone w RAID 0. Powstała przestrzeń ma rozmiar 30GB. Szybkość zapisu lub odczytu jest prawie trzykrotnie większa niż na pojedynczym dysku. Oczywiście sumaryczna szybkość jest 3-krotnością najwolniejszego z dysków, gdyż kontroler raid podczas zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też sugeruje się dyski identyczne, o identycznej szybkości i pojemności.
Przykład 2
Trzy dyski: 10 GB, 10 GB, 5GB zostały połączone w RAID 0. Powstała w ten sposób przestrzeń ma rozmiar taki jak N*rozmiar najmniejszego z dysków, 3x5GB = 15GB. Szybkość zapisu lub odczytu jest prawie trzykrotnie większa niż na pojedynczym dysku. Oczywiście sumaryczna szybkość jest 3-krotnością najwolniejszego z dysków, gdyż kontroler raid podczas zapisu/odczytu musi poczekać na najwolniejszy dysk. Stąd też sugeruje się dyski identyczne, o identycznej wielkości.
Zastosowanie RAID0
Rozwiązanie do budowy tanich i wydajnych macierzy, służących do przechowywania dużych plików multimedialnych
RAID 1
Polega na replikacji pracy dwóch lub więcej dysków fizycznych. Powstała przestrzeń ma rozmiar pojedynczego nośnika. RAID 1 jest zwany również mirroringiem. 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
Wady:
- zmniejszona szybkość zapisu
- utrata pojemności (dokładnie pojemności N - 1 dysków)
Przykład
Trzy dyski po 1GB zostały połączone w RAID 1. Powstała w ten sposób przestrzeń ma rozmiar 1GB (3x1GB). Jeden lub dwa dyski w pewnym momencie ulegają uszkodzeniu. Cała macierz nadal działa.
RAID 2
Dane na dyskach są paskowane. Zapis następuje po 1 bicie na pasek. Potrzebujemy minimum 8 powierzchni do obsługi danych oraz dodatkowe dyski do przechowywania informacji generowanych za pomocą kodu Hamminga potrzebnych do korekcji błędów. Ilość dysków używanych do przechowywania tych informacji jest proporcjonalna do logarytmu liczby dysków, które są przez nie chronione. Połączone dyski zachowują się jak jeden duży dysk. Dostępna pojemność to suma pojemności dysków przechowujących dane.
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
Dane składowane są na N-1 dyskach. Ostatni dysk służy do przechowywania sum kontrolnych. Działa jak striping (RAID 0), ale w macierzy jest dodatkowy dysk, na którym zapisywane są kody parzystości obliczane przez specjalny procesor, przez co kontrolery potrzebne do przekierowania.
Korzyści:
- odporność na awarię 1 dysku
- zwiększona szybkość odczytu
Wady:
- zmniejszona szybkość zapisu z powodu konieczności kalkulowania 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, dedykowany dysk na sumy kontrolne zazwyczaj jest wąskim gardłem w wydajności całej macierzy
Przykład
Pięć dysków po 1GB zostało połączonych w RAID 3. Powstała w ten sposób przestrzeń ma rozmiar 4GB (1GB odpada 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
RAID 4 jest bardzo zbliżony do RAID 3, z tą różnicą, że dane są dzielone na większe bloki (16,32, 64 lub 128 Kbajtów). Takie pakiety zapisywane są na dyskach podobnie do rozwiązania RAID 0. Dla każdego rzędu zapisywanych danych blok parzystości zapisywany jest na dysku parzystości. 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
Macierz składa się z 3 lub więcej dysków. Przy macierzy liczącej N dysków jej objętość wynosi N - 1 dysków. Przy łączeniu dysków o różnej pojemności otrzymujemy objętość 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ę 1 dysku
- zwiększona szybkość odczytu - porównywalna do macierzy RAID0 złożonej z N-1 dysków
Wady:
- zmniejszona szybkość zapisu z powodu konieczności kalkulowania sum kontrolnych (eliminowana poprzez zastosowanie sprzętowego kontrolera RAID5)
- 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
Przykład
Pięć dysków po 1GB zostaje połączonych w RAID 5. Powstała w ten sposób przestrzeń ma rozmiar 4GB. 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
Rozbudowana macierz typu 5 (często pojawia się zapis RAID 5+1). Zawiera dwie niezależne sumy kontrolne. Kosztowna w implementacji, ale dająca bardzo wysokie bezpieczeństwo.
Korzyści:
- odporność na awarię maximum 2 dysków
- szybkość pracy większa niż szybkość pojedynczego dysku
- ekstremalnie wysokie bezpieczeństwo.
RAID 0+1
Macierz realizowana jako RAID 1, którego elementami są macierze RAID 0. Macierz taka posiada 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.minimum 4 dyski o tej samej pojemności
Korzyści:
- szybkość macierzy RAID 0
- bezpieczeństwo macierzy RAID 1
- znacznie prostsza w implementacji niż RAID 3, 5 i 6
Wady:
- wymagana odbudowa całej macierzy RAID 100 w przypadku awarii pojedynczego dysku
- awaria pojedynczego dysku powoduje utratę zabezpieczenia danych
- większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6
RAID 1+0
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. Tworzony jest duży stripe małych mirrorów, dzięki czemu podczas wymiany uszkodzonego dysku odbudowywany jest tylko fragment całej macierzy.
Korzyści:
- szybkość macierzy RAID 0
- bezpieczeństwo macierzy RAID 1 - w szczególnym wypadku nawet większa (awaria więcej niż jednego dysku różnych mirrorów)
- znacznie prostsza w implementacji niż RAID 3, 5 i 6
Wady:
- większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6
Matrix RAID
Polega na połączeniu ze sobą dwóch dysków fizycznych tak, aby część dysku działała jak RAID 0 (stripping), a inna część jak RAID 1 (mirroring) (szczegóły działania macierzy RAID 0 i RAID 1 znajdziesz powyżej). Jest to chyba najlepsza opcja w warunkach "domowych", łącząca zalety obu trybów i pozbawiona ich wad.
Korzyści:
- połączenie zalet poszczególnych trybów RAID - ważne informacje mogą być bezpieczne (z duplikowane na obu dyskach), zaś operacje na często używanych, ale mniej istotnych danych, mogą być wykonywane ze zwiększoną szybkością.
Wady:
- częściowy spadek pojemności (część mirrorowana)
- część danych jest podatna na awarię (część w strippingu)
Przykład
Dwa dyski po 10GB zostały połączone w Matrix RAID. Utworzono na nich 2 partycje - każda zajmuje połowę każdego dysku. Pierwsze polega na dzieleniu danych (stripping) więc ma pojemość 10GB, druga polega na duplikowaniu (mirroring) ma więc 5GB. Pierwsza z nich charakteryzuje się teoretycznie dwukrotną prędkością wykonywania na niej operacji, druga zaś gwarantuje bezpieczeństwo danych w razie awarii jednego z dysków.
|