Articles

RAID (redundant array of independent disks)

RAID (redundant array of independent disks) to sposób przechowywania tych samych danych w różnych miejscach na wielu dyskach twardych lub półprzewodnikowych w celu ochrony danych w przypadku awarii dysku. Istnieją różne poziomy RAID, jednakże nie wszystkie mają na celu zapewnienie redundancji.

Jak działa RAID

RAID działa poprzez umieszczenie danych na wielu dyskach i umożliwienie operacji wejścia/wyjścia (I/O) do nakładania się w zrównoważony sposób, poprawiając wydajność. Ponieważ zastosowanie wielu dysków zwiększa średni czas między awariami (MTBF), przechowywanie danych w sposób redundantny zwiększa również odporność na awarie.

Macierze RAID są widoczne dla systemu operacyjnego jako pojedynczy dysk logiczny. RAID wykorzystuje techniki mirroringu lub stripingu dysków. Mirroring powoduje kopiowanie identycznych danych na więcej niż jeden dysk. Striping partycji pomaga rozłożyć dane na wielu dyskach. Przestrzeń dyskowa każdego dysku jest dzielona na jednostki o wielkości od sektora (512 bajtów) do kilku megabajtów. Paski wszystkich dysków są przeplatane i adresowane w odpowiedniej kolejności.

dysk twardy RAID
Obraz dysku twardego RAID z pięcioma macierzami

W macierzy RAID można również połączyć mirroring i striping dysków.

W systemie dla jednego użytkownika, w którym przechowywane są duże rekordy, paski są zazwyczaj małe (być może 512 bajtów), tak aby pojedynczy rekord obejmował wszystkie dyski i był szybko dostępny poprzez jednoczesny odczyt wszystkich dysków.

W systemie wieloużytkownikowym lepsza wydajność wymaga paska wystarczająco szerokiego, aby pomieścić rekord o typowym lub maksymalnym rozmiarze, umożliwiając nakładanie się operacji wejścia/wyjścia na dyski.

Kontroler RAID

Kontroler RAID to urządzenie używane do zarządzania dyskami twardymi w macierzy pamięci masowej. Może być używany jako poziom abstrakcji pomiędzy systemem operacyjnym a dyskami fizycznymi, prezentując grupy dysków jako jednostki logiczne. Użycie kontrolera RAID może poprawić wydajność i pomóc chronić dane w przypadku awarii.

Kontroler RAID może być sprzętowy lub programowy. W produkcie RAID opartym na sprzęcie, fizyczny kontroler zarządza macierzą. Kontroler może być również zaprojektowany do obsługi formatów dysków, takich jak SATA i SCSI. Fizyczny kontroler RAID może być również wbudowany w płytę główną serwera.

W przypadku RAID opartego na oprogramowaniu, kontroler wykorzystuje zasoby systemu sprzętowego, takie jak procesor centralny i pamięć. Spełnia on te same funkcje co sprzętowy kontroler RAID, jednak programowe kontrolery RAID mogą nie umożliwiać tak dużego wzrostu wydajności i mogą wpływać na wydajność innych aplikacji na serwerze.

Jeśli implementacja RAID oparta na oprogramowaniu nie jest zgodna z procesem rozruchu systemu, a sprzętowe kontrolery RAID są zbyt kosztowne, RAID oparty na oprogramowaniu sprzętowym lub sterownikach jest kolejną potencjalną opcją.

Czipy kontrolera RAID oparte na oprogramowaniu sprzętowym znajdują się na płycie głównej, a wszystkie operacje wykonywane są przez procesor, podobnie jak w przypadku RAID opartego na oprogramowaniu. Jednak w przypadku firmware, system RAID jest implementowany tylko na początku procesu bootowania. Po załadowaniu systemu operacyjnego, sterownik kontrolera przejmuje funkcjonalność RAID. Firmware’owy kontroler RAID nie jest tak kosztowny jak opcja sprzętowa, ale bardziej obciąża procesor komputera. RAID oparty na firmware nazywany jest również RAID programowy wspomagany sprzętowo, model hybrydowy RAID oraz RAID fałszywy.

Poziomy RAID

