Kontrolery RAID i rodzaje RAID

RAID to skrót od angielskiego sformułowania „redundant array of independent disks” (co można przetłumaczyć jako „nadmiarowa macierz niezależnychdysków”). Oznacza w praktyce sposób użytkowania dwóch (lub więcej) dysków twardych pracujących w jednym komputerze. raid-kontroler-1.jpg

Można się spotkać z węższymi bądź szerszymi definicjami, jednak najczęściej określa się RAID jako połączenie dysków zapewniające dodatkowe możliwości, które są nieosiągalne w przypadku zastosowania tylko jednego dysku twardego. Zasadnicze korzyści z zastosowania RAID to:

  •          poprawa poziomu awaryjności sprzętu (staje się bardziej niezawodny),
  •          poprawa wydajności transferu danych,
  •          zwiększenie ilości dostępnej powierzchni dyskowej.

Najogólniej można podzielić RAID na dwa typy: sprzętowy (realizowany za pomocą dedykowanych kontrolerów) i programowy (realizowany za pośrednictwem odpowiedniego oprogramowania zainstalowanego na komputerze), przy czym należy zauważyć, że każdy z wymienionych typów macierzy RAID posiada określone zalety i wady.

RAID sprzętowy – cechy

RAID programowy – cechy

Macierz jest tworzona w oparciu o sprzętowy kontroler (czasem kilka), do którego podłączane są dyski twarde. Zasadniczym plusem
 tej konfiguracji jest zmniejszenie obciążenia dla głównego procesora w komputerze (GPU) – przeliczaniem sum kontrolnych zajmuje się procesor kontrolera. Kolejną zaletą jest możliwość uruchomienia systemu z macierzy, nie bez znaczenia pozostaje też zwiększenie poziomu kompatybilności z niepopularnymi systemami operacyjnymi. Największą wadą tego rozwiązania jest fakt, iż dane zapisywane są w nietypowy sposób, co przekłada się na niemożliwość odzyskania ich w przypadku awarii.

W tym przypadku macierz może zostać stworzona bez konieczności posiadania kontrolera RAID, ale należy liczyć się z tym, że uzyskana funkcjonalność będzie wolniejsza niż w przypadku realizacji przez specjalizowany kontroler (sumy kontrolne są przeliczane przez procesor, co zmniejsza ogólną wydajność). Idealnie byłoby również posiadać partycję startową poza macierzą, by móc z niej w sposób niezakłócony ładować system. Należy także wspomnieć, że niektóre systemy operacyjne nie obsługują technologii RAID. Problem ten daje się łatwo rozwiązać przy pomocy instalacji dedykowanego oprogramowania dodatkowego, jest to jednak kolejna czynność, bez której programowy RAID nie jest możliwy do zastosowania w praktyce.

Sposób zapisu danych w tym przypadku jest standardowy, dzięki czemu można bez żadnego problemu skorzystać z danej macierzy po podłączeniu jej do innego systemu obsługującego dany standard. Dodatkowym plusem jest możliwość zastosowania w obrębie tej samej macierzy różnych interfejsów przesyłu danych (USB, ATA, SATA, SCSI).

RAID jako kopia zapasowa

kontroler-raid-2.pngNależy zawsze pamiętać o tym, że RAID nie jest i nigdy nie był projektowany jako kopia zapasowa danych znajdujących się na dyskach w macierzy.
RAID jest sposobem ochrony przed awariami dysków twardych i utratą danych związaną z tym faktem, jednak nie jest w stanie  zastąpić regularnego zapisywania i przechowywania kopii zapasowych wrażliwych informacji.

Powód jest bardzo prosty: kopia zapasowa jest kompletnym zapisem danych zrobionym w określonym punkcie w czasie, co pozwala przywrócić ten właśnie stan danych tak długo, jak kopia zapasowa jest przechowywana i dostępna do wykorzystania. Macierz RAID oferuje natomiast nie kopię zapasową, a replikację danych znajdujących się na dyskach twardych wewnątrz macierzy, co w praktyce oznacza, że jeśli dysk ulegnie uszkodzeniu, to można go zastąpić innym i przywrócić pełną funkcjonalność macierzy. Nie istnieje jednak możliwość przywrócenia stanu danych z określonego punktu w czasie. RAID zapewnia ochronę przed awarią dysku (i tylko przed nią), natomiast kopia zapasowa chroni przed utratą danych.


Rodzaje (poziomy) RAID

 

 

RAID 0 (striping)

 

Dwa lub więcej dysków fizycznych łączy się w taki sposób, by dla systemu były widoczne jako pojedynczy dysk logiczny. Uzyskana przestrzeń dyskowa ma rozmiar N x rozmiar najmniejszego z zastosowanych dysków (N jest równe łącznej liczbie dysków). Zasadniczą zaletą takiego rozwiązania jest znaczące przyspieszenie odczytu i zapisu danych na dyskach w stosunku do pojedynczego dysku, a także widoczność całej przestrzeni dyskowej jako jednolitej całości. Do wad należy niewielka (praktycznie zerowa) odporność na awarię dysków i konieczność stosowania dysków o identycznej pojemności. Z tego względu RAID 0 jest zwykle stosowany do tworzenia niedrogich i dosyć szybkich macierzy, których zasadniczym zadaniem jest sprawne przetwarzanie plików multimedialnych o dużych rozmiarach.

 

 

RAID 1 (lustrzany)

 

Dwa lub więcej dysków fizycznych podlega replikacji pracy, czyli wszystkie dane trafiające do macierzy są zapisywane na każdy dysk jednocześnie. Całkowity rozmiar przestrzeni dyskowej to rozmiar najmniejszego dysku, a prędkość jest ograniczona prędkością najwolniejszego dysku w macierzy, stąd i w tym przypadku najlepiej stosować dyski posiadające identyczne parametry pracy. Do zalet tego rozwiązania należy odporność na awarię dysków (według algorytmu: N - 1, gdzie N to liczba wszystkich dysków w macierzy) oraz skrócenie czasów dostępu i prędkości zapisu, największą zaś wadą jest ograniczenie rozmiarów macierzy do pojemności najmniejszego dysku. RAID 1 zwykle znajduje zastosowanie jako przestrzeń do przechowywania kopii zapasowych ważnych danych, a także jako przestrzeń dla instalacji systemu operacyjnego serwera.

 

 

RAID 2

 

Macierz tego poziomu tworzy się przy użyciu przynajmniej trzech dysków twardych. Dane znajdujące się na dyskach są paskowane (dzielone na poziomie bitów), po czym zapisuje się je jednocześnie na dwóch dyskach. Trzeci z dysków jest wydzielony do przechowywania informacji na temat korekcji błędów, dzięki czemu macierz tego poziomu jest odporna na awarię dowolnego z dysków. Dostępna pojemność jest równa sumie pojemności wszystkich dysków w macierzy, natomiast dla systemu są one widoczne jako jeden duży dysk logiczny. Zaletą jest wspomniana już odporność na awarie (każdy dysk może zostać odbudowany), natomiast zasadniczą wadą jest wolna praca całej macierzy oraz konieczność precyzyjnej synchronizacji wszystkich dysków. W chwili obecnej RAID 2 uznaje się za przestarzały i nie używa się go.

 

 

RAID 3

 

– ten poziom macierzy jest tworzony z dowolnej liczby dysków, przy czym jeden dysk z ogólnej liczby jest wydzielony do przechowywania sum kontrolnych. Funkcjonalnie ten poziom działa jak macierz poziomu RAID 0, a jedyną różnicą jest obecność dysku, na którym zapisywane są kody parzystości. Do zalet tego rozwiązania należy relatywnie dobra prędkość odczytu danych i odporność na awarię jednego z dysków, natomiast zasadniczą wadą jest obecność „wąskiego gardła” w postaci dysku wydzielonego na sumy kontrolne – zmniejsza on wydajność całej macierzy. RAID 3 jest obecnie uznawany za przestarzałe i niewystarczająco wydajne rozwiązanie, w związku z czym nie korzysta się z niego.

 

 

RAID 4

 

Macierz tego poziomu tworzy się przy użyciu co najmniej trzech dysków twardych. Dane dzielone są na pojedyncze bloki, po czym następuje zapis na dwóch dyskach naraz. Ostatni dysk służy do przechowywania informacji o parzystości. Do największych zalet macierzy poziomu RAID 4 należy dobra szybkość operacji na bardzo dużych plikach, jednak przy mniejszych plikach system nie jest już tak wydajny. Do zalet należy też odporność na awarię dowolnego dysku, ale z uwagi na dostępność bardziej wydajnych opcji ten standard obecnie uznaje się za przestarzały i unika się stosowania go.

 

 

RAID 5

 

Zasada działania macierzy tego poziomu jest niemal identyczna z RAID 4. Tworzy się je z co najmniej trzech dysków twardych. Jedyną różnicą jest fakt zapisywania bitów parzystości w całej strukturze macierzy zamiast na pojedynczym, wydzielonym do tego dysku. Dzięki takiemu rozwiązaniu macierze RAID 5 są odporne na awarię dowolnego dysku (można odzyskać dane z uszkodzonego dysku dzięki wykorzystaniu informacji i kodów korekcyjnych zapisanych na innych dyskach w strukturze macierzy). Macierze poziomu RAID 5 cechują się większą prędkością odczytu danych niż RAID 1, ale za to zapis przebiega nieco wolniej. RAID 5 najczęściej stosuje się do archiwizacji danych oraz jako przestrzeń do przechowywania baz danych i aplikacji.

 

 

RAID 6

 

Jest to macierz o podwójnej parzystości, najczęściej realizowana w oparciu o schemat 5+2 albo 13+2, choć niezbędnym minimum są cztery dyski twarde (2+2). Pod względem zasady działania niemal identyczna z RAID 5, od którego różni się tym, że informacje o parzystości zapisywane są podwójnie na dwóch różnych dyskach w obrębie macierzy. Implementacja macierzy w tym standardzie jest nieco kosztowniejsza niż RAID 5, ale daje większą niezawodność działania (odporność na awarię dwóch dowolnych dysków w macierzy) i większą prędkość działania. Najczęściej macierze RAID 6 stosuje się jako magazyn danych dla różnych aplikacji, przechowuje się tam bazy danych, służą również do archiwizacji.

 

 

RAID 0+1

 

Jest to macierz składająca się z dwóch macierzy poziomu RAID 0. Do jej stworzenia wymagane jest użycie co najmniej czterech dysków twardych o identycznej pojemności. Zalety tego rozwiązania to przede wszystkim wydajność na poziomie macierzy RAID 0 (czyli bardzo duża szybkość odczytu i zapisu danych) oraz wysoki poziom bezpieczeństwa (odporność na awarię jednego dysku). Największym plusem tego rozwiązania jest łatwość w implementacji, natomiast do wad trzeba zaliczyć nieco wyższy koszt przechowywania danych niż w przypadku innych stosowanych współcześnie rozwiązań. Mimo to dość często macierze RAID 0+1 są używane jako serwery aplikacji lub magazyny danych.

 

 

RAID 1+0

 

znana również jako macierz RAID 10. Pod względem funkcjonalnym to macierz RAID 0, składająca się z dwóch macierzy RAID 1. Generalna zasada działania jest taka sama, jak w przypadku macierzy RAID 0+1, z tą różnicą, że w przypadku 1+0 paskowaniu (stripingowi) podlegają względnie nieduże bloki danych, które następnie są zapisywane na dwóch różnych dyskach. W efekcie w razie awarii jednego z dysków i konieczności wymiany go na sprawny, odbudowana musi zostać jedynie nieduża część macierzy.

Inne korzyści to: prędkość odczytu i zapisu danych na poziomie RAID 0 (bardzo duża), klonowanie odbywa się na dyskach fizycznych, a nie logicznych (w razie awarii wyłączany jest tylko uszkodzony dysk, a nie cały dysk logiczny jak w RAID 0+1), bardzo prosta implementacja. Największą wadą RAID 1+0 jest konieczność używania do budowy macierzy w tym standardzie dysków twardych o identycznej pojemności i takich samych parametrach pracy, by nie obniżać wydajności. Zwykle macierze RAID 1+0 stosuje się jako serwery aplikacji, magazyny danych o dużej szybkości dostępu lub magazyny danych przeznaczonych dla maszyn wirtualnych.

 

 

Matrix RAID

 

macierz tego poziomu jest połączeniem dwóch dysków fizycznych w taki sposób, by część macierzy funkcjonowała jako RAID 0, a pozostała część jako RAID 1. W praktyce oznacza to konieczność tworzenia macierzy RAID niezależnie na poszczególnych partycjach logicznych. Największą korzyścią z zastosowania tego rozwiązania jest możliwość duplikowania plików o krytycznym znaczeniu na obu dyskach w macierzy, do wad należy natomiast zaliczyć podatność pewnej części danych na awarię oraz zauważalny spadek pojemności (dostępna pojemność jest mniejsza niż suma pojemności dysków składowych).

 

 

Z perspektywy wydajności macierzy RAID istotne są parametry zastosowanych dysków oraz obecność kontrolera sprzętowego lub jej brak. Z reguły podczas szacowania potencjalnej wydajności projektowanej macierzy przyjmuje się, że wszystkie dyski w jej obrębie są identyczne, a dane dystrybuowane są w sposób równomierny pomiędzy nimi, jednak w praktyce zwłaszcza to drugie założenie nie zawsze się sprawdza. Warto również pamiętać, że ostateczna wydajność całej macierzy w przypadku zastosowania kontrolera sprzętowego jest ograniczona jego maksymalną wydajnością, tak więc nie jest fizycznie możliwe ani wskazane powiększanie macierzy ponad realną wydolność zakupionego lub planowanego do zakupu sprzętu.