W już omówiliśmy kwestię „Czy RAID na SSD jest stosowany?” na przykładzie dysków Kingston, jednak bylo to jedynie na poziomie zerowym. W bieżącym artykule przeanalizujemy zastosowanie profesjonalnych i domowych rozwiązań NVMe w najpopularniejszych typach macierzy RAID i omówimy zgodność kontrolerów z dyskami Kingston.

Dlaczego RAID na SSD jest potrzebny?
Zalety macierzy storage zbudowanych na bazie SSD w porównaniu z macierzami opartymi na dyskach twardych obejmują skrócenie czasu dostępu do danych na nośniku oraz znakomitą wydajność operacji odczytu/zapisu. Jednak dla idealnej wydajności RAID-u opartego na SSD wymagane jest optymalne połączenie procesora, pamięci podręcznej, oprogramowania i sprzętu. Gdy te wszystkie czynniki idealnie współpracują ze sobą, macierz RAID z SSD może znacznie przewyższyć porównywalną konfigurację wykorzystującą tradycyjne HDD.
Typowy SSD zużywa mniej energii niż dyski twarde, dlatego po połączeniu dużej liczby dysków SSD w macierz RAID oszczędność energii w porównaniu do macierzy RAID z HDD może również prowadzić do obniżenia wydatków na korporacyjne rachunki za energię elektryczną.
Jednak SSD RAID ma ograniczenia i wady: w szczególności wyższą cenę za gigabajt przestrzeni w porównaniu do dysków twardych o porównywalnej pojemności. Czas pracy pamięci flash na awarię jest ograniczony do określonej liczby cykli zapisu. To znaczy, że dyski SSD mają określony okres eksploatacji, który zależy od użytkowania: im częściej informacja jest na nich zapisywana, tym szybciej nośnik ulegnie awarii. Z drugiej strony, komercyjne dyski SSD mają przyzwoity okres eksploatacji, porównywalny z mechanicznymi dyskami twardymi.
Jak SSD Kingston działają w trybie RAID z kontrolerami Broadcom
Na początku pojawienia się dysków SSD konstrukcje RAID miały wiele niuansów. W tym również z powodu użycia mniej niezawodnych dysków HDD. Dyski półprzewodnikowe są znacznie bardziej niezawodne niż ich magnetyczne odpowiedniki. Jak wiemy, w rozwiązaniach SSD nie ma ruchomych elementów, dlatego uszkodzenia mechaniczne są zredukowane do zera. Awaria dysków półprzewodnikowych wskutek skoków napięcia jest również mało prawdopodobna, biorąc pod uwagę, że na poziomie domowego komputera i każdego serwera chronią cię UPS, filtry sieciowe, a nawet zasilacze.
Dodatkowo, dyski półprzewodnikowe mają jeszcze jedną istotną zaletę: nawet jeśli komórki pamięci ulegną zużyciu, nadal będzie można odczytywać z nich dane, a w przypadku uszkodzenia dysku magnetycznego – niestety nie.

Obecnie stosowanie rozwiązań SSD w macierzach RAID różnych poziomów jest całkowicie normalną praktyką. Najważniejsze to wybierać odpowiednie dyski półprzewodnikowe, których opóźnienie jest minimalne. Idealnie byłoby też używać SSD od tego samego producenta i tej samej modelu, aby nie powstała mieszanka dysków wspierających różne typy obciążeń i zbudowanych na bazie różnych typów pamięci, kontrolerów oraz innych technologii. To znaczy, jeśli zdecydowaliśmy się kupić cztery lub 16 dysków NVMe SSD firmy Kingston do stworzenia macierzy RAID – lepiej, aby wszystkie były z tej samej serii i modelu.
A propos, w nie bez powodu przytaczaliśmy kontrolery Broadcom, mówiąc o NVMe SSD od Kingston. Chodzi o to, że w podręcznikach do tych urządzeń od razu wymieniane są zgodne dyski (w tym rozwiązania od wspomnianego amerykańskiego producenta SSD), z którymi kontroler będzie pracować bez zastrzeżeń. Na tej informacji należy się opierać przy wyborze zestawu „kontroler-SSD” do RAID.
Analizujemy działanie SSD Kingston w najpopularniejszych typach RAID – "1", "5", "10", "50".
Tak więc „poziom zerowy” RAID nie zapewnia nadmiarowości danych, lecz jedynie zwiększa wydajność. RAID 0 w ogóle nie zapewnia ochrony danych, dlatego nie będziemy go rozważać w kontekście sektora korporacyjnego. RAID 1 z drugiej strony zapewnia pełną nadmiarowość, ale tylko skromny wzrost wydajności, dlatego należy go rozważać tylko w przypadku, gdy zwiększenie wydajności nie jest kluczowym czynnikiem przy tworzeniu macierzy RAID z SSD.
RAID 1 na bazie SSD Kingston i kontrolerów Broadcom
Tak więc macierz RAID pierwszego poziomu na bazie kontrolera Broadcom MegaRAID 9460-16i łączy od dwóch do 32 dysków Kingston, które są swoimi kopiami, zapewniając jednocześnie pełną nadmiarowość. Jeśli przy użyciu tradycyjnych dysków HDD prędkość zapisu i odczytu danych była na poziomie samego HDD, to z zastosowaniem rozwiązań NVMe SSD uzyskujemy dziesięciokrotny wzrost wydajności. Zwłaszcza w zakresie czasu dostępu do danych. Na przykład, z dwoma dyskami SSD Kingston DC1000M U.2 NVMe w serwerowym RAID 1 uzyskamy 350 000 IOPS przy odczycie losowych danych i 75 000 IOPS przy zapisie.

