Razem: 0,00 zł
Macierze RAID - teoria i praktyka
Powszechnie dostępne obecnie na rynku rozwiązania serwerowe pozwalają na montaż do 36 dysków 3.5” w przypadku jednostek z procesorem i nawet 90 dysków 3.5” w przypadku obudów JBOD – wszystkie zgrabnie upakowane zajmie jedynie 4 standardowe jednostki szafy serwerowej (obudowy 4U). Aby sprawnie zarządzać taką ilością dysków należy skorzystać z odpowiednich narzędzi jakimi są macierze RAID.

Obudowa Supermicro SuperChassis 847BE2C-R1K23LPB 4U pozwalająca na montaż 36 dysków 3,5" oraz w pełni działającej jednostki obliczeniowej
Rynek dysków twardych
Rynek dysków twardych jest obecnie bardzo szybko rozwijającym się segmentem komponentów IT ze względu zarówno na wzrost zapotrzebowania (tutaj kłania się wszędobylska technologia AI ale także usługi chmurowe czy Big Data) oraz bardzo szybkiego wzrostu wydajności co zachęca do ulepszania posiadanych jednostek komputerowych.
Wzrost ten dotyczy wszystkich 3 dominując technologii dla dysków twardych i tak dla czwartego kwartału 2023r. w ujęciu globalnym:
- Dyski HDD odnotowały co prawda spadek liczby sprzedanych jednostek o 8% (warto tutaj jednak zwrócić uwagę, że porównujemy tą liczbę do rekordowej sprzedaży w Q4 2022), ale odnotowały wzrost całkowitej sprzedanej pojemności danych o 5% (!).
- Dyski SSD/SATA osiągnęły wzrost liczby sprzedanych jednostek o 6%, wzrost pojemności danych o 9%.
- Wzrost liczby sprzedanych jednostek o 12%, wzrost pojemności danych o 15%.
Widać wyraźnie zapotrzebowanie na dyski o większej pojemności per sztuka a wynika to z potrzeby przechowywania coraz większej ilości danych w pojedynczych komputerach czy serwerach. Zadaniu zarządzania procesem zagęszczania danych pomaga od lat technologia RAID i to o niej właśnie słów kilka.
Czym jest RAID?
Redundantna macierz niezależnych dysków (Redundant Array of Independent Disc) została opracowana przez IBM już pod koniec lat 80 ubiegłego wieku i powstała jako odpowiedź na potrzebę wykorzystania wielu tanich dysków twardych zamiast jednego drogiego dysku do przechowywania danych. Dziś wciąż wielu użytkowników technologii IT staje przed podobnym problemem. Okazało się, że łącząc dyski twarde może poprawić zarówno wydajność jak i niezawodność systemów przechowywania danych. Aby lepiej zrozumieć jak RAID to osiąga przyjrzyjmy się różnym jego poziomom czyli sposobem łącznie dysków:
- RAID 0: znany także jako "striping", to sposób łączenia kilku dysków twardych (HDD) lub dysków SSD w jeden większy dysk logiczny. Działa w taki sposób, że dzieli dane na małe kawałki i zapisuje je równocześnie na wszystkich dostępnych dyskach. Dzięki temu można znacznie przyspieszyć operacje zapisu i odczytu danych, ponieważ wiele dysków pracuje jednocześnie. Wyobraźmy sobie, że mamy trzy dyski: A, B i C. Jeśli zapisujemy plik, RAID 0 podzieli ten plik na kawałki. Pierwszy kawałek zostanie zapisany na dysku A, drugi na dysku B, trzeci na dysku C, czwarty znów na dysku A, i tak dalej. Dzięki temu, gdy chcesz odczytać plik, trzy dyski mogą pracować jednocześnie, co znacznie przyspiesza operację. Jest to najprostszy sposób łączenia dysków twardych a jago największą zaletą jest wydajność ponieważ dane są rozłożone na wiele dysków, prędkość odczytu i zapisu jest znacznie wyższa niż w przypadku pojedynczego dysku.
|
Dysk A |
Dysk B |
Dysk C |
|
1 |
2 |
3 |
|
4 |
5 |
6 |
|
7 |
8 |
9 |
- RAID 1: znane także jako "mirroring" (lustrzane kopiowanie) to technologia, która zapewnia wysoką niezawodność poprzez automatyczne tworzenie kopii zapasowych danych na co najmniej dwóch dyskach. W tym przypadku każdy dysk twardy w macierzy jest dokładną kopią drugiego. Na przykład, jeśli masz dwa dyski (Dysk A i Dysk B), to wszystkie dane zapisywane na Dysku A są jednocześnie kopiowane na Dysk B. Dzięki temu, gdyby jeden z dysków uległ awarii, drugi dysk wciąż ma wszystkie dane. Ten sposób łączenia dysków zapewnia bardzo duże bezpieczeństwo danych ale wiąże się ze znacznym wzrostem kosztów ponieważ połowa zakupionej przestrzeni służy wyłącznie jako kopia zapasowa.
|
Dysk A |
Dysk B |
|
1 |
1 |
|
2 |
2 |
|
3 |
3 |
- RAID 5 jest zaawansowanym poziomem technologii RAID, który zapewnia kombinację wysokiej wydajności, pojemności oraz niezawodności poprzez zastosowanie techniki striping z równomiernie rozłożoną parzystością. Dane są dzielone na bloki i zapisywane na kilku dyskach twardych. RAID5 zapisuje bloki danych równomiernie na wszystkich dyskach, w sposób podobny do RAID0. Jednakże w każdym rzędzie zapisywany jest dodatkowy blok "parzystości" (P). Ten dodatkowy blok parzystości, pochodzący z wszystkich bloków danych w rzędzie, zapewnia redundancję. Jeśli jeden z dysków ulegnie awarii i jednocześnie jeden blok w rzędzie stanie się nieczytelny, jego zawartość może zostać odtworzona przy użyciu danych parzystości oraz pozostałych bloków danych. Jeśli wszystkie dyski są sprawne, żądania odczytu są równomiernie rozdzielane pomiędzy dyski, co zapewnia prędkość odczytu zbliżoną do RAID0. Dla macierzy RAID5 z N dyskami, RAID0 zapewnia N-krotnie szybsze odczyty, a RAID5 (N-1)-krotnie szybsze odczyty. Jeśli jeden z dysków ulegnie awarii, prędkość odczytu spada do poziomu pojedynczego dysku, ponieważ wszystkie bloki w rzędzie są potrzebne do obsługi żądania. RAID 5 łączy więc zalety wcześniej wymienionych poziomów RAID0 i RAID1 tzn. pozwala na zwiększenie prędkości odczytu oraz zapewnia bezpieczeństwo danych ale należy też liczyć ze zwiększeniem kosztów wynikających z zapewnieniem przestrzeni dla bloków parzystości.
|
Dysk A |
Dysk B |
Dysk C |
|
1 |
2 |
P |
|
3 |
P |
4 |
|
P |
5 |
6 |
|
7 |
8 |
P |
- RAID 6 jest dużą, wysoce niezawodną, ale stosunkowo drogą technologią przechowywania danych. Używa on wzoru blokowego podobnego do RAID5, jednak korzysta z dwóch różnych funkcji parzystości do obliczenia dwóch różnych bloków parzystości w każdym rzędzie. Jeśli jeden z dysków ulegnie awarii, jego zawartość jest odtwarzana przy użyciu jednego zestawu danych parzystości. Jeśli kolejny dysk ulegnie awarii przed odzyskaniem macierzy, zawartość dwóch brakujących dysków jest odtwarzana poprzez połączenie pozostałych danych oraz dwóch zestawów parzystości. Układ ten odznacza się większym bezpieczeństwem zapisu danych niż RAID 5 oraz zwiększoną szybkością odczytu (podobnie jak dla RAID 0 i RAID 5).
|
Dysk A |
Dysk B |
Dysk C |
Dysk D |
|
1 |
2 |
P1 |
P2 |
|
3 |
P1 |
P2 |
4 |
|
P1 |
P2 |
5 |
6 |
|
P2 |
7 |
8 |
P1 |
Istnieją jeszcze poziomy RAID 2, RAID 3, RAID 4 ale nie są one obecnie stosowana na szeroką skalę (dlatego pozwolę sobie na ich pomięcie) a także poziomy ,,łączone” jak RAID 10 czyli wykorzystanie do pełnej redundancji RAID 1 dwóch macierzy stworzonych przy pomocy RAID, RAID 50 czy RAID 60 (analogiczny układ jak RAID 10 ale macierze stworzone na poziomie RAID 0 posłużą do stworzenie odpowiednio RAID 5 i RAID6).
Krótkie posumowanie różnych poziomów RAID przedstawia poniższa tabela:
|
Poziom RAID |
Minimalna liczba dysków |
Odporność na awarie |
Nadmiar przestrzeni |
Prędkość odczytu |
Prędkość zapisu |
Koszty sprzętu |
|
RAID 0 |
2 |
Brak |
Brak |
Szybka |
Szybka |
Tani |
|
RAID 1 |
2 |
1 dysk |
50% |
Szybka |
Umiarkowana |
Wysokie (dyski) |
|
RAID 10 |
4 |
1 dysk na parę |
50% |
Szybka |
Umiarkowana |
Wysokie (dyski) |
|
RAID 5 |
3 |
1 dysk |
1 dysk |
Szybka |
Wolna |
Wysokie |
|
RAID 50 |
6 |
1 dysk na tablicę |
2 dyski |
Szybka |
Wolna |
Bardzo wysokie |
|
RAID 6 |
4 |
2 dyski |
2 dyski |
Szybka |
Wolna |
Bardzo wysokie |
|
RAID 60 |
8 |
2 dyski na tablicę |
4 dyski |
Wolna |
Wolna |
Bardzo wysokie |
Przy takiej mnogości poziomów macierzy RAID należy rozpatrzeć więc jakie chcemy osiągnąć ostateczne cele tworzenia macierzy: czy chcemy szybszego odczytu? Czy możemy pozwolić sobie na wolniejszy zapis? Jak cenne są nasze dane a więc jaki poziom bezpieczeństwa chcemy im zapewnić? Nie można także pominąć kwestii budżetu przy czym oprócz kosztów samych dysków twardych nie możemy pominąć kwestii wyboru rozwiązań do tworzenia macierzy RAID.
Jak stworzyć macierz RAID?
Jednym z najprostszych sposobów tworzenia macierzy jest skorzystanie z Software RAID. Wykorzystuje on zasoby i funkcje systemu operacyjnego do zarządzania i kontrolowania macierzami RAID. System operacyjny obsługuje zarządzanie danymi i obliczeniami parzystości na poziomie oprogramowania. Procesy te są realizowane przez CPU i oprogramowanie systemowe, które koordynuje operacje zapisu i odczytu danych oraz obliczenia parzystości. Przykładami takiego rozwiązania są chociażby Linux mdadm czy Windows Storage Spaces. Jest to najtańszy i najbardziej dostępny sposób łącznia dysków należy jednak pamiętać, że w tym przypadku do zapisu i odczytu danych z macierzy będą wykorzystywane zasoby procesora komputera/serwera oraz zasoby systemu operacyjnego. W intensywnych obciążeniach może to prowadzić do znacznego spadku wydajności pozostałych procesów w danej jednostce obliczeniowej.
Bardziej zaawansowanymi rozwiązaniami są sprzętowe kontrolery RAID. Są one urządzeniami lub kartami rozszerzeń, które zarządzają macierzami RAID bezpośrednio na poziomie sprzętowym, nie obciążając głównego procesora systemowego. Zoptymalizowane algorytmy, ściśle współpracujące z wydzielonym jednostkami obliczeniowymi i pamięcią RAM, przeznaczone wyłącznie do zapisu/odczytu danych z wielu dysków pozwalają na osiągnięcie znacznie lepszych rezultatów niż Software RAID. RAID sprzętowy powszechnie stosowane w środowiskach wymagających wysokiej wydajności, niezawodności i zaawansowanych funkcji zarządzania danymi. Wybór między software a hardware RAID zależy od konkretnych potrzeb organizacji, kosztów i oczekiwań co do wydajności oraz niezawodności systemu przechowywania danych i tutaj jednak też spotkamy się z kilkoma opcjami do wyboru.
Coraz więcej płyt głównych wyposażonych jest w zintegrowane układy do obsługi macierzy, chociaż najczęściej obarczone są one jednak wadą rozwiązań softwareowych tzn. przy zwiększonym natężeniu użycia dysków zaczynają pochlać zasoby procesora. Wydajniejszym rozwiązaniem jest dedykowany kontroler RAID. Jest to najczęściej karta rozszerzeń do zamontowania w gnieździe PCIe umożliwiająca podłączenie bezpośrednio do niej wielu dysków twardych. W przypadku wyboru takiego rozwiązania warto zwrócić uwagę ile dysków może taki kontroler obsłużyć (liczby te wynoszą od 4 do kilkuset dysków) oraz jaki interfejs dysków będzie z kontrolerem kompatybilny - podstawowe rozwiązania pozwalają najczęściej na obsługę SATA/SAS.