Urządzenia RAID będą korzystać z różnych wersji, zwanych poziomami. Oryginalny dokument, który stworzył termin i opracował koncepcję konfiguracji RAID, definiował sześć poziomów RAID – od 0 do 5. Ten numeryczny system pozwalał informatykom na rozróżnienie wersji RAID. Od tego czasu liczba poziomów została rozszerzona i podzielona na trzy kategorie: standardowe, zagnieżdżone i niestandardowe poziomy RAID.

Standardowe poziomy RAID

RAID 0. Ta konfiguracja posiada striping, ale nie posiada nadmiarowości danych. Oferuje najlepszą wydajność, ale nie zapewnia odporności na błędy.

Schemat RAID 0

RAID 1. Znana również jako mirroring dysków, ta konfiguracja składa się z co najmniej dwóch dysków, które dublują przechowywanie danych. Nie występuje tu striping. Wydajność odczytu jest zwiększona, ponieważ każdy z dysków może być odczytywany w tym samym czasie. Wydajność zapisu jest taka sama jak w przypadku pamięci masowej z jednym dyskiem.

Schemat macierzy RAID 1

ModułRAID 2. Ta konfiguracja wykorzystuje striping na dyskach, przy czym na niektórych dyskach przechowywane są informacje o kontroli i korekcji błędów (ECC). RAID 2 wykorzystuje również dedykowany kod parzystości Hamminga, będący liniową formą kodu korekcji błędów. RAID 2 nie ma przewagi nad RAID 3 i nie jest już stosowany.

Schemat RAID 2

RAID 3. Technika ta wykorzystuje striping i dedykuje jeden dysk do przechowywania informacji o parzystości. Wbudowane informacje ECC są wykorzystywane do wykrywania błędów. Odzyskiwanie danych odbywa się poprzez obliczenie informacji o wyłączności zapisanych na pozostałych dyskach. Ponieważ operacje wejścia/wyjścia dotyczą wszystkich dysków jednocześnie, macierz RAID 3 nie może nakładać się na siebie operacji wejścia/wyjścia. Z tego powodu, RAID 3 jest najlepszy dla systemów z pojedynczym użytkownikiem i aplikacjami o długim zapisie.

Schemat RAID 3

RAID 4. Ten poziom wykorzystuje duże pasy, co oznacza, że użytkownik może odczytywać rekordy z każdego pojedynczego dysku. Nakładające się operacje wejścia/wyjścia mogą być następnie wykorzystane do operacji odczytu. Ponieważ wszystkie operacje zapisu są wymagane do aktualizacji dysku parzystości, nie jest możliwe nakładanie się operacji we/wy.

Schemat macierzy RAID 4

RAID 5. Ten poziom opiera się na stripingu na poziomie bloków parzystości. Informacje o parzystości są zapisywane w postaci pasków na każdym dysku, co umożliwia działanie macierzy nawet w przypadku awarii jednego z dysków. Architektura macierzy umożliwia wykonywanie operacji odczytu i zapisu na wielu dyskach, co zapewnia wydajność lepszą niż w przypadku pojedynczego dysku, ale nie tak wysoką jak w przypadku macierzy RAID 0. Macierz RAID 5 wymaga co najmniej trzech dysków, ale ze względów wydajnościowych często zaleca się stosowanie co najmniej pięciu dysków.

Macierze RAID 5 są ogólnie uważane za zły wybór do stosowania w systemach intensywnie korzystających z zapisu, ponieważ wpływ na wydajność ma zapis danych parzystości. Gdy dysk ulegnie awarii, odbudowa macierzy RAID 5 może zająć dużo czasu.

Schemat macierzy RAID 5

RAID 6. Technika ta jest podobna do RAID 5, ale zawiera drugi schemat parzystości rozłożony na dyski w macierzy. Zastosowanie dodatkowego parytetu umożliwia dalsze działanie macierzy nawet w przypadku jednoczesnej awarii dwóch dysków. Ta dodatkowa ochrona wiąże się jednak z kosztami. Macierze RAID 6 często charakteryzują się wolniejszą wydajnością zapisu niż macierze RAID 5.

Schemat RAID 6

Zagnieżdżone poziomy RAID

Niektóre poziomy RAID są określane jako zagnieżdżone RAID, ponieważ są oparte na kombinacji poziomów RAID. Oto kilka przykładów zagnieżdżonych poziomów RAID.

