- odporność na awarie,
- zwiększenie prędkości transmisji w porównaniu z pojedynczym dyskiem,
- zależnie od rodzaju pamięć widoczna jako jedno urządzenie.
Realizacja macierzy RAID
Macierz RAID może być zrealizowana na dwa sposoby:
RAID sprzętowy - w celu utworzenia tego rodzaju macierzy potrzebny jest specjalny dedykowany kontroler, do którego podłącza się dyski. Zaletą takiego rozwiązania jest oczywiście wydajność i brak dodatkowego wykorzystania zasobów procesora. Ten rodzaj macierzy jest polecany w przypadku, gdy potrzebna jest duża wydajność i niezawodność pamięci masowej. Wadą takiego rozwiązania jest oczywiście cena samego kontrolera RAID programowy - ogromną zaletą tego rozwiązania jest brak potrzeby zakupu dodatkowych elementów oprócz samych dysków twardych. Dyski są podłączane bezpośrednio do istniejących na płycie głównej kontrolerów. Wady to oczywiście mniejsza wydajność - RAID programowy wykorzystuje procesor główny CPU do wykonywania obliczeń dyskowych. Obecnie większość systemów operacyjnych (Linux, Windows, FreeBSD) oferuje wbudowane gotowe rozwiązania programowe do tworzenia tego typu macierzy. Są one oczywiście niekompatybilne ze sobą. Istnieją również rozwiązania pośrednie, tzw. FakeRAID - wiele płyt głównych umożliwia włączenie w BIOS'ie opcji RAID. Wydawać by się mogło, że jest to RAID sprzętowy. Niestety większość teraz typu rozwiązań zintegrowanych z płytami głównymi wykorzystuje procesor do przetwarzania operacji dyskowych i sum kontrolnych. Często również bywają problemy ze znalezieniem odpowiednich sterowników, które obsłużyłyby tego typu macierz w używanym systemie operacyjnym.
Czy RAID to kopia zapasowa?
Jest to częste pytanie w momencie, gdy mamy do czynienia z macierzami typu nadmiarowego RAID1, RAID5, RAID1+0. Nadmiarowa macierz RAID ma za zadanie chronić przed awariami dysków twardych. NIE JEST TO KOPIA ZAPASOWA!!!Dlaczego? Kopia zapasowa - to pełny zrzut danych z pewnego punktu w czasie, który nie ulega już dalszym zmianom. Dzięki temu jest możliwość przywrócenia danych w przypadku ich uszkodzenia w późniejszym okresie. Rozważmy teraz macierz RAID1, która jest wyposażona w dwa dyski. Każdy w nich posiada dokładnie te same dane, mamy tutaj do czynienia z replikacją - w przypadku uszkodzenia jednego z nich można go wymienić i przywrócić macierz do działania z jednego z nadmiarowych dysków. Tego typu replikacja nie zapewnia jednak możliwości przywrócenia danych z pewnego punktu w czasie. Jeżeli uszkodzeniu ulegnie projekt nad którym pracowaliśmy to nie ma możliwości przywrócenia jego wcześniejszej wersji. Taką możliwość daje jedynie kopia zapasowa. Zatem posiadając nadmiarową macierz RAID mamy zapewnioną ochronę przez awarią dysku - nie przed uszkodzeniem danych. Dlatego też nigdy nie można z rezygnować z tworzenia kopii zapasowych.
Rodzaje macierzy RAID
Istnieje wiele rodzajów macierzy RAID - 0, 1, 2, 3, 4, 5, 6, 1+0, 0+1 - każdy rodzaj (zwany poziomem) charakteryzuje się odmiennym sposobem zapisu danych na dyskach. Postaram się opisać w jaki sposób zachowują się poszczególne poziomy oraz do czego służą.
RAID 0
Do utworzenia tego typu macierzy RAID potrzebne są minimum 2 dyski twarde. Należy pamiętać, aby były to dyski o tej samej pojemności i prędkości. W tym rodzaju macierzy bloki z danymi są zapisywane naprzemiennie na poszczególnych dyskach. Łączna pojemność tego rodzaju macierzy jest wielokrotnością pojemności dysków składowych. RAID 0 zwiększa niemalże podwójnie szybkość operacji zapisu/odczytu macierzy kosztem bezpieczeństwa danych - utrata jednego napędu wiąże się z utratą całości danych. Zalety:
- zwiększona prędkość zapisu/odczytu (prawie podwójnie)
- wykorzystanie całej pojemności dysku doi zapisu
Wady:
- brak odporności na awarie dysku
- łatwość utraty danych
Zastosowania:
- zwiększenie szybkości operacji dyskowych na stacjach roboczych
- obróbka dużych plików multimedialnych
- dysk do przechowywania instalacji gier komputerowych
RAID 1
Do utworzenia tego typu macierzy potrzebne są 2 dyski twarde. W macierzy tego typu każdy blok danych jest zapisywany jednocześnie na obydwa dyski twarde (replikacja). RAID1 posiada pojemność najmniejszego dysku z macierzy oraz prędkość zapisu/odczytu najwolniejszego. Ten rodzaj macierzy jest zabezpieczeniem przed fizyczną awarią jednego z dysków macierzy. Zalety:
- odporność na awarię pojedynczego dysku
Wady:
- macierz ma pojemnośc najmniejszego dysku
- prędkość operacji zapisu/odczytu jest na poziomie najwolniejszego dysku
Zastosowania:
- miejsce pod instalację systemu operacyjnego serwera
- kopie zapasowe
- ważne dane
RAID 2
Do utworzenia tego typu macierzy potrzebne są minimum 3 dyski twarde. Dane na dyskach są dzielone na poziomie bitów i zapisywane jednoczenie na dwóch dyskach. Trzeci dysk przechowuje informacje o dotyczące korekcji błędów generowane za pomocą kodu Hamminga. Macierz jest odporna na awarię jednego z dysków. Ten rodzaj macierzy jest przestarzały i obecnie nieużywany. Został wyparty przez rozwiązania typu RAID 5 i 6. Zastosowania:
- obecnie brak
- wyparte przez lepsze rozwiązania w postaci RAID 5 i 6
RAID 3
Zasada działania podobna, jak w przypadku RAID2 z tą róznicą, że dane są zapisywane na poziomie pojedynczych bajtów, w macierzy znajduje się dodatkowy dysk, na którym zapisywane są informacje o parzystości. Tak samo jak w przypadku RAID2 ten poziom został szybko wyparty przez RAID 5 i 6. Zastosowania:
- obecnie brak
- wyparte przez lepsze rozwiązania w postaci RAID 5 i 6
RAID 4
Macierz tego typu wymaga minimum 3 dysków. Dane są dzielone na porcje o rozmiarze pojedynczego bloku (sektora) i zapisywane jednocześnie na 2 dyskach. Na trzecim dysku zapisywane są informacje o tzw. parzystości. W przypadku awarii jednego dysku w macierzy istnieje możliwość odbudowania w przypadku awarii dowolnego z dysków. Obecnie w praktycznych zastosowaniach wyparty przez RAID 5 i 6. Zastosowania:
- obecnie brak
- wyparte przez lepsze rozwiązania w postaci RAID 5 i 6
RAID 5
Macierz RAID 5 swoim działaniem zbliżona jest do macierzy RAID 4. Do jej utworzenia potrzebne sa minimum 3 dyski twarde (2 + 1). Różnica polega na sposobie zapisywania informacji o parzystości. Każda porcja danych posiada informację tego typu zapisaną na innyn z dysków w macierzy. Macierz RAID 5 jest odporna na awarię dowolnego jednego dysku. Jest to zalecany rodzaj macierzy w przypadku, gdy potrzebujemy rozwiązania z pojedynczą parzystością i prędkością bliską RAID 0 dzięki stripingowi danych. Zalety:
- odporność na awarię jednego z dysków
- wyższa prędkość zapisu/dczytu w porównianiu z RAID 1
- tracona jest pojemność jednego dysku w macierzy
Wady:
- niższa wydajność od RAID 0 spowodowana koniecznością wyliczania parzystości dla każdego bloku danych
Zastosowania:
- storage dla baz danych
- archiwizacja
- magazyn danych dla aplikacji
RAID 6
Zasada działania zbliżona do RAID 5 - różnica polega na tym, że informacje o parzystości dla każdje porcji danych zapisywane są w podwójnie na dwóch różnych dyskach. Do utworzenie macierzy tego typu potrzebne są minimum 4 dyski twarde (2 + 2). Dostępna jest pojemność dwóch z nich w tym układzie. Zalety:
- odporność na awarię dwóch dysków
- wyższa prędkość zapisu/dczytu w porównianiu z RAID 1
- tracona jest pojemność dwóch dysków w macierzy
Wady:
- niższa wydajność od RAID 0 spowodowana koniecznością wyliczania parzystości dla każdego bloku danych
Zastosowania:
- storage dla baz danych
- archiwizacja
- magazyn danych dla aplikacji
- rozwiązania wysokiej dostępności
RAID 0+1
To macierz, będąca kombinacją dwóch macierzy RAID 0, które są połączone w macierz RAID 1. Łącznie do utworzenia macierzy tego rodzaju potrzebne są 4 dyski twarde. Dzięki takiemu połączeniu dostajemy zalety macierzy RAID 0 - szybsze operacje zapisu/odczytu, a także macierzy RAID 1 - odporność na awarię pojedynczego dysku. W przypadku awarii jednego dysku macierz staje się praktyczne macierzą RAID 0. Zalety:
- szybkość RAID 0
- prostsza w działaniu i implementacji od rozwiązań z parzystością (RAID 5, 6)
Wady:
- większy koszt przechowywania danych w porównaniu do poprzednich rodzajów macierzy
- lepszym wyoborem jest RAID 1+0
Zastosowania:
- szybkie magazyny danych
- serwery aplikacji
RAID 1+0
Idea macierzy RAID 1+0 jest podobna do RAID 0+1 - w tym przypadku dwie macierze RAID 1 są składnikami macierzy RAID 0. W takim układzie stripingowi poddawane są niewielkie ilości danych, które znajdują się na dwóch dyskach. W przypadku awarii jednego z dysków odbudowaniu ulega jedna "strona" macierzy. Zalety:
- szybkość RAID 0
- prostsza w działaniu i implementacji od rozwiązań z parzystością (RAID 5, 6)
Wady:
- większy koszt przechowywania danych w porównaniu do poprzednich rodzajów macierzy
Zastosowania:
- szybkie magazyny danych
- serwery aplikacji
- magazyny danych maszyn wirtualnych
Inne poziomy RAID?
Opisane wcześniej rodzaje macierzy RAID są najczęściej spotykanymi rozwiązaniami w tym zakresie. Zdarzają się również wdrożenia bardziej złożonych konstrukcji, szczególnie jeśli chodzi o macierze zagnieżdżone. Przykłady innych rozwiązań to:
- RAID 50
- RAID 60
- RAID 10+0
Czy macierz RAID wymaga całego dysku twardego?
W powyższych opisach jest mowa o ilości dysków twardych potrzebnych do utworzenia różnych macierzy RAID. Tymczasem warto mieć na uwadze, że macierze RAID mogą być również tworzone na poziomie logicznych partycji dyskowych. Na przykład majać 2 dyski tworzymy na nich po dwie partycje. Pierwsze dwie partycje z każdego dysku mogą być połączone w RAID 0, kolejne dwie w RAID 1. Taką możliwość oferują zarówno dedykowane sprzętowe kontrolery, jak i rozwiązania programowe dostępne w większości współczesnych systemów operacyjnych.
Macierze RAID są świetnym rozwiązaniem wykorzystywanym głównie tam, gdzie niezbędna jest odporność na awarie sprzętu. Tradycyjne dyski talerzowe często ulegają awariom w najmniej spodziewanym momencie dlatego wybór nadmiarowej macierzy RAID w przypadku serwerów jest konieczny. Typy macierzy zapewniające bezpieczeństwo w przypadku awarii sprzętowej to:
- RAID 1 - awaria pojedynczego dysku z dwóch
- RAID 5 - awaria dowolnego dysku z układu minimum trzech dysków w macierzy
- RAID 6 - awaria dwóch dowolnych dysków
- RAID 10 - awaria po jednym dysku z każdej "podmacierzy"
W przypadku stacji roboczych, gdzie potrzebna jest duża wydajność do pracy aplikacji oraz obróbki danych (szczególnie multimedialnych) warto zastanowić się nad macierzą typu RAID 0 jeżeli nie mamy możliwości zakupu wydajnych dysków SSD.