Dedykowany kontroler RAID Supermicro AOC-S3916L-H16IR
Sprawa komplikuje się w przypadku obsługi dysków NVMe ze wglądu na bardzo wysokie parametry odczytu i zapisu dla tych dysków. Rozwiązania softwarowe czy zintegrowane użyte do tworzenia macierzy z dysków NVMe sprawiają, że tracimy znakomitą większość wydajności jaką dysk mógłby osiągnąć działając pojedynczo. Powszechne w takim przypadku stało się stosowanie kontrolerów trimodowych np. Broadcom MegaRAID 9560-16i, który, według proucenta, potrafi osiągnąć prędkość zapisu do 13,700 MB/s. Innym, coraz popularniejszym rozwiązaniem jest Graid – w tym przypadku do obsługi macierzy RADI zaprzęgnięto karty graficzne Nvidia. Producent deklaruje, że w przypadku użycia karty Nvidia RTX A2000 można osiągnąć prędkość zapisu do 100GB/s a prędkość odczytu do 260GB/s.
Podsumowanie
Gdy stajemy przed decyzją w jaki sposób chcemy przechowywać dane musimy wybrać nie tylko technologię dysków twardych z jakich będziemy korzystać (dyski talerzowe HDD, półprzewodnikowe SATA/SAS/NVMe) ale także sposób ich zarządzania – jaki poziom RAID oraz sposób zarządzania powstałą macierzą. Ponieważ otrzymujemy w ten sposób bardzo dużą ilość możliwych kombinacji a sytuacja na rynku jest bardzo dynamiczna warto zwrócić się w tej sprawie do specjalistów
Źródła:
https://www.raid-calculator.com/ (świetne narzędzie do projektowania macierzy ale równieź bardzo dobre źródło wiedzy)
https://www.backblaze.com/blog/backblaze-drive-stats-for-2023/
https://www.tomshardware.com/news/hdd-shipments-in-q1-2021
StorageNewsletter - Daily News for the Data Storage Industry StorageNewsletter
RAID Controllers & HBA Storage Cards | Supermicro