RAID 10 (RAID 1+0). Łącząc RAID 1 i RAID 0, ten poziom jest często określany jako RAID 10, który oferuje wyższą wydajność niż RAID 1, ale przy znacznie wyższych kosztach. W RAID 1+0 dane są mirrorowane, a mirrory są paskowane.

Schemat RAID 10

RAID 01 (RAID 0+1). RAID 0+1 jest podobny do RAID 1+0, z tą różnicą, że metoda organizacji danych jest nieco inna. Zamiast tworzyć mirror, a następnie stripować mirror, RAID 0+1 tworzy zestaw stripów, a następnie mirroruje zestaw stripów.

RAID 03 (RAID 0+3, znany również jako RAID 53 lub RAID 5+3). Ten poziom wykorzystuje striping (w stylu RAID 0) dla bloków wirtualnych dysków w RAID 3. Zapewnia to wyższą wydajność niż RAID 3, ale wiąże się z wyższymi kosztami.

RAID 50 (RAID 5+0). Konfiguracja ta łączy rozproszoną parzystość RAID 5 z paskowaniem RAID 0 w celu zwiększenia wydajności RAID 5 bez zmniejszenia ochrony danych.

Niestandardowe poziomy RAID

Niestandardowe poziomy RAID różnią się od standardowych poziomów RAID i są zazwyczaj opracowywane przez firmy lub organizacje głównie do użytku własnego. Oto kilka przykładów.

RAID 7. Niestandardowy poziom RAID oparty na RAID 3 i RAID 4, który dodaje buforowanie. Zawiera wbudowany system operacyjny czasu rzeczywistego jako kontroler, buforowanie za pośrednictwem szybkiej magistrali i inne cechy komputera autonomicznego.

Adaptacyjna macierz RAID. Ten poziom umożliwia kontrolerowi RAID decydowanie o sposobie przechowywania parzystości na dyskach. Wybiera on pomiędzy RAID 3 i RAID 5, w zależności od tego, który typ zestawu RAID będzie lepiej radził sobie z typem danych zapisywanych na dyskach.

Linux MD RAID 10. Ten poziom, dostarczany przez jądro systemu Linux, wspiera tworzenie zagnieżdżonych i niestandardowych macierzy RAID. Oprogramowanie RAID systemu Linux może również wspierać tworzenie standardowych konfiguracji RAID 0, RAID 1, RAID 4, RAID 5 i RAID 6.

Korzyści z RAID

Korzyści z RAID obejmują następujące elementy.

  • Poprawa efektywności kosztowej, ponieważ tańsze dyski są używane w dużej liczbie.
  • Użycie wielu dysków twardych umożliwia RAID poprawę wydajności pojedynczego dysku twardego.
  • Większa szybkość komputera i niezawodność po awarii – w zależności od konfiguracji.
  • Odczytywanie i zapisywanie danych może być wykonywane szybciej niż w przypadku pojedynczego dysku w RAID 0. Dzieje się tak dlatego, że system plików jest dzielony i dystrybuowany na dyski, które współpracują ze sobą na tym samym pliku.
  • Większa dostępność i odporność na awarie dzięki RAID 5. Dzięki mirroringowi, macierze RAID mogą mieć dwa dyski zawierające te same dane, zapewniając, że jeden z nich będzie kontynuował pracę, jeśli drugi ulegnie awarii.

Wady korzystania z RAID

RAID ma swoje wady, jednak. Niektóre z nich to:

  • Zagnieżdżone poziomy RAID są droższe do wdrożenia niż tradycyjne poziomy RAID, ponieważ wymagają większej liczby dysków.
  • Koszt za gigabajt urządzeń pamięci masowej jest wyższy w przypadku zagnieżdżonego RAID, ponieważ wiele dysków jest używanych do nadmiarowości.
  • Gdy dysk ulegnie awarii, prawdopodobieństwo, że inny dysk w macierzy również wkrótce ulegnie awarii, co prawdopodobnie spowoduje utratę danych. Wynika to z faktu, że wszystkie dyski w macierzy RAID są instalowane w tym samym czasie, więc wszystkie dyski podlegają takiemu samemu zużyciu.
  • Niektóre poziomy RAID (takie jak RAID 1 i 5) mogą wytrzymać awarię tylko jednego dysku.
  • Tarcze RAID, a dane w nich, są w stanie zagrożenia do czasu wymiany uszkodzonego dysku i nowy dysk jest wypełniony danymi.
  • Ponieważ dyski mają znacznie większą pojemność teraz niż kiedy RAID został po raz pierwszy wdrożony, odbudowa uszkodzonych dysków trwa znacznie dłużej.
  • Jeśli dojdzie do awarii dysku, istnieje prawdopodobieństwo, że pozostałe dyski mogą zawierać uszkodzone sektory lub nieczytelne dane – co może uniemożliwić pełną odbudowę macierzy.