Jeśli chodzi o sekwencyjną prędkość odczytu, wyniki będą odpowiadały specyfikacji dysku — 3200 MB/s. Jednak ponieważ oba dyski NVMe SSD są w trybie operacyjnym, dane mogą być odczytywane z nich jednocześnie, co sprawia, że operacje odczytu są dość szybkie. Natomiast prędkość zapisu (podana wynosi 2000 MB/s) będzie wolniejsza, ponieważ każda operacja zapisu jest wykonywana podwójnie.

Macierz RAID 1 idealnie nadaje się do małych baz danych lub wszelkich innych środowisk, które wymagają odporności na awarie, ale niewielkiej pojemności. Lustrzane kopiowanie dysków szczególnie przydaje się w scenariuszach odzyskiwania po awarii (przy tym wydajność nieco się pogarsza), ponieważ zapewnia natychmiastową „rehabilitację” ważnych danych, jeśli jeden z dysków w macierzy ulegnie awarii. Jednak ponieważ ten poziom ochrony wymaga podwójnej pojemności do przechowywania lustrzanej kopii danych (do przechowania 100 TB potrzeba 200 TB miejsca), w wielu systemach korporacyjnych stosowane są bardziej ekonomiczne opcje przechowywania: RAID 5 i RAID 6.
RAID 5 na bazie SSD Kingston i kontrolerów Broadcom
Aby utworzyć macierz RAID piątego poziomu, potrzebujemy co najmniej trzech nośników, na których dane są naprzemiennie zapisywane (cyklicznie na wszystkich nośnikach w macierzy), ale nie są duplikowane. Przy ich organizacji należy uwzględnić ich bardziej złożoną budowę, ponieważ pojawia się pojęcie „suma kontrolna” (lub „parzystość”). Pod tym pojęciem rozumie się funkcję algebry logicznej XOR (wykluczające „LUB”), która narzuca użycie minimum trzech nośników w macierzy (maksimum – 32). Informacja o parzystości jest zapisywana na wszystkich „dyskach” w macierzy.

Dla macierzy złożonej z czterech dysków SSD SATA Kingston DC500R o pojemności 3,84 TB każdy, uzyskamy 11,52 TB przestrzeni i 3,84 TB na sumy kontrolne. A jeśli połączymy w RAID piątego poziomu 16 nośników NVMe Kingston DC1000M U.2 o pojemności 7,68 TB — uzyskamy 115,2 TB z utratą 7,68 TB. Jak widać, im więcej nośników, tym lepiej. I lepiej, ponieważ im więcej nośników w RAID 5, tym wyższa łączna wydajność podczas operacji zapisu. A liniowe odczyty osiągną poziom RAID 0.

