mały|Jedna z pierwszych macierzy RAID w Computer History Museum
RAID ( – 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.
Zastosowanie 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 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 programowywiększa wydajność poprzez zmniejszenie obciążenia CPU, gdyż przeliczaniem sum kontrolnych zajmuje się wówczas dedykowany kontrolerrelatywnie mniejsza wydajność związana z większym obciążeniem CPU, gdyż przeliczaniem sum kontrolnych zajmuje się jednostka centralnamożliwość bezpośredniego startu systemu z macierzy dyskowej w związku z przezroczystością macierzy dyskowej dla systemu operacyjnegopartycja startowa powinna znajdować się poza macierzą, co wiąże się z koniecznością zastosowania dodatkowego nośnika wyłącznie do celu ładowania systemuwię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 twardynie wszystkie systemy operacyjne obsługują technologię RAID, co czasami może oznaczać instalację dodatkowego specjalnego oprogramowania dla danego systemuniestandardowy 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 twardychstandardowy (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 standardmoż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ść 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 Początkowo było zdefiniowanych 6 podstawowych poziomów RAID (0 do 5), w późniejszym okresie dodano kolejne.
Poziom RAID Minimalna liczba dysków (N) Dostępna przestrzeń Maksymalna liczba dysków,które mogą ulec awarii bez utraty danychRAID 0 2 N 0 RAID 12 1 N – 1 RAID 23 N – log N 1 RAID 3 3 N – 1 1 RAID 4 3 N – 1 1 RAID 5 3 N – 1 1 RAID 6 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) thumb|upright 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 ⋅ rozmiar najmniejszego z dysków, gdzie „” 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 (.
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 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 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 ⋅ 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 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) thumb|upright
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 (). 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 () – 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ę – 1 dysków przy -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 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 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 .
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 thumb|upright
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 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 thumb|upright