Zagnieżdżone poziomy RAID rozwiązują te problemy, zapewniając wyższy stopień redundancji, co znacznie zmniejsza szanse na awarię na poziomie macierzy spowodowaną jednoczesną awarią dysków.

Historia RAID

Termin RAID został stworzony w 1987 r. przez Davida Pattersona, Randy’ego Katza i Gartha A. Gibsona. W swoim raporcie technicznym z 1988 r., „A Case for Redundant Arrays of Inexpensive Disks (RAID)” (Przypadek redundantnych macierzy niedrogich dysków (RAID)), ta trójka argumentowała, że macierz niedrogich dysków może pobić wydajność najlepszych dysków w tamtym czasie. Dzięki zastosowaniu nadmiarowości, macierz RAID może być bardziej niezawodna niż pojedynczy dysk.

Pomimo, że raport ten był pierwszym, który nadał nazwę tej koncepcji, wykorzystanie nadmiarowych dysków było już omawiane przez innych. Gus German i Ted Grunau z Geac Computer Corp. po raz pierwszy odnieśli się do tego pomysłu jako MF-100. Norman Ken Ouchi z firmy IBM zgłosił w 1977 roku patent na tę technologię, która później została nazwana RAID 4. W 1983 r. firma Digital Equipment Corp. dostarczyła dyski, które stały się RAID 1, a w 1986 r. kolejny patent IBM został zgłoszony dla technologii, która stała się RAID 5. Patterson, Katz i Gibson przyjrzeli się również poczynaniom takich firm, jak Tandem Computers, Thinking Machines i Maxstor, aby zdefiniować ich taksonomie RAID.

Pomimo że poziomy RAID wymienione w raporcie z 1988 r. zasadniczo nadawały nazwy technologiom, które były już w użyciu, stworzenie wspólnej terminologii dla tej koncepcji pomogło pobudzić rynek pamięci masowych do opracowania większej liczby produktów macierzy RAID.

Według Katza, termin „niedrogi” w akronimie został wkrótce zastąpiony przez sprzedawców z branży terminem „niezależny” ze względu na implikacje niskich kosztów.

Przyszłość RAID

RAID nie jest jeszcze całkiem martwy, ale wielu analityków twierdzi, że technologia ta stała się w ostatnich latach przestarzała. Alternatywne rozwiązania, takie jak kodowanie wymazywania, oferują lepszą ochronę danych (choć za wyższą cenę) i zostały opracowane z myślą o wyeliminowaniu słabych stron RAID. Wraz ze wzrostem pojemności dysków wzrasta prawdopodobieństwo popełnienia błędu w macierzy RAID, a pojemność stale rośnie.

Powstanie dysków półprzewodnikowych (SSD) jest również postrzegane jako zmniejszenie zapotrzebowania na RAID. Dyski SSD nie mają ruchomych części i nie ulegają awariom tak często jak dyski twarde. Macierze SSD często wykorzystują techniki takie jak wear leveling zamiast polegać na RAID w celu ochrony danych. Technologia Hyperscale Computing również eliminuje potrzebę stosowania macierzy RAID, wykorzystując nadmiarowe serwery zamiast nadmiarowych dysków.

Jednakże macierze RAID pozostają zakorzenionym elementem przechowywania danych, a główni producenci technologii nadal wydają produkty RAID. IBM udostępnił IBM Distributed RAID wraz ze swoim Spectrum Virtualize V7.6, który obiecuje zwiększyć wydajność RAID. Najnowsza wersja Intel Rapid Storage Technology obsługuje RAID 0, RAID 1, RAID 5 i RAID 10, a oprogramowanie zarządzające NetApp ONTAP wykorzystuje RAID do ochrony przed maksymalnie trzema jednoczesnymi awariami dysków. Platforma Dell EMC Unity obsługuje również macierze RAID 1/0, RAID 5 i RAID 6.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *