Macierz dyskowa – co to jest, jak działa RAID i jaki poziom wybrać?
Macierz dyskowa to system, w którym kilka fizycznych dysków HDD lub SSD współpracuje jako jedna logiczna przestrzeń przechowywania danych. Zależnie od zastosowanej konfiguracji rozwiązanie może zwiększać wydajność, zapewniać odporność na awarię jednego lub kilku nośników albo łączyć obie te korzyści. Najczęściej wykorzystuje się w tym celu technologię RAID.
Wybór macierzy nie powinien sprowadzać się do pytania, który poziom RAID jest „najlepszy”. RAID 0 zapewnia wysoką wydajność, ale nie chroni przed awarią dysku. RAID 1 tworzy kopię lustrzaną, RAID 5 i RAID 6 wykorzystują informacje parzystości, natomiast RAID 10 łączy mirroring z podziałem danych pomiędzy dyski. Każda konfiguracja inaczej wpływa na dostępną pojemność, koszt, szybkość i tolerancję awarii.
Co to jest macierz dyskowa?
Macierz dyskowa łączy kilka fizycznych nośników w jeden system pamięci masowej. Komputer, serwer lub urządzenie NAS może widzieć taką konfigurację jako jeden logiczny dysk, mimo że dane są zapisywane na wielu nośnikach.
Sposób rozmieszczania danych zależy od wybranego poziomu RAID. Informacje mogą być:
- dzielone na fragmenty i zapisywane równolegle;
- powielane na kilku dyskach;
- uzupełniane o dane parzystości pozwalające odtworzyć brakujące informacje;
- jednocześnie dzielone i kopiowane lustrzanie.
Podstawową ideą RAID jest uzyskanie właściwości, których nie zapewniłby pojedynczy dysk: większej wydajności, nadmiarowości, większej pojemności logicznej lub połączenia tych cech.
Co oznacza skrót RAID?
RAID pochodzi od angielskiego określenia Redundant Array of Independent Disks, czyli nadmiarowa macierz niezależnych dysków.
Słowo „nadmiarowa” nie dotyczy jednak każdego poziomu. RAID 0 należy do rodziny konfiguracji RAID, ale nie zawiera żadnej redundancji. Awaria jednego dysku zazwyczaj powoduje utratę całego woluminu RAID 0.
Czy macierz dyskowa i RAID oznaczają to samo?
Pojęcia są często używane zamiennie, ale nie są całkowicie tożsame.
Macierz dyskowa jest ogólnym systemem złożonym z wielu dysków. RAID określa sposób organizacji danych na tych nośnikach. Jedno urządzenie może zawierać kilka grup RAID, wiele woluminów, pamięć podręczną, dyski zapasowe oraz dodatkowe mechanizmy ochrony.
Do systemów wielodyskowych zalicza się również JBOD, czyli połączenie dysków bez typowej redundancji RAID. JBOD może udostępniać wspólną przestrzeń, ale nie zapewnia ochrony charakterystycznej dla konfiguracji lustrzanych lub wykorzystujących parzystość.
Jak działa macierz dyskowa?
Kontroler sprzętowy albo oprogramowanie systemowe decyduje, gdzie ma zostać zapisany każdy fragment danych. Użytkownik zazwyczaj pracuje na jednym woluminie, natomiast system rozdziela operacje pomiędzy fizyczne nośniki.
Działanie macierzy opiera się głównie na trzech mechanizmach.
Striping – podział danych
Striping polega na dzieleniu danych na fragmenty nazywane paskami i zapisywaniu ich równolegle na kilku dyskach.
Jeżeli plik zostanie podzielony pomiędzy cztery nośniki, system może jednocześnie odczytywać lub zapisywać kilka jego części. Zwiększa to przepustowość, ale samo w sobie nie zapewnia ochrony danych. Striping jest podstawą RAID 0 oraz elementem konfiguracji RAID 5, RAID 6 i RAID 10.
Mirroring – kopia lustrzana
Mirroring oznacza równoczesne zapisywanie tych samych danych na dwóch lub większej liczbie nośników.
W typowej dwudyskowej konfiguracji RAID 1 oba dyski zawierają identyczne informacje. Jeżeli jeden ulegnie awarii, system może nadal działać na drugim. Wadą jest utrata znacznej części surowej pojemności, ponieważ przestrzeń drugiego dysku służy do przechowywania kopii.
Parity – dane parzystości
W RAID 5 i RAID 6 oprócz właściwych danych przechowuje się informacje parzystości. Pozwalają one odtworzyć zawartość uszkodzonego dysku na podstawie danych znajdujących się na pozostałych nośnikach.
RAID 5 wykorzystuje pojedynczą parzystość i toleruje awarię jednego dysku. RAID 6 stosuje podwójną parzystość, dzięki czemu może zachować dane po awarii dwóch nośników.
Najważniejsze poziomy RAID
Najczęściej spotykane konfiguracje to RAID 0, RAID 1, RAID 5, RAID 6 i RAID 10. Poszczególne urządzenia mogą obsługiwać również RAID 50, RAID 60, rozwiązania hybrydowe oraz własne systemy producentów.
W poniższych wzorach:
- (N) oznacza liczbę dysków;
- (S) oznacza pojemność najmniejszego dysku;
- podana pojemność jest wartością orientacyjną przed utworzeniem systemu plików i narzutami systemowymi.
| Poziom | Minimalna liczba dysków | Przybliżona pojemność użytkowa | Standardowa tolerancja awarii |
|---|---|---|---|
| RAID 0 | 2 | (N \times S) | brak |
| RAID 1 | 2 | (S) | 1 dysk w typowym lustrze dwudyskowym |
| RAID 5 | 3 | ((N-1)\times S) | 1 dysk |
| RAID 6 | 4 | ((N-2)\times S) | 2 dyski |
| RAID 10 | 4 | ((N/2)\times S) | zależy od położenia awarii |
Zasady pojemności i minimalnej liczby dysków mogą się różnić w rozwiązaniach producentów, zwłaszcza przy macierzach hybrydowych, niestandardowych grupach RAID i dyskach o różnych pojemnościach.
RAID 0 – maksymalna pojemność i wydajność bez ochrony
RAID 0 dzieli dane pomiędzy co najmniej dwa dyski. Cała pojemność nośników może zostać wykorzystana, a równoległe operacje zwykle zwiększają wydajność.
Przykład dla czterech dysków po 4 TB:
[
4\times4\ \text{TB}=16\ \text{TB}
]
Macierz udostępni w przybliżeniu 16 TB przed uwzględnieniem sposobu przeliczania jednostek i narzutów systemowych.
Najważniejszą wadą jest brak odporności na awarie. Fragmenty plików są rozmieszczone na wszystkich nośnikach, dlatego uszkodzenie jednego dysku może uniemożliwić odczyt całego woluminu.
Kiedy RAID 0 ma sens?
RAID 0 można rozważyć dla danych tymczasowych, pamięci roboczej, plików możliwych do łatwego odtworzenia lub środowisk, w których wydajność jest ważniejsza niż ciągłość działania.
Nie jest odpowiedni jako jedyne miejsce przechowywania dokumentów, zdjęć, baz danych ani innych niezastępowalnych plików.
RAID 1 – lustrzana kopia danych
RAID 1 zapisuje tę samą zawartość na co najmniej dwóch dyskach. Najczęściej spotyka się konfigurację dwudyskową.
Dwa dyski po 4 TB zapewnią około 4 TB pojemności użytkowej, ponieważ drugi nośnik przechowuje kopię pierwszego.
Główne zalety RAID 1 to:
- prosta zasada działania;
- odporność na awarię jednego dysku w układzie dwudyskowym;
- szybki odczyt możliwy z obu kopii;
- stosunkowo prosty proces odbudowy.
Wadą jest wykorzystanie jedynie połowy surowej pojemności w klasycznej konfiguracji z dwoma dyskami.
Do czego nadaje się RAID 1?
RAID 1 sprawdza się w dwuzatokowych urządzeniach NAS, komputerach firmowych, małych serwerach oraz systemach, w których prostota i ciągłość działania są ważniejsze niż maksymalne wykorzystanie pojemności.
RAID 5 – kompromis między pojemnością a ochroną
RAID 5 wymaga co najmniej trzech dysków. Dane oraz informacje parzystości są rozłożone pomiędzy wszystkie nośniki.
Przy czterech dyskach po 4 TB pojemność wynosi orientacyjnie:
[
(4-1)\times4\ \text{TB}=12\ \text{TB}
]
Przestrzeń odpowiadająca pojemności jednego dysku jest wykorzystywana na parzystość. Macierz może działać po awarii jednego nośnika.
RAID 5 oferuje korzystne wykorzystanie przestrzeni, ale operacje zapisu wymagają obliczania i aktualizowania parzystości. Po awarii dysku macierz działa w stanie zdegradowanym, a ponowne odtworzenie danych może być długotrwałe.
Kiedy wybrać RAID 5?
RAID 5 jest często rozważany w małych i średnich systemach NAS, archiwach multimediów oraz magazynach danych, w których liczy się większa dostępna pojemność, a utrata dwóch dysków jednocześnie jest akceptowanym ryzykiem objętym dodatkową kopią zapasową.
W przypadku dużej liczby pojemnych dysków warto jednak porównać RAID 5 z RAID 6. Podczas odbudowy po awarii jednego nośnika RAID 5 nie ma już zapasu na kolejną awarię.
RAID 6 – ochrona przed awarią dwóch dysków
RAID 6 działa podobnie do RAID 5, ale wykorzystuje dwa niezależne zestawy informacji parzystości. Wymaga co najmniej czterech dysków i toleruje awarię dwóch nośników.
Dla sześciu dysków po 8 TB pojemność wynosi orientacyjnie:
[
(6-2)\times8\ \text{TB}=32\ \text{TB}
]
Odpowiednik pojemności dwóch dysków służy do ochrony danych.
RAID 6 zapewnia większy margines bezpieczeństwa podczas odbudowy, ale oferuje mniejszą pojemność użytkową i bardziej obciąża operacje zapisu niż RAID 5.
Kiedy RAID 6 jest lepszy od RAID 5?
RAID 6 warto rozważyć, gdy:
- macierz zawiera wiele pojemnych dysków;
- odbudowa może trwać długo;
- dane muszą pozostawać dostępne mimo dwóch awarii;
- urządzenie działa przez całą dobę;
- dodatkowa ochrona jest ważniejsza niż maksymalna pojemność.
RAID 10 – połączenie wydajności i mirroringu
RAID 10, nazywany również RAID 1+0, łączy lustrzane pary dysków z podziałem danych pomiędzy te pary. Standardowo wymaga co najmniej czterech nośników.
Dla czterech dysków po 4 TB pojemność użytkowa wyniesie około:
[
\frac{4}{2}\times4\ \text{TB}=8\ \text{TB}
]
RAID 10 zazwyczaj zapewnia bardzo dobrą wydajność odczytu i zapisu oraz stosunkowo prostą odbudowę. Może przetrwać więcej niż jedną awarię, jeżeli nie zostaną jednocześnie uszkodzone oba dyski tej samej pary lustrzanej.
RAID 10 czy RAID 6?
RAID 10 zwykle wybiera się dla obciążeń wymagających wielu operacji zapisu, takich jak bazy danych, maszyny wirtualne i aktywne systemy serwerowe.
RAID 6 lepiej wykorzystuje pojemność przy większej liczbie dysków i gwarantuje odporność na dowolne dwie awarie nośników. RAID 10 może zapewniać szybszą odbudowę i lepszą wydajność, ale połowa surowej przestrzeni jest przeznaczona na kopie lustrzane.
RAID 50 i RAID 60
RAID 50 łączy kilka grup RAID 5 za pomocą stripingu. RAID 60 działa analogicznie, lecz wykorzystuje grupy RAID 6.
Konfiguracje te spotyka się przede wszystkim w większych serwerach i systemach pamięci masowej. Wymagają większej liczby dysków, ale mogą oferować lepszą wydajność i krótszy czas odbudowy niż jedna bardzo duża grupa RAID 5 lub RAID 6.
Dokładna odporność na awarie zależy od tego, w których grupach znajdują się uszkodzone nośniki. Nie można jej oceniać wyłącznie na podstawie łącznej liczby niesprawnych dysków.
Macierz dyskowa a JBOD
JBOD pochodzi od określenia Just a Bunch of Disks. Dyski mogą zostać połączone w jedną przestrzeń, ale dane nie są chronione przez mirroring ani klasyczną parzystość RAID.
Zaletą jest możliwość wykorzystania pojemności wielu dysków, również o różnych rozmiarach. Wadą pozostaje brak standardowej odporności na awarie.
JBOD nie powinien być utożsamiany z RAID 0. RAID 0 dzieli dane na paski i zapisuje je równolegle, natomiast JBOD może zapełniać kolejne dyski w sposób liniowy. W obu przypadkach nie należy zakładać ochrony przed awarią nośnika.
Macierz sprzętowa, programowa i firmware RAID
RAID może być realizowany przez dedykowany kontroler, system operacyjny albo rozwiązanie pośrednie zintegrowane z płytą główną.
Sprzętowa macierz RAID
W sprzętowej macierzy operacjami zarządza dedykowany kontroler. System operacyjny widzi utworzony wolumin logiczny, a nie każdy dysk osobno.
Kontroler może mieć własny procesor, pamięć podręczną oraz zabezpieczenie cache na wypadek utraty zasilania. Rozwiązanie bywa stosowane w serwerach, gdzie liczą się przewidywalne działanie, zarządzanie i obsługa wymiany dysków.
Programowa macierz RAID
W RAID programowym podziałem danych, mirroringiem l