RAID (Redundant Array of Independent Disks – Nadmiarowa macierz niezależnych dysków) – polega na współdziałaniu dwóch lub więcej nośników w taki sposób, aby dać dodatkowe możliwości, nieosiągalne przy użyciu jednego dysku. Macierz RAID stosuje się przede wszystkim aby:

– zwiększyć niezawodność systemu (odporność na awarie systemów),

– przyspieszyć przepływ danych,

– powiększyć dostępną przestrzeń na dane (jako całość logicznej jednostki).

Rodzaje rozwiązań

– Rozwiązania sprzętowe

– Kontrolery wewnętrzne

– Macierze zewnętrzne

–  (serwery Qnap)

– Pyta główna z wbudowanym kontrolerem

– Rozwiązania programowe

– Windows Server , Windows 10

– Linux

– Mac OS X Server

RAID programowy

W RAIDzie Programowym za zarządzanie agregatem dysków odpowiada oprogramowanie systemowe zainstalowane na komputerze. Niektóre z systemów operacyjnych mają już zaimplementowane niezbędne składniki, szczególnie w wersjach serwerowych Windows i Linux.

RAID programowy jest często najtańszym i najprostszym rozwiązaniem jednak bardzo obciąża procesory komputera. Ponad to płyty główne z reguły posiadają tylko jedno lub dwa złącza do podłączenia napędów, co ogranicza możliwości równoległych odwołań do dysków, a zatem i wydajność.

Rodzaje RAID

Jeżeli chodzi o rodzaje RAID, to wyróżnia się poziomy od RAID0 , 1, 2 , 3 , 4.. do RAID7 oraz konfigurację JBOD

Nazwa tej konfiguracji pochodzi od  Just a Bunch of Driver polega na obsłudze dysków przy

pomocy kontrolera macierzowego, który pełni rolę zwykłego kontrolera dysków twardych. Czyli każdy z dysków fizycznych obsługiwany jest oddzielnie jako napęd logiczny. Ta konfiguracja nie zapewnia żadnych zabezpieczeń i nadmiarowości.

RAID 0 (stripping)

Opiera się na sprzężeniu ze sobą dwóch lub więcej dysków fizycznych tak, aby były widziane jako jeden dysk logiczny.

– Powstała przestrzeń na dane ma wielkość  N * pojemność najmniejszego z dysków.

– Sumaryczna szybkość jest N – Krotnością szybkości najwolniejszego z dysków

Dane są zapisywane w przeplecie pomiędzy dyskami. W związku z tym uzyskuje się  znaczne przyśpieszenie operacji zapisu i odczytu ze względu na zrównoleglenie tych operacji na wszystkie dyski w macierzy. Warunkiem koniecznym do uzyskania wyższej prędkości jest działanie na blokach danych (stripe) lub sekwencjach bloków danych większych niż pojedynczy blok danych macierzy RAID 0 .

RAID 0 nie jest macierzą nadmiarową, stąd też 0 w nazwie.

RAID 0 Korzyści:

– przestrzeń wszystkich dysków jest widziana jako całość jednostki logicznej

– przyspieszenie zapisu i odczytu w porównaniu do pojedynczego dysku

RAID 0 Wady:

– brak odporności na awarię któregokolwiek z dysków

– Pojemność macierzy = N*rozmiar najmniejszego z dysków

– N* zwiększona się teoretyczna możliwość awarii. Z powodu awaryjności poszczególnych dysków

– utrata danych w przypadku awarii jednego dysku.

Przykład Zastosowania RAID 0

Trzy dyski 1TB, 2TB, 4TB  zostały połączone w RAID 0. Powstała przestrzeń ma N*pojemność najmniejszego czyli 3 TB. Szybkość zapisu lub odczytu jest prawie trzykrotnie wyższa niż na pojedynczym dysku. Oczywiście sumaryczna szybkość jest 3-krotnością szybkoś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. Trzy dyski 1TB dałyby taki sam rozmiar macierzy i podobną prędkość.

Zastosowanie RAID 0

Rozwiązanie to jest dobre do tworzenia tanich i wydajnych macierzy, służących do obrabiania dużych plików multimedialnych czy przechwytywania. Przetrzymywanie ważnych danych na macierzy RAID 0 jest niezalecane z powodu zwiększonego ryzyka ich utraty , w przypadku awarii jednego z dysków .

RAID 1 (mirroring)

Polega na replikacji pracy dwóch lub więcej dysków fizycznych (Kopia 1:1). Powstała w wyniku takiego połączenia pojemność, ma rozmiar pojedynczego nośnika. RAID 1 jest zwany również mirroringiem. Szybkość zapisu i odczytu zależy od zastosowanej konfiguracji:

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  -przy pewnej relacji odczytów możliwe jest osiągnięcie szybkości takiej jak w RAID 0

– odczyt wyłącznie ze wskazanych dysków – stosowane jest to wtedy, gdy występuje znaczna różnica w szybkościach odczytu z poszczególnych dysków.

Korzyści ze stosowania RAID 1:

– odporność na awarię N-1 dysków przy N-dyskowej macierzy

– możliwe zwiększenie szybkości odczytu

Wady RAID 1:

– zmniejszona szybkość zapisu ze względu na konieczność zapisywania na N dyskach na raz tych samych informacji

– utrata pojemności (całkowity rozmiar macierzy jest taki jak pojemność najmniejszego dysku)

Przykład 1

– Trzy dyski 500GB, 1TB i 1TB zostały połączone w RAID 1. Powstała w ten sposób macierz ma rozmiar 500 GB. Jeżeli Jeden lub nawet dwa dyski w pewnym momencie ulegną uszkodzeniu. Macierz nadal działa.

Zastosowanie RAID 1

Rozwiązanie jednocześnie bezpieczne, proste i wydajne. Nastawione jest głównie na ochronę danych.

RAID 2

Dane na każdym dysku macierzy są dzielone na paski – bloki. Informacje zapisywane są po 1 bicie na pasek.

– RAID 2 wykorzystuje w związku z tym, osiem bitów na dane oraz dodatkowo dwa bity zużyte na kod ECC. Wtedy można nie tylko wynajdywać błędy danych, ale również je dokładnie zlokalizować.

Taki rozdział bitowy na poszczególne napędy, wymaga przeznaczenia na macierz minimum dziesięciu dysków. Innymi słowy RAID 2 potrzebuje 8 pojemności dysków do obsługi danych, i 2 dodatkowe dyski do przechowywania wygenerowanego kodu Hamminga przeznaczonego do korekcji błędów.

Biorąc pod uwagę możliwość równoległych odwołań do wszystkich napędów szybkość odczytu wzrasta ośmiokrotnie, jednak już w trakcie zapisu prędkość jest mniejsza od wydajności pojedynczego napędu – ze względu na konieczność zapisywania i wyliczania dużych stałych bloków ECC.

– dyski połączone w RAID 2 wyglądają logicznie jako jeden duży dysk. Cała pojemność RAID 2 to suma pojemności dysków przechowujących dane (bez dysków przeznaczonych na ECC).

– Kod Hamminga potrafi wykryć i poprawić błąd 1 bitu.

– RAID 2 działa na zasadzie kontroli bitu parzystości.

RAID 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

– Możliwość naprawy błędów danych

Wady RAID 2:

– Stała potrzeba dokładnej synchronizacji dysków z kodem Hamminga (w przeciwnym wypadku występuje dezorganizacja danych i całkowita bezużyteczność tych dysków)

– długotrwałe generowanie kodu Hamminga bardzo spowalnia działanie całego systemu

Zastosowanie RAID 2

– Rozwiązanie przydatne w dyskach i układach komputerowych, które wymagały kontroli poprawności danych.

– Obecnie rzadko stosowany i wyłącznie w zestawach typu mainframe, gdzie jest wymagany bardzo wysoki poziom ochrony danych.

RAID 3

– Dane użytkownika w tej macierzy są przechowywane na N-1 dyskach, ponieważ jeden dysk służy do zapisywania sum kontrolnych.

– Macierz RAID 3 działa jak RAID 0, z tą różnicą, że w RAID 3 zastosowano pomocniczy dysk, na którym zapisywane są kody parzystości obliczane przez specjalny procesor.

Sumy kontrolne powstają w wyniku wyliczenia poprzez funkcję logiczną XOR.

– W przypadku awarii któregokolwiek dysku, to po wymianie tego dysku na sprawny dane zostaną odbudowane na podstawie sum kontrolnych i pozostałych dysków.

RAID 3 Korzyści:

– odporność na awarię 1 dysku

– większa szybkość odczytu

Wady RAID3:

– mniejsza szybkość zapisu z powodu przeliczania, za każdym razem sum kontrolnych, przez kontroler. (Wada te jest niwelowana poprzez użycie 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 sporym obciążeniem obliczeniowym i powoduje spowolnienie wszystkich operacji na macierzy

– pojedynczy, wydzielony dysk na sumy kontrolne jest bardzo mocno obciążony i zazwyczaj jest wąskim gardłem w wydajności całej macierzy

Zastosowanie RAID 3

RAID 3 ze względu na swoją specyfikę,  w wyniku równoległych działań podczas odczytu dużych plików może znacznie zwiększyć swoją wydajność. Stosuje się więc, to rozwiązanie głównie do przetwarzania dużych plików danych w pojedynczych komputerach. Dobrze sprawdza się w rozwiązaniach CADowskich i przechwytywaniu Video

RAID 4

RAID 4 jest konstrukcyjnie zbliżony do RAID 3. Różnica polega na tym, że bloki danych są większe rozmiarowo (16, 32, 64 lub 128 kB). Takie paski zapisywane są na dyskach podobnie do poziomu RAID 0.

– Dla każdej linii zapisywanych danych, wygenerowany blok parzystości zapisywany jest na dysku parzystości.

W razie uszkodzenia dysku, dane są odtworzone przez właściwe operacje matematyczne z pozostałych nośników. Macierz  RAID 4 bardzo dobrze sprawdza się , więc przy sekwencyjnym zapisie i odczycie danych czyli dla działań na bardzo dużych plikach.

– W przypadku małych plików – zapis małej porcji danych wymaga wygenerowania odpowiednich bloków parzystości dla każdej operacji I/O. W skutek tego, za każdym razem przy zapisie danych system musiałby poczekać na przetworzenie bloków parzystości. Przy częstych operacjach zapisu małych plików ,bardzo spowolniłoby bo pracę całej macierzy.

RAID 4 – Korzyści:

– odporność na awarię pojedynczego dysku

– dobra prędkość odczytu

Wady RAID 4:

– odbudowa macierzy po wymianie dysku jest operacją odciążającą obliczeniowo system (duży spadek wydajności)

– pojedynczy, osobny dysk do przechowywania sum kontrolnych jest przeważnie wąskim gardłem jeżeli chodzi o wydajność całej macierzy

– Szybkość zapisu mniejsza niż w RAID 3

Zastosowanie RAID 4

– RAID 4 przyspieszy działanie macierzy, w wyniku równoległych odwołań, tylko podczas odczytu dużych plików. Poziom ten  stosuje się zatem do przetwarzania dużych, powiązanych ilości danych z wielu komputerów. Dobrze się również sprawdzi przy plikach CAD/CAM i obróbce wideo.

RAID 5

– W RAID 5 bity parzystości są rozmieszczane na wszystkich nośnikach macierzy. RAID 5 umożliwia odtworzenie danych w razie awarii jednego, dowolnego  dysku przy wykorzystaniu danych i kodów korekcyjnych zgromadzonych na pozostałych dyskach. (Nie jak  w RAID 3. na jednym specjalnie do tego wytypowanym, co zmniejsza koszty i zwiększa wydajność).

RAID 5 daje większą prędkość odczytu niż RAID 1, ale przy jego zastosowaniu nieznacznie spada prędkość zapisu. Poziom piąty jest dużo bezpieczniejszy dla danych – w razie awarii system automatycznie odbuduje utracone dane z pojedynczego dysku, zmniejszając jednak bieżącą wydajność macierzy. Spowolnienie to jest na szczęście tylko chwilowe. Po zamontowaniu nowego dysku i odtworzeniu danych wydajność macierzy wraca do normy.

 – Macierz może składać się z trzech lub więcej dysków. Przy macierzy liczącej N dysków jej rozmiar 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. Sumy te powstają z wyliczeń matematycznych.

Korzyści z RAID 5:

– odporność na awarię jednego dysku

– szybkość odczytu – porównywalna do macierzy RAID 0 złożonej z N-1 dysków

Wady RAID 5:

– spowolniona prędkość zapisu z powodu potrzeby przeliczania sum kontrolnych przy każdym zapisie (możliwa do wyeliminowania dzięki zastosowaniu sprzętowego kontrolera RAID 5)

– w przypadku awarii jednego z dysków, dostęp do danych jest dość spowolniony z powodu konieczności obliczania sum kontrolnych

– odbudowa macierzy po wymianie dysku jest operacją obciążającą macierz obliczeniowo i powoduje znaczne zwolnienie operacji odczytu i zapisu. Podczas tej operacji macierz jest nieodporna na dalsze uszkodzenia.

Zastosowanie RAID 5

Operacje zapisu są praktycznie równoległe w RAID 5, a obciążenie danymi i sumami kontrolnymi rozkłada się równomiernie na wszystkie dyski macierzy, ponieważ nie ma dedykowanego dysku parzystości.

Kolportaż danych po równo na wszystkie napędy daje sporo korzyści – m. in. dobrej sprawności przy odczycie, co jest szczególnie ważne przy odwołaniach do kilku niewielkich bloków danych. W związku z tym macierz RAID 5 często znajduje zastosowanie w systemach bazodanowych i serwerach transakcyjnych.

RAID 5 również dobrze współpracuje z RAID 0 – takie zespolenie określa się jako RAID 0+5 lub RAID 50. RAID 0+5 oferuje równie dobrą wydajność, a jednocześnie zapewnia większą odporność na awarie niż RAID 5.

Macierz RAID 5 pozwala skorzystać z ilości miejsca, która jest równa pojemności najmniejszego nośnika pomnożonej przez liczbę dysków minus 1.

Przykład

Jeżeli w macierzy funkcjonuje jest 6 dysków o pojemnościach 2 TB, 3TB, 4TB, 4,5 TB, 6TB, 6TB.

Najmniejszy dysk to 2 TB, więc pojemność dostępna to 2 TB * (6-1)= 2TB * 5 = 10 TB.

RAID 6

RAID 6, to nic innego jak przekształcona macierz RAID 5 (czasem można spotkać się z opisem  RAID 5+1). RAID 6 W odróżnieniu od poziomu 5, zawiera po dwie niezależne sumy kontrolne na każdy dysk. Macierz 6 jest kosztowna w implementacji, ale za to daje wysoki poziom  bezpieczeństwa.

– W poziomach macierzy od 3 do 5 dopuszczalna jest awaria tylko jednego dysku. Jeżeli awarii ulegnie kolejny, nie da się już zrekonstruować danych za pomocą operacji XOR z pozostałych dysków.

Konstrukcja RAID 6 idzie zatem dalej, uzupełniając RAID 5 o dodatkowy blok parzystości na każdym dysku. Dzięki temu, dane można odzyskać nawet po awarii dwóch dysków. Dodatkowe bezpieczeństwo jednak spowalnia zapisu w porównaniu z RAID 3 do 5.

Korzyści w zastosowaniu RAID 6:

– odporność na awarię aż 2 dysków

– szybkość pracy większa niż szybkość pojedynczego dysku

– bardzo wysokie bezpieczeństwo danych.

– Korzystny dla macierzy wielu dysków

Wady RAID 6 :

– Zapis trwa znacznie dłużej niż w niższych poziomach macierzy ( RAID 3, 4, 5)

– Duża część pojemności dysków jest zajmowany przez sumy kontrolne (istotne dla niewielkiej liczby dysków).

Zastosowanie RAID 6

Rozwiązanie to zapewnia wysoki poziom bezpieczeństwa – stąd jest stosowany w systemach bazodanowych, gdzie są wymagane dodatkowe sumy kontrolne.

RAID 0+1

Macierz taka jest 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). Awaria jednego dysku powoduje, że całość staje się w praktyce RAID 0.

Do skonstruowania RAID 1+0 potrzebne są minimum 4 dyski o tej samej pojemności. Wymagana jest też parzysta ilość dysków w takiej macierzy.

Korzyści z RAID 0+1:

– wydajność podobna do macierzy RAID 0

– bezpieczeństwo macierzy opartej na mirrorze – RAID 1 -w szczególnym wypadku nawet większe (awaria więcej niż jednego dysku w pojedynczym mirrorze)

– znacznie prostsza w implementacji niż RAID 3, 5 i 6

Wady RAID 0+1:

– większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6, wynikający z zastosowanie większej ilości dysków.

RAID 10

Nazywana także RAID 1 + 0. Macierz realizowana jako RAID 0, którego elementami są macierze RAID1.  Do jej konstrukcji również potrzeba parzystej ilości dysków. W Macierz tą buduje się podobnie jak RAID 0+1 z tym, że  – tworzony jest duży stripe z małych mirrorów, dzięki czemu podczas wymiany uszkodzonego dysku odbudowywany jest tylko fragment całej macierzy.

Korzyści z RAID 10 :

– 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 łatwiejsza w implementacji niż RAID 3, 5 i 6

Wady RAID 10           :

– zwiększone koszty składowania danych niż w przypadku RAID 0,2,3,4,5,6, ze względu na konieczność zaangażowania większej liczby nośników.

MaTrix RAID

W wyniku połączenia macierzy RAID 1 i RAID 0 tworzy się też macierze logiczne tworzone na dwóch dyskach, gdzie część dysków jest wykorzystana na macierz RAID 0 a część na RAID1. Takie rozwiązanie nazywane jest MATRIX RAID i łączy ze sobą wady i zalety obu tych macierzy z tym, że rozmieszczono je na dwóch dyskach w różnych partycjach (partycja RAID0 i partycja RAID1). Zatem awaria jednego unieruchamia całkowicie partycję RAID0 , oszczędzając Dane na partycji RAID1. Więc na poszczególnych partycjach przetrzymuje się innego typu dane. Jedne wymagają prędkości, drugie bezpieczeństwa danych.

– 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.

Możliwe tryby pracy macierzy RAID

Dysk logiczny, czyli zespół dysków fizycznych połączonych w macierz, którą zarządza system, może znajdować się w którymś z czterech stanów:

– optima – jest to normalna, prawidłowa praca wszystkich dysków twardych macierzy.

– degraded – prawidłowa praca dysku logicznego macierzy, ale jeden lub więcej fizycznych dysków twardych (z których zbudowany jest dysk logiczny) uległo awarii,

– rebuild – proces rekonstruowania danych przez system macierzy, przy przechodzeniu od stanu degraded do stanu optima, do prawidłowego działania wymagana jest naprawa lub zastąpienie dysku wadliwego, sprawnym dyskiem fizycznym i odbudowanie danych na nowym dysku,

– dead – system nie jest w stanie pracować, w stanie tym uszkodzone są krytyczne dyski fizyczne, nie ma możliwości odtworzenia zapisanych wcześniej danych.

W takim systemie możliwe jest tylko laboratoryjne odzyskiwanie danych, jeżeli nie otworzono wcześniej backupu logicznego dysku macierzy.

Podsumowując: 

– Macierze nie zabezpieczają systemu przed utratą danych. Mogą jedynie ograniczyć taką możliwość. Największą niezawodność uzyskują podsystemy macierzy pamięci masowych, w których wszystkie komponenty, łącznie z kontrolerem, macierzą, zasilaczami i chłodzeniem, są wykonane nadmiarowo.

– Niestety nieodwracalna utrata danych najczęściej jest spowodowana przez czynnik ludzki,  a nie  w wyniku usterki sprzętowej.

Nawet najlepsza,  najbezpieczniejsza macierz nie uczyni cudów i nie da rady odzyskać usuniętych lub uszkodzonych przez użytkownika plików.

Więcej informacji:

Odzyskiwanie danych z macierzy RAID – oferta