Grupa dysków RAID 5 zapewnia wysoką przepustowość (szczególnie dla dużych plików) i nadmiarowość przy minimalnej utracie mocy. Najlepiej taki typ organizacji macierzy nadaje się do sieci, które równocześnie wykonują wiele małych operacji wejścia-wyjścia (I/O). Nie zaleca się jednak używać go do zadań wymagających dużej ilości operacji zapisu małych bloków lub małych danych.
Jest jeszcze jeden aspekt: w przypadku awarii przynajmniej jednego z nośników NVMe, RAID 5 przechodzi w tryb degradacji, a awaria kolejnego urządzenia magazynującego może stać się krytyczna dla wszystkich danych. W przypadku awarii jednego nośnika w macierzy, kontroler RAID wykorzystuje informacje o parzystości do odtworzenia wszystkich brakujących danych.
RAID 10 na bazie SSD Kingston i kontrolerów Broadcom
RAID 0 oferuje nam dwukrotny wzrost prędkości i czasu dostępu, a RAID 1 zapewnia niezawodność. Idealnie byłoby je połączyć, a w tym celu pomocny jest RAID 10 (lub 1+0). „Dziesiątka” składa się z czterech dysków SATA SSD lub NVMe (maksymalnie 32) i zakłada macierz z „luster”, w której liczba dysków zawsze musi być wielokrotnością czterech. Dane w tej macierzy są zapisywane poprzez podział na stałe bloki (jak w przypadku RAID 0) i naprzemiennie pomiędzy dyskami, rozdzielając kopie pomiędzy „dyskami” w macierzy RAID 1. Dzięki możliwości jednoczesnego dostępu do kilku grup dysków, RAID 10 osiąga wysoką wydajność.

Ponieważ RAID 10 potrafi rozdzielać dane pomiędzy kilka par lustrzanych, oznacza to, że może dopuścić do awarii jednego dysku w parze. Jednak w przypadku awarii obu par lustrzanych (czyli wszystkich czterech dysków) dojdzie do nieuniknionej utraty danych. W rezultacie osiągamy również dobrą odporność na awarie i niezawodność. Ale warto pamiętać, że, podobnie jak w RAID 1, macierz dziesiątego poziomu wykorzystuje tylko połowę całkowitej pojemności, co czyni ją kosztownym rozwiązaniem. Ponadto jest skomplikowana w konfiguracji.
RAID 10 nadaje się do wykorzystania z magazynami danych, które wymagają 100-procentowej nadmiarowości par lustrzanych dysków oraz zwiększonej wydajności wejścia-wyjścia RAID 0. To najlepsze rozwiązanie dla średniej wielkości baz danych lub dowolnego środowiska, które wymaga wyższej odporności na awarie niż RAID 5.
RAID 50 oparty na SSD Kingston i kontrolerach Broadcom
Macierz połączona, podobna do RAID 10, która jest macierzą poziomu zerowego utworzoną z macierzy poziomu piątego. Jak w poprzednim przypadku, głównym celem tej macierzy jest osiągnięcie podwójnej wydajności przy zachowaniu niezawodności danych w macierzach RAID 5. RAID 50 zapewnia jednocześnie wyższą wydajność zapisu i lepszą ochronę danych w przypadku awarii dysku, a także zdolność do szybszej odbudowy po awarii jednego z dysków.

Grupa dysków RAID 50 dzieli dane na mniejsze bloki, a następnie rozprowadza je na każdym macierzy RAID 5. Grupa dysków RAID 5 również dzieli dane na mniejsze bloki, oblicza parzystość, wykonuje operację logiczną OR dla bloków, a następnie realizuje operacje zapisu dla bloków danych i kontroli parzystości dla każdego dysku w grupie dysków.
I chociaż wydajność nieuchronnie spada w przypadku awarii jednego z nośników, nie jest to tak istotne, jak w macierzy RAID 5, ponieważ jedna awaria wpływa tylko na jedną z macierzy, pozostawiając drugą całkowicie funkcjonalną. W rzeczywistości RAID 50 może wytrzymać do ośmiu awarii HDD/SSD/NVMe, jeśli każda uszkodzona „dysk” znajduje się w osobnej macierzy RAID 5.

RAID 50 najlepiej stosować w aplikacjach, które wymagają wysokiej niezawodności i muszą obsługiwać dużą liczbę zapytań przy zachowaniu wysokiej prędkości transferu danych oraz niższych kosztach nośników niż w macierzy RAID 10. Jednakże ze względu na to, że do skonfigurowania macierzy RAID 50 potrzeba co najmniej sześciu nośników, koszt nie jest całkowicie pomijany jako czynnik. Jedną z wad RAID 50 jest to, że, podobnie jak RAID 5, potrzebuje skomplikowanego kontrolera: takiego jak w poprzednim artykule od Broadcom.
Warto również zauważyć, że RAID 50 ma mniej dostępnej przestrzeni dyskowej niż RAID 5, z powodu wydzielania pojemności do przetrzymywania zapisów kontroli parzystości. Niemniej jednak wciąż ma więcej użytecznej przestrzeni niż inne poziomy RAID, szczególnie te, które wykorzystują lustrzane odbicie. Przy minimalnym wymaganiu sześciu dysków, RAID 50 może być kosztowną opcją, ale dodatkowa przestrzeń dyskowa uzasadnia wydatki, chroniąc dane korporacyjne. Ten typ macierzy jest zalecany do pracy z danymi wymagającymi wysokiej niezawodności przechowywania, wysokiej częstotliwości zapytań, wysokiej prędkości transferu oraz dużej pojemności do przechowywania.
RAID 6 i RAID 60: o nich też nie zapomnieliśmy
Skoro mówiliśmy o macierzach poziomu piątego i pięćdziesiątego, grzechem byłoby nie wspomnieć o takich typach organizacji macierzy jak RAID 6 i RAID 60.

Wydajność RAID 6 jest podobna do RAID 5, jednak w tym przypadku przynajmniej dwa dyski są przeznaczone na kontrolę parzystości, co pozwala na przetrwanie awarii dwóch dysków bez utraty danych (w RAID 5 taka sytuacja jest bardzo niepożądana). Dzięki temu osiągana jest wyższa niezawodność. W pozostałych aspektach wszystko pozostaje takie samo jak w macierzy piątego poziomu: w przypadku awarii jednego lub dwóch dysków kontroler RAID wykorzystuje bloki parzystości do odtworzenia całej brakującej informacji. W przypadku awarii dwóch dysków, przywracanie nie odbywa się jednocześnie: najpierw naprawiany jest pierwszy dysk, a potem – drugi. W ten sposób wykonuje się dwie operacje przywracania danych.

Nie trudno się domyślić, że jeśli RAID 50 to macierz zerowego poziomu z macierzy piątego poziomu, to RAID 60 to macierz zerowego poziomu z macierzy szóstego poziomu, o których właśnie opowiadaliśmy. Oznacza to, że taka organizacja magazynu RAID pozwala na przetrwanie awarii dwóch SSD w każdej grupie dysków RAID 6. Zasada działania jest podobna do tej omawianej w sekcji o RAID 50, ale liczba awarii, które może przetrwać macierz szóstego poziomu, wzrasta z 8 do 16 dysków. Zazwyczaj takie macierze są używane do obsługi klientów online, co wymaga wysokiej odporności na awarie.
Podsumowując:
Mimo że mirrorowanie zapewnia większą odporność na awarie niż RAID 50/60, wymaga również znacznie więcej miejsca. Ponieważ ilość danych się podwaja, faktycznie uzyskujesz tylko 50% całkowitej pojemności zainstalowanych dysków w serwerze do zapisu i przechowywania informacji. Wybór między RAID 50/60 a RAID 10 prawdopodobnie będzie zależał od dostępnych budżetów, pojemności serwera oraz twoich potrzeb w zakresie ochrony danych. Koszt staje się kluczowy, gdy mówimy o rozwiązaniach SSD (zarówno klasy korporacyjnej, jak i konsumenckiej).
Nie mniej ważne jest to, że teraz dokładnie wiemy – RAID oparty na SSD jest całkowicie bezpiecznym rozwiązaniem i normalną praktyką w nowoczesnym biznesie. W kontekście zastosowań domowych również jest sens przechodzić na NVMe, jeśli budżet na to pozwala. A jeśli wciąż masz pytanie, dlaczego to wszystko jest potrzebne, wróć do początku artykułu – już na nie szczegółowo odpowiedzieliśmy.
Niniejszy artykuł powstał przy wsparciu naszych kolegów z Broadcom, którzy dostarczają swoje kontrolery inżynierom Kingston do testowania z dyskami SATA/SAS/NVMe klasy enterprise. Dzięki tej przyjaznej symbiozie klienci nie muszą wątpić w niezawodność i stabilność działania dysków Kingston z kontrolerami HBA i RAID. .
Dodatkowe informacje o produktach Kingston można znaleźć na firmą.
Źródło: habr.com
