Komputery ze współczesnym światem

Co to jest tablica raid – rodzaje i ustawienia. Praktyczne wskazówki dotyczące tworzenia macierzy RAID na dyskach Raid 0 4 komputerów domowych

I tak dalej, tak dalej, tak dalej, tak dalej. Dlatego dzisiaj porozmawiamy o opartych na nich macierzach RAID.

Jak wiadomo, te same dyski twarde Mają też pewien margines bezpieczeństwa, po przekroczeniu którego zawodzą, a także cechy wpływające na wydajność.

W efekcie zapewne wielu z Was w taki czy inny sposób słyszało kiedyś o pewnych macierzach raid, które można wykonać ze zwykłych dysków twardych, aby przyspieszyć działanie tych samych dysków i komputera jako całości lub zapewnić zwiększone niezawodność przechowywania danych.

Na pewno też wiesz (a jeśli nie wiesz, to nie ma to znaczenia), że tablice te mają różne numery seryjne (0, 1, 2, 3, 4 itd.), a także pełnią zupełnie inne funkcje. Zjawisko to faktycznie występuje w przyrodzie i jak już się domyślacie, to właśnie o tych samych macierzach RAID chcę Wam opowiedzieć w tym artykule. Dokładniej, już Ci mówię ;)

Iść.

Co to jest RAID i dlaczego jest potrzebny?

RAID to macierz dyskowa (czyli kompleks lub, jak kto woli, wiązka) kilku urządzeń – dysków twardych. Jak powiedziałem powyżej, tablica ta służy zwiększeniu niezawodności przechowywania danych i/lub zwiększeniu szybkości odczytu/zapisu informacji (lub obu).

Tak naprawdę to od Ciebie, a dokładniej od wyboru aktualnej konfiguracji raidu/ów, zależy, co dokładnie będzie robiła ta wiązka dysków, czyli przyspieszenie pracy czy zwiększenie bezpieczeństwa danych. Różne typy tych konfiguracji są oznaczone różnymi liczbami: 1, 2, 3, 4 i odpowiednio pełnią różne funkcje.

Po prostu np. w przypadku zbudowania wersji 0 (opis wariantów 0, 1, 2, 3 itd. - czytaj poniżej) uzyskasz zauważalny wzrost produktywności. I na ogół dysk twardy Obecnie istnieje tylko wąski kanał w szybkości systemu.

Dlaczego tak się ogólnie stało?

Dyski twarde tylko zwiększają swoją objętość, ponieważ prędkość obrotowa ich głowicy (z wyjątkiem rzadkich modeli, takich jak Raptor) od dłuższego czasu stoi w miejscu w okolicach 7200, pamięć podręczna też nie rośnie dokładnie, architektura pozostaje prawie taka sama .

Ogólnie rzecz biorąc, pod względem wydajności dyski są w stagnacji (sytuację można uratować jedynie rozwijając), ale odgrywają znaczącą rolę w działaniu systemu, a w niektórych miejscach pełnoprawnych aplikacji.

W przypadku zbudowania pojedynczego (w sensie nr 1) nalotu stracisz trochę na wydajności, ale otrzymasz namacalną gwarancję bezpieczeństwa swoich danych, ponieważ zostaną one całkowicie zduplikowane i w rzeczywistości nawet jeśli jeden dysk ulegnie awarii, całość będzie całkowicie na drugim bez żadnych strat.

Ogólnie powtarzam, naloty przydadzą się każdemu. Powiedziałabym nawet, że są wymagane :)

Czym jest RAID w sensie fizycznym?

Fizycznie macierz RAID składa się z dwóch do n liczby podłączonych dysków twardych, które obsługują możliwość tworzenia RAID (lub odpowiedniego kontrolera, co jest mniej powszechne, ponieważ są one drogie dla przeciętnego użytkownika (kontrolery są zwykle używane na serwerach ze względu na ich zwiększona niezawodność i wydajność)), tj. Na oko nic nie zmienia się wewnątrz jednostki systemowej, po prostu nie ma niepotrzebnych połączeń ani połączeń dysków ze sobą lub z czymkolwiek innym.

Ogólnie rzecz biorąc, wszystko w sprzęcie jest prawie takie samo jak zawsze, zmienia się tylko podejście do oprogramowania, które w rzeczywistości ustawia, wybierając typ nalotu, dokładnie, jak powinny działać podłączone dyski.

Programowo w systemie po utworzeniu nalotu również nie pojawiają się żadne specjalne dziwactwa. Tak naprawdę cała różnica w pracy z raidem polega jedynie na małym otoczeniu, które faktycznie organizuje raid (patrz poniżej) i na wykorzystaniu sterownika. W przeciwnym razie WSZYSTKO jest absolutnie takie samo - w „Moim komputerze” znajdują się te same dyski C, D i inne, wszystkie te same foldery, pliki… Ogólnie i pod względem oprogramowania na oko są całkowicie identyczne.

Instalacja macierzy nie jest trudna: bierzemy po prostu płytę główną obsługującą technologię RAID, bierzemy dwie zupełnie identyczne – to ważne! , - zarówno według charakterystyki (rozmiar, pamięć podręczna, interfejs itp.), jak i według producenta i modelu dysku oraz podłącz je do tej płyty głównej. Następnie wystarczy włączyć komputer, wejść do BIOS-u i ustawić parametr Konfiguracja SATA: RAID.

Następnie podczas procesu uruchamiania komputera (zwykle przed Uruchomienie systemu Windows) pojawia się panel wyświetlający informacje o dyskach w raidzie i poza nim, gdzie tak naprawdę trzeba wcisnąć CTR-I, aby skonfigurować raid (dodać do niego dyski, usunąć je itp. itp.). Właściwie to wszystko. Potem są inne radości życia, czyli znowu wszystko jest jak zawsze.

Ważna uwaga do zapamiętania

Podczas tworzenia lub usuwania nalotu (wydaje się, że nie dotyczy to pierwszego nalotu, ale to nie jest fakt), wszystkie informacje są nieuchronnie usuwane z dysków, dlatego zdecydowanie nie warto po prostu przeprowadzać eksperymentu, tworzyć i usuwać różne konfiguracje. Dlatego przed utworzeniem nalotu najpierw zapisz wszystkie niezbędne informacje (jeśli je posiadasz), a następnie poeksperymentuj.

Jeśli chodzi o konfiguracje.. Jak już mówiłem, istnieje kilka typów macierzy RAID (przynajmniej w głównej mierze jest to RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6). Na początek opowiem o dwóch najbardziej zrozumiałych i popularnych wśród zwykłych użytkowników:

  • RAID 0 - macierz dyskowa zwiększająca prędkość zapisu.
  • RAID 1 – lustrzana macierz dyskowa.

A na koniec artykułu szybko przejdę do pozostałych.

RAID 0 – co to jest i do czego służy?

I tak... RAID 0 (znany również jako Striping) - wykorzystuje od dwóch do czterech (częściej, rzadziej) dysków twardych, które wspólnie przetwarzają informacje, co zwiększa wydajność. Żeby było jasne, noszenie toreb dla jednej osoby trwa dłużej i jest trudniejsze niż dla czterech osób (choć torby pod względem właściwości fizycznych pozostają takie same, zmieniają się jedynie siły z nimi oddziałujące). Programowo informacje o nalocie tego typu dzielone są na bloki danych i zapisywane po kolei na obu/kilku dyskach.

Jeden blok danych na jednym dysku, inny blok danych na innym i tak dalej. Zwiększa to znacznie wydajność (liczba dysków decyduje o krotności wzrostu wydajności, czyli 4 dyski będą działać szybciej niż dwa), ale ucierpi bezpieczeństwo danych na całej macierzy. Jeśli którykolwiek z dysków twardych tworzących taką macierz RAID ulegnie awarii, wszystkie informacje zostaną niemal całkowicie i bezpowrotnie utracone.

Dlaczego? Faktem jest, że każdy plik składa się z określonej liczby bajtów... z których każdy zawiera informacje. Jednak w macierzy RAID 0 bajty jednego pliku mogą znajdować się na kilku dyskach. W związku z tym, jeśli jeden z dysków „umrze”, dowolna liczba bajtów pliku zostanie utracona i po prostu nie będzie można go odzyskać. Ale jest więcej niż jeden plik.

Ogólnie rzecz biorąc, podczas korzystania z takiej macierzy raid zdecydowanie zaleca się trwałe przechowywanie cennych informacji na nośnikach zewnętrznych. Nalot naprawdę zapewnia zauważalną prędkość - mówię ci to własne doświadczenie, bo takie szczęście jest instalowane w moim domu od lat.

RAID 1 – co to jest i do czego służy?

Jeśli chodzi o RAID 1 (Mirroring - „mirror”)... Właściwie zacznę od wady. W przeciwieństwie do RAID 0 okazuje się, że wydaje się, że „tracisz” wolumen sekundy twardy dysk(służy do zapisania na niego pełnej (bajt po bajcie) kopii pierwszego dysku twardego, podczas gdy w przypadku RAID 0 ta przestrzeń jest całkowicie dostępna).

Zaletą, jak już zrozumiałeś, jest to, że ma wysoką niezawodność, tj. wszystko działa (a wszystkie dane istnieją w naturze i nie znikają, gdy jedno z urządzeń ulegnie awarii) tak długo, jak działa co najmniej jeden dysk, tj. Nawet jeśli z grubsza zniszczysz jeden dysk, nie stracisz ani jednego bajtu informacji, ponieważ drugi jest czystą kopią pierwszego i zastępuje go w przypadku awarii. Tego typu naloty są często stosowane na serwerach ze względu na niesamowitą żywotność danych, co jest ważne.

Przy takim podejściu poświęcana jest wydajność i według osobistych odczuć jest ona nawet mniejsza niż przy użyciu jednego dysku bez żadnych nalotów. Jednak dla niektórych niezawodność jest znacznie ważniejsza niż wydajność.

RAID 2, 3, 4, 5, 6 – czym są i do czego służą?

Opis tych tablic jest tutaj jak najbardziej, tj. wyłącznie w celach informacyjnych, a nawet wtedy w formie skompresowanej (właściwie opisano tylko ten drugi). Dlaczego? Przynajmniej ze względu na małą popularność tych tablic wśród przeciętnego (i w ogóle każdego innego) użytkownika i w konsekwencji moje małe doświadczenie w ich użytkowaniu.

RAID 2 jest zarezerwowany dla tablic korzystających z jakiegoś kodu Hamminga (nie interesowało mnie, co to jest, więc nie powiem). Zasada działania jest w przybliżeniu taka: dane są zapisywane na odpowiednich urządzeniach w taki sam sposób, jak w RAID 0, to znaczy są dzielone na małe bloki na wszystkich dyskach biorących udział w przechowywaniu informacji.

Pozostałe dyski (specjalnie przeznaczone do tego celu) przechowują kody korekcji błędów, które można wykorzystać do przywrócenia informacji w przypadku awarii dowolnego dysku twardego. Zatem w tablicach tego typu dyski dzielone są na dwie grupy - na dane i na kody korekcji błędów

Przykładowo, masz dwa dyski, które zapewniają miejsce na system i pliki, a dwa kolejne będą w całości przeznaczone na dane korekcyjne w przypadku awarii dwóch pierwszych dysków. W istocie jest to coś w rodzaju nalotu zerowego, tylko z możliwością przynajmniej w jakiś sposób zapisania informacji w przypadku awarii jednego z dysków twardych. Rzadko drogie - cztery dyski zamiast dwóch z bardzo kontrowersyjnym wzrostem bezpieczeństwa.

RAID 3, 4, 5, 6... O nich, niezależnie od tego, jak dziwnie może to zabrzmieć na stronach tej witryny, spróbuj przeczytać o nich w Wikipedii. Faktem jest, że z takimi tablicami spotykałem się w życiu niezwykle rzadko (poza tym, że piąty trafiał do mnie częściej niż inne) i nie potrafię w przystępnych słowach opisać zasady ich działania, a absolutnie nie chcę przedrukowywać artykuł z proponowanego powyżej zasobu, przynajmniej ze względu na obecność w nich irytujących sformułowań, które nawet ja ledwo rozumiem.

Który RAID wybrać?

Jeśli grasz w gry, często kopiujesz muzykę, filmy lub instalujesz programy wymagające dużych zasobów, to RAID 0 z pewnością się przyda. Należy jednak zachować ostrożność przy wyborze dysków twardych – w tym przypadku ich jakość jest szczególnie ważna – lub pamiętaj o wykonywaniu kopii zapasowych na nośnikach zewnętrznych.

Jeśli pracujesz z cennymi informacjami, których utrata jest równoznaczna ze śmiercią, to zdecydowanie potrzebujesz RAID 1 – niezwykle trudno jest przy nim utracić informacje.

Powtarzam, że bardzo pożądane jest, aby dyski zainstalowane w macierzy RAID były identyczne. Rozmiar, marka, seria, rozmiar pamięci podręcznej - najlepiej wszystko powinno być takie samo.

Posłowie

Tak się sprawy mają.

Nawiasem mówiąc, jak złożyć ten cud, napisałem w artykule: „ Jak utworzyć macierz RAID przy użyciu standardowych metod„i około kilku parametrów w materiale” RAID 0 dwóch dysków SSD, - testy praktyczne z Read Ahead i Read Cache„. Skorzystaj z wyszukiwania.

Mam szczerą nadzieję, że ten artykuł będzie dla Ciebie przydatny i na pewno zrobisz sobie nalot tego czy innego rodzaju. Uwierz mi, warto.

W przypadku pytań dotyczących ich tworzenia i konfigurowania ogólnie możesz skontaktować się ze mną w komentarzach - postaram się pomóc (jeśli w Internecie są instrukcje dla Twojej płyty głównej). Chętnie przyjmę też wszelkie dodatki, życzenia, przemyślenia i tym podobne.

Zadanie polega na zaplanowaniu miejsca na umieszczenie maszyn wirtualnych w systemie przechowywania danych.

Sprzęt i oprogramowanie użyte do testów - VMWare ESXi 5.5 na HP ProLiant DL380 Gen8, maszyna wirtualna Windows 2008 R2 Enterprise (2 CPU, 4 Gb RAM, 60 Gb HDD), system dyskowy HP P2000 G3 MSA FC, dyski HP SAS 600Gb 10k, Cristal Program do oceny szybkości Disk Mark.

Celem jest wybranie typu tablicy raid.

Metoda testowania - włączyłem maszynę wirtualną na lokalnym datastore, zmigrowałem ją na macierz, wykonałem pomiary, przeprowadziłem migrację z powrotem, odmontowałem macierz w systemie Storage i zmontowałem inny typ raidu z tych samych dysków, zmigrowałem maszynę (VMWare pozwala należy to zrobić na gorąco, bez zatrzymywania maszyny), wykonano zamrożenie itp.

Wnioski: Zawsze łatwiej jest manipulować liczbami. W Internecie jest mnóstwo zdjęć, które są „szybsze”, „bardziej odporne na błędy” itp. Bardziej zrozumiałym parametrem jest tolerancja na uszkodzenia - 1 lub 2 dyski, czas odzyskiwania po wymianie dysku wymaga osobnego badania. Zdjęcia „papug” i innych zwierząt na konkretnych dyskach również nie są zbyt odpowiednie do naszego zadania, ponieważ wiele zależy od kontrolera raid.

W tym artykule przyjrzymy się parametrowi „szybciej”. Rozumiem, że wszystko zależy od konkretnego sprzętu, dlatego wskazuję dokładną konfigurację.

Wynik - po dokonaniu pomiarów zdecydowaliśmy się zastosować macierze Raid50 i Raid10.

Raid0 na 4 dyskach:

Raid0 na 12 dyskach:

Raid10 na 4 dyskach:

Raid5 na 9 dyskach:

Raid50 na 8 dyskach:

Raid6 na 4 dyskach:

Wszystko na jednym.

Od lewej do prawej: raid50, raid6 (2 pomiary w różnych momentach), raid5, raid10. Na dole po prawej: dysk raid0 4, dysk raid 0 12:

Dzisiaj porozmawiamy o Macierze RAID. Zastanówmy się, co to jest, dlaczego tego potrzebujemy, jak to jest i jak wykorzystać całą tę wspaniałość w praktyce.

A więc po kolei: co jest Macierz RAID lub po prostu NALOT? Skrót ten oznacza „nadmiarową tablicę niezależnych dysków” lub „nadmiarową (zapasową) macierz niezależnych dysków”. Mówiąc najprościej, Macierz RAID jest to zbiór dysków fizycznych połączonych w jeden dysk logiczny.

Zwykle dzieje się to na odwrót – w Jednostka systemowa instalowany jest jeden dysk fizyczny, który dzielimy na kilka logicznych. Tutaj sytuacja jest odwrotna - najpierw kilka dysków twardych łączy się w jeden, a następnie system operacyjny jest postrzegany jako jeden. Te. System operacyjny mocno wierzy, że fizycznie ma tylko jeden dysk.

Macierze RAID Jest sprzęt i oprogramowanie.

Sprzęt komputerowy Macierze RAID są tworzone przed załadowaniem systemu operacyjnego za pomocą wbudowanych specjalnych narzędzi Kontroler RAID- coś w rodzaju BIOS-u. W wyniku stworzenia tzw Macierz RAID już na etapie instalacji systemu operacyjnego pakiet dystrybucyjny „widzi” jeden dysk.

Oprogramowanie Macierze RAID utworzone przez narzędzia systemu operacyjnego. Te. podczas uruchamiania system operacyjny „rozumie”, że ma kilka dysków fizycznych i dopiero po uruchomieniu systemu operacyjnego oprogramowanie dyski są łączone w macierze. Oczywiście sam system operacyjny nie jest zlokalizowany Macierz RAID, ponieważ jest ustawiany przed utworzeniem.

„Po co to wszystko jest potrzebne?” - ty pytasz? Odpowiedź brzmi: zwiększyć prędkość odczytu/zapisu danych i/lub zwiększyć odporność na awarie i bezpieczeństwo.

"Jak Macierz RAID może zwiększyć prędkość lub zabezpieczyć dane?” - aby odpowiedzieć na to pytanie, rozważ główne typy Macierze RAID, jak powstają i co w rezultacie daje.

RAID-0. Nazywany także „paskiem” lub „taśmą”. Dwa lub więcej dysków twardych łączy się w jeden poprzez sekwencyjne łączenie i sumowanie woluminów. Te. jeśli weźmiemy dwa dyski 500 GB i utworzymy je RAID-0, system operacyjny będzie postrzegał to jako dysk o pojemności jednego terabajta. Jednocześnie prędkość odczytu/zapisu tej macierzy będzie dwukrotnie większa niż jednego dysku, ponieważ np. jeśli baza danych jest fizycznie zlokalizowana w ten sposób na dwóch dyskach, jeden użytkownik będzie mógł odczytać dane z jednego dysku , a inny użytkownik może w tym samym czasie zapisywać dane na innym dysku. Natomiast jeśli baza danych znajduje się na jednym dysku, sam dysk twardy będzie wykonywał sekwencyjnie zadania odczytu/zapisu różnych użytkowników. RAID-0 umożliwi równoległy odczyt/zapis. W konsekwencji tym więcej dysków w macierzy RAID-0, tym szybciej działa sama tablica. Zależność jest wprost proporcjonalna - prędkość wzrasta N razy, gdzie N to liczba dysków w macierzy.
Przy tablicy RAID-0 jest tylko jedna wada, która przewyższa wszystkie zalety jego stosowania - całkowity brak odporności na uszkodzenia. Jeśli jeden z dysków fizycznych macierzy umrze, cała macierz umrze. Jest na ten temat stary dowcip: „Co oznacza „0” w tytule? RAID-0? - ilość informacji przywróconych po śmierci tablicy!"

RAID-1. Nazywany także „lustrem” lub „lustrem”. Dwa lub więcej dysków twardych łączy się w jeden poprzez łączenie równoległe. Te. jeśli weźmiemy dwa dyski 500 GB i utworzymy je RAID-1, system operacyjny będzie postrzegał to jako jeden dysk o pojemności 500 GB. W takim przypadku prędkość odczytu/zapisu tej macierzy będzie taka sama jak jednego dysku, ponieważ informacje są odczytywane/zapisywane na obu dyskach jednocześnie. RAID-1 nie zapewnia wzrostu prędkości, ale zapewnia większą odporność na awarie, ponieważ w przypadku śmierci jednego z dysków twardych zawsze znajduje się pełna duplikacja informacji znajdujących się na drugim dysku. Należy pamiętać, że odporność na uszkodzenia jest zapewniona tylko w przypadku śmierci jednego z dysków macierzy. Jeśli dane zostały usunięte celowo, zostaną usunięte jednocześnie ze wszystkich dysków macierzy!

RAID-5. Bezpieczniejsza opcja dla RAID-0. Objętość tablicy oblicza się za pomocą wzoru (N - 1) * Rozmiar dysku RAID-5 z trzech dysków 500 GB otrzymujemy tablicę o wielkości 1 terabajta. Istota tablicy RAID-5 polega na tym, że kilka dysków łączy się w macierz RAID-0, a na ostatnim dysku przechowywana jest tzw. „suma kontrolna” – informacja serwisowa mająca na celu przywrócenie jednego z dysków macierzy w przypadku jego śmierci. Szybkość zapisu tablicy RAID-5 nieco niższa, ponieważ czas potrzebny jest na obliczenie i zapisanie sumy kontrolnej na osobnym dysku, ale prędkość odczytu jest taka sama jak w RAID-0.
Jeśli jeden z dysków macierzy RAID-5 umiera, prędkość odczytu/zapisu gwałtownie spada, ponieważ wszystkim operacjom towarzyszą dodatkowe manipulacje. Faktycznie RAID-5 zamienia się w RAID-0, jeśli odzyskiwanie nie zostanie wykonane w odpowiednim czasie Macierz RAID istnieje znaczne ryzyko całkowitej utraty danych.
Z tablicą RAID-5 Można skorzystać z tzw. dysku zapasowego, tj. zapasowy. Podczas stabilnej pracy Macierz RAID Ten dysk jest bezczynny i nieużywany. Jednak w przypadku sytuacji krytycznej powrót do zdrowia Macierz RAID uruchamia się automatycznie - informacje z uszkodzonego są przywracane na dysk zapasowy za pomocą sum kontrolnych znajdujących się na osobnym dysku.
RAID-5 tworzony jest z co najmniej trzech dysków i oszczędza na pojedynczych błędach. W przypadku jednoczesnego wystąpienia różnych błędów na różnych dyskach RAID-5 nie oszczędza.

RAID-6- jest ulepszoną wersją RAID-5. Istota jest taka sama, tylko w przypadku sum kontrolnych używany jest nie jeden, ale dwa dyski, a sumy kontrolne są obliczane przy użyciu różnych algorytmów, co znacznie zwiększa odporność wszystkiego na uszkodzenia Macierz RAID ogólnie. RAID-6 złożone z co najmniej czterech dysków. Wygląda jak wzór na obliczenie objętości tablicy (N - 2) * Rozmiar dysku, gdzie N to liczba dysków w tablicy, a DiskSize to rozmiar każdego dysku. Te. podczas tworzenia RAID-6 z pięciu dysków 500 GB otrzymujemy tablicę o wielkości 1,5 terabajta.
Szybkość pisania RAID-6 niższy od RAID-5 o około 10-15%, co wynika z dodatkowego czasu poświęconego na obliczanie i zapisywanie sum kontrolnych.

RAID-10- czasami nazywany także RAID 0+1 Lub RAID 1+0. Jest to symbioza RAID-0 i RAID-1. Macierz zbudowana jest z co najmniej czterech dysków: na pierwszym kanale RAID-0, na drugim RAID-0 w celu zwiększenia prędkości odczytu/zapisu oraz pomiędzy nimi w lustrze RAID-1 w celu zwiększenia odporności na awarie. Zatem, RAID-10łączy w sobie zalety dwóch pierwszych opcji - szybkość i odporność na awarie.

RAID-50- podobnie RAID-10 jest symbiozą RAID-0 i RAID-5 - tak naprawdę RAID-5 jest zbudowany, tylko jego elementami składowymi nie są niezależne dyski twarde, ale macierze RAID-0. Zatem, RAID-50 zapewnia bardzo dobrą prędkość odczytu/zapisu oraz zapewnia stabilność i niezawodność RAID-5.

RAID-60- ten sam pomysł: tak naprawdę mamy RAID-6 złożony z kilku macierzy RAID-0.

Istnieją również inne połączone tablice RAID 5+1 I RAID 6+1- wyglądają na RAID-50 I RAID-60 jedyną różnicą jest to, że podstawowymi elementami macierzy nie są taśmy RAID-0, lecz lustrzane kopie RAID-1.

Jak rozumiesz połączone macierze RAID: RAID-10, RAID-50, RAID-60 i opcje RAID X+1 są bezpośrednimi potomkami podstawowych typów tablic RAID-0, RAID-1, RAID-5 I RAID-6 i służą jedynie do zwiększenia szybkości odczytu/zapisu lub zwiększenia odporności na błędy, zachowując jednocześnie funkcjonalność podstawowych typów nadrzędnych Macierze RAID.

Jeśli przejdziemy do praktyki i porozmawiamy o zastosowaniu pewnych Macierze RAID w życiu logika jest dość prosta:

RAID-0 W ogóle nie używamy go w czystej postaci;

RAID-1 Używamy go tam, gdzie prędkość odczytu/zapisu nie jest szczególnie ważna, ale ważna jest odporność na błędy - na przykład RAID-1 Dobrze jest instalować systemy operacyjne. W takim przypadku nikt poza systemem operacyjnym nie ma dostępu do dysków, prędkość samych dysków twardych jest wystarczająca do działania, zapewniona jest odporność na awarie;

RAID-5 Instalujemy go tam, gdzie potrzebna jest szybkość i odporność na awarie, ale brakuje pieniędzy na zakup większej liczby dysków twardych lub istnieje potrzeba przywracania macierzy w przypadku uszkodzenia bez przerywania pracy - pomogą nam tutaj zapasowe dyski Spare. Wspólna aplikacja RAID-5- przechowywanie danych;

RAID-6 stosowane tam, gdzie jest to po prostu przerażające lub istnieje realne zagrożenie śmiercią kilku dysków w macierzy na raz. W praktyce jest to dość rzadkie, głównie wśród osób paranoicznych;

RAID-10- stosowane tam, gdzie konieczna jest szybka i niezawodna praca. Również główny kierunek użytkowania RAID-10 są serwery plików i serwery baz danych.

Ponownie, jeśli jeszcze bardziej to uprościmy, dochodzimy do wniosku, że tam, gdzie nie ma dużej i obszernej pracy z plikami, wystarczy RAID-1- system operacyjny, AD, TS, poczta, proxy itp. Tam, gdzie wymagana jest poważna praca z plikami: RAID-5 Lub RAID-10.

Idealnym rozwiązaniem dla serwera bazy danych jest maszyna z sześcioma dyskami fizycznymi, z czego dwa połączone są w kopię lustrzaną RAID-1 i system operacyjny jest na nim zainstalowany, a pozostałe cztery są połączone RAID-10 do szybkiego i niezawodnego przetwarzania danych.

Jeśli po przeczytaniu wszystkich powyższych informacji zdecydujesz się zainstalować go na swoich serwerach Macierze RAID, ale nie wiesz jak to zrobić i od czego zacząć - skontaktuj się z nami! - pomożemy w doborze niezbędnego sprzętu, a także przeprowadzimy prace instalacyjne do realizacji Macierze RAID.

Wszystkie nowoczesne płyty główne są wyposażone w zintegrowany kontroler RAID, a najlepsze modele mają nawet kilka zintegrowanych kontrolerów RAID. Osobną kwestią jest stopień zapotrzebowania użytkowników domowych na zintegrowane kontrolery RAID. W każdym razie nowoczesna płyta główna zapewnia użytkownikowi możliwość utworzenia macierzy RAID składającej się z kilku dysków. Jednak nie każdy użytkownik domowy wie jak stworzyć macierz RAID, jaki poziom tablicy wybrać i w ogóle nie ma zielonego pojęcia o zaletach i wadach stosowania macierzy RAID.
W tym artykule podamy krótkie zalecenia dotyczące tworzenia macierzy RAID na komputerach domowych i na konkretnym przykładzie zademonstrujemy, w jaki sposób można niezależnie przetestować wydajność macierzy RAID.

Historia stworzenia

Termin „macierz RAID” pojawił się po raz pierwszy w 1987 r., kiedy amerykańscy badacze Patterson, Gibson i Katz z Uniwersytetu Kalifornijskiego w Berkeley w swoim artykule „A Case for Redundant Arrays of Inexpensive Discs, RAID” opisali, jak w ten sposób można połączyć kilka tanie dyski twarde w jedno logiczne urządzenie, dzięki czemu wynikająca z tego pojemność i wydajność systemu wzrasta, a awaria poszczególnych dysków nie prowadzi do awarii całego systemu.

Od opublikowania tego artykułu minęło ponad 20 lat, ale technologia budowy macierzy RAID nie straciła dziś na aktualności. Jedyne, co się zmieniło od tego czasu, to dekodowanie akronimu RAID. Faktem jest, że początkowo macierze RAID w ogóle nie były budowane na tanich dyskach, dlatego słowo Niedrogi (niedrogi) zmieniono na Niezależny (niezależny), co było bardziej prawdziwe.

Zasada działania

Zatem RAID to nadmiarowa macierz niezależnych dysków (Redundant Arrays of Independent Discs), której zadaniem jest zapewnienie odporności na awarie i zwiększenie wydajności. Tolerancję na błędy osiąga się poprzez redundancję. Oznacza to, że część przestrzeni dyskowej jest przeznaczana na cele oficjalne, stając się niedostępna dla użytkownika.

Zwiększoną wydajność podsystemu dyskowego zapewnia jednoczesna praca kilku dysków i w tym sensie im więcej dysków w macierzy (do pewnego limitu), tym lepiej.

Wspólne działanie dysków w macierzy można zorganizować przy użyciu dostępu równoległego lub niezależnego. Przy dostępie równoległym przestrzeń dyskowa jest dzielona na bloki (paski) służące do zapisywania danych. Podobnie informacje, które mają zostać zapisane na dysku, są dzielone na te same bloki. Podczas zapisu poszczególne bloki są zapisywane na różnych dyskach, a wiele bloków jest zapisywanych jednocześnie na różnych dyskach, co prowadzi do zwiększonej wydajności operacji zapisu. Niezbędne informacje są także odczytywane w oddzielnych blokach jednocześnie z kilku dysków, co również zwiększa wydajność proporcjonalnie do liczby dysków w macierzy.

Należy zauważyć, że model dostępu równoległego jest realizowany tylko wtedy, gdy rozmiar żądania zapisu danych jest większy niż rozmiar samego bloku. W W przeciwnym razie Nagrywanie kilku bloków równolegle jest prawie niemożliwe. Wyobraźmy sobie sytuację, w której rozmiar pojedynczego bloku wynosi 8 KB, a rozmiar żądania zapisu danych wynosi 64 KB. W tym przypadku informacja źródłowa jest dzielona na osiem bloków po 8 KB każdy. Jeśli masz macierz czterodyskową, możesz zapisać jednocześnie cztery bloki, czyli 32 KB. Oczywiście w rozważanym przykładzie prędkości zapisu i odczytu będą czterokrotnie wyższe niż w przypadku korzystania z pojedynczego dysku. Dotyczy to tylko idealnej sytuacji, ale rozmiar żądania nie zawsze jest wielokrotnością rozmiaru bloku i liczby dysków w macierzy.

Jeżeli rozmiar rejestrowanych danych jest mniejszy niż rozmiar bloku, wówczas wdrażany jest zasadniczo inny model - niezależny dostęp. Co więcej, model ten można zastosować również wtedy, gdy rozmiar zapisywanych danych jest większy niż rozmiar jednego bloku. Przy niezależnym dostępie wszystkie dane z jednego żądania są zapisywane na osobnym dysku, czyli sytuacja jest identyczna jak w przypadku pracy z jednym dyskiem. Zaletą modelu niezależnego dostępu jest to, że jeśli jednocześnie nadejdzie kilka żądań zapisu (odczytu), wszystkie zostaną wykonane na oddzielnych dyskach niezależnie od siebie. Taka sytuacja jest typowa na przykład dla serwerów.

Zgodnie z różne rodzaje dostępu, istnieją różne typy macierzy RAID, które zazwyczaj charakteryzują się poziomami RAID. Oprócz rodzaju dostępu poziomy RAID różnią się sposobem przechowywania i generowania nadmiarowych informacji. Nadmiarowe informacje można umieścić na dedykowanym dysku lub rozprowadzić pomiędzy wszystkimi dyskami. Istnieje wiele sposobów generowania tych informacji. Najprostszym z nich jest całkowita duplikacja (100-procentowa redundancja) lub lustrzane odbicie. Ponadto stosowane są kody korekcji błędów, a także obliczenia parzystości.

Poziomy RAID

Obecnie istnieje kilka poziomów RAID, które można uznać za ustandaryzowane – są to RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 i RAID 6.

Stosowane są także różne kombinacje poziomów RAID, co pozwala łączyć ich zalety. Zwykle jest to połączenie pewnego poziomu odporności na błędy i poziomu zerowego stosowanego w celu poprawy wydajności (RAID 1+0, RAID 0+1, RAID 50).

Należy pamiętać, że wszystkie nowoczesne kontrolery RAID obsługują funkcję JBOD (Just a Bench Of Disks), która nie jest przeznaczona do tworzenia tablic - zapewnia możliwość podłączenia poszczególnych dysków do kontrolera RAID.

Należy zauważyć, że kontrolery RAID zintegrowane na płytach głównych komputerów domowych nie obsługują wszystkich poziomów RAID. Dwuportowe kontrolery RAID obsługują tylko poziomy 0 i 1, natomiast kontrolery RAID z większą liczbą portów (na przykład 6-portowy kontroler RAID zintegrowany z most południowy chipset ICH9R/ICH10R) - także poziomy 10 i 5.

Ponadto, jeśli mówimy o płytach głównych opartych na chipsetach Intela, implementują one również funkcję Intel Matrix RAID, która umożliwia jednoczesne tworzenie macierzy RAID o kilku poziomach na kilku dyskach twardych, przydzielając część miejsca na dysku każdemu z nich.

RAID0

RAID poziomu 0, ściśle mówiąc, nie jest macierzą nadmiarową i dlatego nie zapewnia niezawodnego przechowywania danych. Niemniej jednak poziom ten jest aktywnie wykorzystywany w przypadkach, gdy konieczne jest zapewnienie wysokiej wydajności podsystemu dyskowego. Podczas tworzenia macierzy RAID poziomu 0 informacja dzielona jest na bloki (czasami bloki te nazywane są paskami), które zapisywane są na osobnych dyskach, czyli tworzony jest system z dostępem równoległym (o ile oczywiście wielkość bloku na to pozwala) ). Umożliwiając jednoczesne operacje we/wy z wielu dysków, RAID 0 zapewnia najszybsze prędkości przesyłania danych i maksymalną wydajność miejsca na dysku, ponieważ sumy kontrolne nie wymagają miejsca na dysku. Implementacja tego poziomu jest bardzo prosta. RAID 0 znajduje zastosowanie głównie w obszarach gdzie wymagany jest szybki transfer dużych ilości danych.

RAID 1 (dysk lustrzany)

RAID poziomu 1 to macierz dwóch dysków ze 100-procentową redundancją. Oznacza to, że dane są po prostu całkowicie powielane (odzwierciedlane), dzięki czemu osiąga się bardzo wysoki poziom niezawodności (i kosztów). Należy pamiętać, że aby wdrożyć poziom 1, nie jest konieczne wcześniejsze dzielenie dysków i danych na bloki. W najprostszym przypadku dwa dyski zawierają te same informacje i stanowią jeden dysk logiczny. Jeśli jeden dysk ulegnie awarii, jego funkcje przejmuje inny (co jest całkowicie niezauważalne dla użytkownika). Trwa odzyskiwanie macierzy proste kopiowanie. Ponadto poziom ten podwaja prędkość odczytu informacji, ponieważ operację tę można wykonać jednocześnie z dwóch dysków. Ten typ schematu przechowywania informacji stosowany jest głównie w przypadkach, gdy koszt bezpieczeństwa danych jest znacznie wyższy niż koszt wdrożenia systemu przechowywania.

RAID5

RAID 5 to odporna na błędy macierz dyskowa z rozproszoną pamięcią sum kontrolnych. Podczas zapisu strumień danych dzielony jest na bloki (paski) na poziomie bajtów i jednocześnie zapisywany na wszystkich dyskach macierzy w kolejności cyklicznej.

Załóżmy, że tablica zawiera N dysków i rozmiar paska D. Za każdą porcję n–1 paski, obliczana jest suma kontrolna P.

Naszywka d 1 nagrany na pierwszej płycie, stripe d 2- na drugim i tak dalej, aż do paska dn–1, który jest zapisany w ( N–1)-ty dysk. Następny N-zapisano sumę kontrolną dysku p.n, a proces jest powtarzany cyklicznie od pierwszego dysku, na którym zapisywany jest pasek d n.

Proces nagrywania (n–1) paski i ich suma kontrolna są generowane jednocześnie dla wszystkich N dyski.

Suma kontrolna jest obliczana przy użyciu bitowej operacji wyłączności lub (XOR) zastosowanej do zapisywanych bloków danych. Więc jeśli istnieje N dyski twarde, D- blok danych (pasek), wówczas sumę kontrolną oblicza się według wzoru:

pn=d1 d 2 ... d 1–1.

Jeżeli jakikolwiek dysk ulegnie awarii, znajdujące się na nim dane można przywrócić przy użyciu danych kontrolnych i danych pozostałych na dyskach roboczych.

Jako ilustrację rozważmy bloki czterech bitów. Niech będzie tylko pięć dysków do przechowywania danych i rejestrowania sum kontrolnych. Jeżeli istnieje ciąg bitów 1101 0011 1100 1011 podzielony na bloki po cztery bity, to w celu obliczenia sumy kontrolnej należy wykonać następującą operację bitową:

1101 0011 1100 1011 = 1001.

Zatem suma kontrolna zapisana na piątym dysku wynosi 1001.

Jeśli jeden z dysków, na przykład czwarty, ulegnie awarii, wówczas blok d 4= 1100 nie będzie dostępne podczas odczytu. Jednak jego wartość można łatwo przywrócić za pomocą sumy kontrolnej i wartości pozostałych bloków za pomocą tej samej operacji „wyłącznej LUB”:

d4 = d1 d 2d 4p5.

W naszym przykładzie otrzymujemy:

d4 = (1101) (0011) (1100) (1011) = 1001.

W przypadku RAID 5 wszystkie dyski w macierzy mają ten sam rozmiar, ale całkowita pojemność podsystemu dyskowego dostępna do zapisu staje się dokładnie o jeden dysk mniejsza. Na przykład, jeśli pięć dysków ma rozmiar 100 GB, rzeczywisty rozmiar tablicy wynosi 400 GB, ponieważ 100 GB jest przydzielone na informacje sterujące.

RAID 5 można zbudować na trzech lub większej liczbie dysków twardych. Wraz ze wzrostem liczby dysków twardych w macierzy zmniejsza się jej redundancja.

RAID 5 ma niezależną architekturę dostępu, która umożliwia jednoczesne wykonywanie wielu odczytów i zapisów.

RAID 10

Poziom RAID 10 to kombinacja poziomów 0 i 1. Minimalne wymagania dla tego poziomu to cztery dyski. W macierzy RAID 10 składającej się z czterech dysków są one łączone parami w macierze poziomu 0, a obie te macierze jako dyski logiczne są łączone w macierz poziomu 1. Możliwe jest również inne podejście: początkowo dyski są łączone w macierze lustrzane poziomu 1, a następnie dyski logiczne oparte na tych tablicach – w tablicę poziomu 0.

Intel Matrix RAID

Rozważane macierze RAID poziomów 5 i 1 są rzadko używane w domu, co wynika przede wszystkim z wysokiego kosztu tego typu rozwiązań. Najczęściej w przypadku komputerów domowych używana jest macierz poziomu 0 na dwóch dyskach. Jak już zauważyliśmy, RAID poziomu 0 nie zapewnia bezpiecznego przechowywania danych, dlatego użytkownicy końcowi stają przed wyborem: stworzyć szybką, ale zawodną macierz RAID poziomu 0 lub podwajając koszt miejsca na dysku, RAID - macierz poziomu 1 który zapewnia niezawodne przechowywanie danych, ale nie zapewnia znaczących korzyści w zakresie wydajności.

Aby rozwiązać ten trudny problem, firma Intel opracowała technologię Intel Matrix Storage, która łączy zalety macierzy warstw 0 i 1 na zaledwie dwóch dyskach fizycznych. I żeby podkreślić, że w tym przypadku nie mówimy tylko o macierzy RAID, ale o macierzy łączącej w sobie zarówno dyski fizyczne, jak i logiczne, w nazwie technologii zamiast słowa „macierz” użyto słowa „macierz” ”.

Czym zatem jest dwudyskowa macierz RAID wykorzystująca technologię Intel Matrix Storage? Podstawową ideą jest to, że jeśli w systemie znajduje się wiele dysków twardych i płyta główna Dzięki chipsetowi Intel obsługującemu technologię Intel Matrix Storage możliwe jest podzielenie przestrzeni dyskowej na kilka części, z których każda będzie działać jako osobna macierz RAID.

Spójrzmy na prosty przykład macierzy RAID składającej się z dwóch dysków po 120 GB każdy. Każdy z dysków można podzielić na dwa dyski logiczne, np. 40 i 80 GB. Następnie dwa dyski logiczne o tej samej wielkości (na przykład 40 GB każdy) można połączyć w macierz RAID poziomu 1, a pozostałe dyski logiczne w macierz RAID poziomu 0.

W zasadzie przy użyciu dwóch dysków fizycznych możliwe jest również utworzenie tylko jednej lub dwóch macierzy RAID poziomu 0, natomiast nie jest możliwe uzyskanie wyłącznie macierzy poziomu 1. Oznacza to, że jeśli system ma tylko dwa dyski, to technologia Intel Matrix Storage umożliwia tworzenie następujących typów macierzy RAID:

  • jedna macierz poziomu 0;
  • dwie macierze poziomu 0;
  • macierz poziomu 0 i macierz poziomu 1.

Jeżeli system posiada trzy dyski twarde, można utworzyć następujące typy macierzy RAID:

  • jedna macierz poziomu 0;
  • jedna matryca poziomu 5;
  • dwie macierze poziomu 0;
  • dwie macierze poziomu 5;
  • macierz poziomu 0 i macierz poziomu 5.

Jeśli system posiada cztery dyski twarde, wówczas dodatkowo możliwe jest utworzenie macierzy RAID poziomu 10, a także kombinacji poziomu 10 i poziomu 0 lub 5.

Od teorii do praktyki

Jeśli mówimy o komputerach domowych, to najbardziej popularne i popularne są macierze RAID poziomów 0 i 1. Stosowanie w domowych komputerach macierzy RAID trzech i więcej dysków jest raczej wyjątkiem od reguły. Wynika to z faktu, że z jednej strony koszt macierzy RAID rośnie proporcjonalnie do ilości zaangażowanych w nią dysków, a z drugiej strony w przypadku komputerów domowych pojemność macierzy dyskowej ma pierwszorzędne znaczenie , a nie jego wydajność i niezawodność.

Dlatego w przyszłości rozważymy poziomy RAID 0 i 1 w oparciu o tylko dwa dyski. Celem naszych badań będzie porównanie wydajności i funkcjonalności macierzy RAID poziomów 0 i 1, utworzonych w oparciu o kilka zintegrowanych kontrolerów RAID, a także zbadanie zależności charakterystyki prędkości macierzy RAID na pasku rozmiar.

Faktem jest, że choć teoretycznie przy zastosowaniu macierzy RAID poziomu 0 prędkość odczytu i zapisu powinna się podwoić, w praktyce wzrost charakterystyki prędkości jest znacznie mniej skromny i różni się dla różnych kontrolerów RAID. To samo dotyczy macierzy RAID poziomu 1: mimo że teoretycznie prędkość odczytu powinna się podwoić, w praktyce nie jest już tak płynnie.

Do testów porównawczych kontrolerów RAID użyliśmy płyty głównej Gigabyte GA-EX58A-UD7. Na tej płycie opiera się chipset Intela X58 Express z mostkiem południowym ICH10R, który posiada zintegrowany kontroler RAID dla sześciu portów SATA II, który obsługuje organizację macierzy RAID poziomów 0, 1, 10 i 5 z funkcją Intel Matrix RAID. Dodatkowo płyta Gigabyte GA-EX58A-UD7 integruje kontroler RAID GIGABYTE SATA2, który posiada dwa porty SATA II z możliwością organizowania macierzy RAID poziomów 0, 1 oraz JBOD.

Również na płycie GA-EX58A-UD7 znajduje się zintegrowany kontroler SATA III Marvell 9128, w oparciu o który zaimplementowano dwa porty SATA III z możliwością organizowania macierzy RAID poziomów 0, 1 i JBOD.

Tym samym płyta Gigabyte GA-EX58A-UD7 posiada trzy osobne kontrolery RAID, na podstawie których można tworzyć macierze RAID poziomu 0 i 1 oraz porównywać je ze sobą. Przypomnijmy, że standard SATA III jest wstecznie kompatybilny ze standardem SATA II, dlatego w oparciu o kontroler Marvell 9128, który obsługuje dyski z interfejsem SATA III, można tworzyć macierze RAID również wykorzystując dyski z interfejsem SATA II.

Stanowisko badawcze posiadało następującą konfigurację:

  • procesor - Rdzeń Intela i7-965 Edycja ekstremalna;
  • płyta główna - Gigabyte GA-EX58A-UD7;
  • Wersja BIOS-u - F2a;
  • dyski twarde - dwa dyski Western Digital WD1002FBYS, jeden dysk Western Digital WD3200AAKS;
  • zintegrowane kontrolery RAID:
  • ICH10R,
  • GIGABAJT SATA2,
  • Marvell 9128;
  • pamięć - DDR3-1066;
  • pojemność pamięci – 3 GB (trzy moduły po 1024 MB każdy);
  • tryb pracy pamięci - DDR3-1333, trzykanałowy tryb pracy;
  • karta graficzna - Gigabyte GeForce GTS295;
  • zasilacz - Tagan 1300W.

Badania przeprowadzono pod kontrolą system operacyjny Microsoft Windows 7 Ultimate (32-bitowy). System operacyjny został zainstalowany na dysku Western Digital WD3200AAKS, który został podłączony do portu Kontroler SATA II, zintegrowany z mostkiem południowym ICH10R. Macierz RAID zmontowano na dwóch dyskach WD1002FBYS z interfejsem SATA II.

Aby zmierzyć charakterystykę szybkości tworzonych macierzy RAID, wykorzystaliśmy narzędzie IOmeter, które jest branżowym standardem pomiaru wydajności systemów dyskowych.

Narzędzie IOmeter

Ponieważ w zamierzeniu ten artykuł miał być swego rodzaju przewodnikiem użytkownika dotyczącym tworzenia i testowania macierzy RAID, logiczne byłoby zacząć od opisu narzędzia IOmeter (miernik wejścia/wyjścia), które jak już zauważyliśmy, jest rodzajem branżowy standard pomiaru wydajności systemów dyskowych. Narzędzie to jest bezpłatne i można je pobrać ze strony http://www.iometer.org.

Narzędzie IOmeter jest testem syntetycznym i umożliwia pracę z dyskami twardymi, które nie są podzielone na partycje logiczne, dzięki czemu można testować dyski niezależnie od struktury plików i ograniczać wpływ systemu operacyjnego do zera.

Podczas testowania możliwe jest utworzenie określonego modelu dostępu, czyli „wzorca”, który pozwala określić wykonanie twardy dysk konkretnych operacji. W przypadku tworzenia konkretny model dostęp umożliwia zmianę następujących parametrów:

  • wielkość żądania przesłania danych;
  • rozkład losowy/sekwencyjny (w%);
  • rozkład operacji odczytu/zapisu (w%);
  • Liczba pojedynczych operacji we/wy działających równolegle.

Narzędzie IOmeter nie wymaga instalacji na komputerze i składa się z dwóch części: samego IOmeter i Dynamo.

IOmeter jest częścią programu monitorującą zdefiniowaną przez użytkownika interfejs graficzny, umożliwiając dokonanie wszystkich niezbędnych ustawień. Dynamo to generator obciążenia, który nie ma interfejsu. Po każdym uruchomieniu programu IOmeter.exe automatycznie uruchamia się generator ładowania programu Dynamo.exe.

Aby rozpocząć pracę z programem IOmeter wystarczy uruchomić plik IOmeter.exe. Spowoduje to otwarcie głównego okna programu IOmeter (rys. 1).

Ryż. 1. Okno główne programu IOmeter

Należy zauważyć, że narzędzie IOmeter umożliwia testowanie nie tylko lokalnych systemów dyskowych (DAS), ale także podłączonych do sieci urządzeń pamięci masowej (NAS). Można go na przykład wykorzystać do przetestowania wydajności podsystemu dyskowego serwera (serwera plików) przy użyciu kilku klientów sieciowych. Dlatego niektóre zakładki i narzędzia w oknie narzędzia IOmeter odnoszą się konkretnie do ustawienia sieci programy. Oczywiste jest, że podczas testowania dysków i macierzy RAID nie będziemy potrzebować tych możliwości programu, dlatego nie będziemy wyjaśniać przeznaczenia wszystkich zakładek i narzędzi.

Zatem po uruchomieniu programu IOmeter po lewej stronie okna głównego (w oknie Topologia) zostanie wyświetlona struktura drzewiasta wszystkich działających generatorów obciążenia (instancji Dynamo). Każda działająca instancja generatora obciążenia dodatku Dynamo nazywana jest menedżerem. Ponadto program IOmeter jest wielowątkowy i każdy pojedynczy wątek działający w instancji generatora obciążenia dodatku Dynamo nazywany jest procesem roboczym. Liczba uruchomionych procesów roboczych zawsze odpowiada liczbie rdzeni procesorów logicznych.

W naszym przykładzie używamy tylko jednego komputera z czterordzeniowym procesorem obsługującym technologię Hyper-Threading, więc uruchamiany jest tylko jeden menedżer (jedna instancja Dynamo) i osiem (w zależności od liczby rdzeni procesorów logicznych) Workers.

Właściwie, aby przetestować dyski w tym oknie, nie trzeba niczego zmieniać ani dodawać.

Jeżeli w strukturze drzewa działających instancji Dynamo wybierzesz myszką nazwę komputera, to w oknie Cel na karcie Miejsce docelowe dysku Wyświetlone zostaną wszystkie dyski, macierze dyskowe i inne dyski (w tym dyski sieciowe) zainstalowane na komputerze. Są to dyski, z którymi może współpracować IOmeter. Nośniki mogą być oznaczone na żółto lub niebiesko. Na żółto zaznaczono partycje logiczne nośników, na niebiesko urządzenia fizyczne bez utworzonych na nich partycji logicznych. Część logiczna może zostać przekreślona lub nie. Faktem jest, że aby program mógł współpracować z partycją logiczną, należy go najpierw przygotować, tworząc na nim specjalny plik o wielkości równej pojemności całej partycji logicznej. Jeżeli partycja logiczna jest przekreślona, ​​oznacza to, że sekcja nie jest jeszcze przygotowana do testów (zostanie przygotowana automatycznie na pierwszym etapie testów), natomiast jeżeli sekcja nie jest przekreślona, ​​oznacza to, że plik został już utworzony na partycji logicznej, całkowicie gotowy do testów.

Należy pamiętać, że pomimo obsługiwanej możliwości pracy z partycjami logicznymi, optymalne jest testowanie dysków, które nie są podzielone na partycje logiczne. Możesz w bardzo prosty sposób usunąć partycję dysku logicznego - poprzez przystawkę Zarządzanie dyskiem. Aby uzyskać do niego dostęp, wystarczy kliknąć kliknij prawym przyciskiem myszy mysz na ikonie Komputer na pulpicie i wybierz element z menu, które zostanie otwarte Zarządzać. W oknie, które się otworzy Zarządzanie komputerem po lewej stronie musisz wybrać element Składowanie, a w nim - Zarządzanie dyskiem. Następnie po prawej stronie okna Zarządzanie komputerem Wyświetlone zostaną wszystkie podłączone dyski. Klikając prawym przyciskiem myszy na żądany dysk i wybranie elementu z menu, które zostanie otwarte Usuń wolumin..., możesz usunąć partycję logiczną na dysku fizycznym. Przypomnijmy, że usunięcie partycji logicznej z dysku powoduje usunięcie wszystkich znajdujących się na niej informacji bez możliwości odzyskania.

Ogólnie rzecz biorąc, za pomocą narzędzia IOmeter można testować tylko puste dyski lub macierze dyskowe. Oznacza to, że nie można przetestować dysku ani macierzy dyskowej, na której jest zainstalowany system operacyjny.

Wróćmy więc do opisu narzędzia IOmeter. W oknie Cel na karcie Miejsce docelowe dysku musisz wybrać dysk (lub macierz dyskową), który będzie testowany. Następnie musisz otworzyć kartę Specyfikacje dostępu(rys. 2), na podstawie którego możliwe będzie określenie scenariusza testowego.

Ryż. 2. Otwórz kartę Specyfikacje narzędzia IOmeter

W oknie Globalne specyfikacje dostępu Istnieje lista predefiniowanych skryptów testowych, które można przypisać do menedżera rozruchu. Nie będziemy jednak potrzebować tych skryptów, więc każdy z nich będzie można zaznaczyć i usunąć (jest do tego przycisk Usuwać). Następnie kliknij przycisk Nowy aby utworzyć nowy skrypt testowy. W oknie, które się otworzy Edytuj specyfikację dostępu Można zdefiniować scenariusz rozruchu dla dysku lub macierzy RAID.

Załóżmy, że chcemy poznać zależność prędkości sekwencyjnego (liniowego) odczytu i zapisu od wielkości bloku żądania przesłania danych. Aby to zrobić, musimy wygenerować sekwencję skryptów startowych w trybie odczytu sekwencyjnego przy różnych rozmiarach bloków, a następnie sekwencję skryptów startowych w trybie zapisu sekwencyjnego przy różnych rozmiarach bloków. Zwykle rozmiary bloków są wybierane jako seria, z której każdy element jest dwukrotnie większy od poprzedniego, a pierwszy element tej serii ma 512 bajtów. Oznacza to, że rozmiary bloków są następujące: 512 bajtów, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB. Nie ma sensu zwiększać rozmiaru bloku powyżej 1 MB dla operacji sekwencyjnych, ponieważ przy tak dużych rozmiarach bloków danych prędkość operacji sekwencyjnych nie zmienia się.

Stwórzmy więc skrypt ładujący w trybie odczytu sekwencyjnego dla bloku 512 bajtów.

W polu Nazwa okno Edytuj specyfikację dostępu wprowadź nazwę skryptu ładującego. Na przykład Sequential_Read_512. Następny w terenie Rozmiar żądania przeniesienia ustawiamy rozmiar bloku danych na 512 bajtów. Suwak Procentowy rozkład losowy/sekwencyjny(procentowy stosunek operacji sekwencyjnych do selektywnych) przesuwamy całkowicie w lewo, tak aby wszystkie nasze operacje były tylko sekwencyjne. No właśnie, suwak , który określa procentowy stosunek operacji odczytu i zapisu, jest przesunięty całkowicie w prawo, tak aby wszystkie nasze operacje były tylko do odczytu. Pozostałe parametry w oknie Edytuj specyfikację dostępu nie ma potrzeby zmiany (ryc. 3).

Ryż. 3. Edytuj okno specyfikacji dostępu, aby utworzyć skrypt ładowania sekwencyjnego
z blokiem danych o rozmiarze 512 bajtów

Kliknij przycisk OK, a w oknie pojawi się pierwszy utworzony przez nas skrypt Globalne specyfikacje dostępu na karcie Specyfikacje dostępu Narzędzia IOmeter.

Podobnie trzeba utworzyć skrypty dla pozostałych bloków danych, jednak dla ułatwienia pracy łatwiej jest nie tworzyć skryptu za każdym razem od nowa klikając przycisk Nowy i po wybraniu ostatnio utworzonego scenariusza naciśnij przycisk Edytuj kopię(kopia edycyjna). Następnie okno otworzy się ponownie Edytuj specyfikację dostępu z ustawieniami naszego ostatnio utworzonego skryptu. Wystarczy zmienić tylko nazwę i rozmiar bloku. Po wykonaniu podobnej procedury dla wszystkich innych rozmiarów bloków można przystąpić do tworzenia skryptów do nagrywania sekwencyjnego, co odbywa się dokładnie w ten sam sposób, z tą różnicą, że suwak Procentowy rozkład odczytu/zapisu, który określa procentowy stosunek operacji odczytu i zapisu, należy przesunąć maksymalnie w lewo.

Podobnie możesz tworzyć skrypty do selektywnego pisania i czytania.

Po przygotowaniu wszystkich skryptów należy je przypisać do menedżera pobierania, czyli wskazać, z którymi skryptami będą współpracować Dynamo.

Aby to zrobić, ponownie sprawdzamy, co znajduje się w oknie Topologia Podświetlona zostanie nazwa komputera (czyli menedżera obciążenia na komputerze lokalnym), a nie konkretnego pracownika. Dzięki temu scenariusze obciążenia zostaną przypisane do wszystkich pracowników jednocześnie. Następny w oknie Globalne specyfikacje dostępu wybierz wszystkie utworzone przez nas scenariusze obciążenia i naciśnij przycisk Dodać. Wszystkie wybrane scenariusze obciążeń zostaną dodane do okna (ryc. 4).

Ryż. 4. Przypisanie utworzonych scenariuszy obciążeń do menadżera obciążeń

Następnie musisz przejść do zakładki Konfiguracja testowa(Rys. 5), gdzie możemy ustawić czas wykonania każdego utworzonego przez nas skryptu. Aby to zrobić w grupie Czas działania ustaw czas wykonania scenariusza ładowania. Wystarczy ustawić czas na 3 minuty.

Ryż. 5. Ustawienie czasu wykonania scenariusza ładowania

Co więcej, w terenie Opis testu Należy podać nazwę całego testu. Zasadniczo, ta zakładka ma wiele innych ustawień, ale dla naszych celów nie są one potrzebne.

Po dokonaniu wszystkich niezbędnych ustawień zaleca się zapisanie utworzonego testu poprzez kliknięcie przycisku z obrazem dyskietki na pasku narzędzi. Test zapisywany jest z rozszerzeniem *.icf. Następnie można wykorzystać utworzony scenariusz ładowania, uruchamiając nie plik IOmeter.exe, ale zapisany plik z rozszerzeniem *.icf.

Teraz możesz rozpocząć testowanie bezpośrednio, klikając przycisk z flagą. Zostaniesz poproszony o podanie nazwy pliku zawierającego wyniki testu i wybranie jego lokalizacji. Wyniki badań zapisywane są w pliku CSV, który można następnie łatwo wyeksportować do Excela i ustawiając filtr w pierwszej kolumnie wybrać żądane dane z wynikami badań.

Podczas testów wyniki pośrednie można zobaczyć na zakładce Wyświetlanie wyników, a na zakładce możesz określić, do jakiego scenariusza obciążenia należą Specyfikacje dostępu. W oknie Przypisana specyfikacja dostępu działający skrypt jest wyświetlany na zielono, ukończone skrypty na czerwono, a niezrealizowane skrypty na niebiesko.

Przyjrzeliśmy się zatem podstawowym technikom pracy z narzędziem IOmeter, które będą wymagane do testowania poszczególnych dysków lub macierzy RAID. Pamiętaj, że nie rozmawialiśmy o wszystkich możliwościach narzędzia IOmeter, ale opis wszystkich jego możliwości wykracza poza zakres tego artykułu.

Tworzenie macierzy RAID w oparciu o kontroler GIGABYTE SATA2

Przystępujemy więc do tworzenia macierzy RAID opartej na dwóch dyskach wykorzystując zintegrowany na płycie kontroler RAID GIGABYTE SATA2. Oczywiście Gigabyte sam nie produkuje chipów, dlatego też pod chipem GIGABYTE SATA2 kryje się przeprojektowany chip innej firmy. Jak można dowiedzieć się z pliku INF sterownika, mówimy o kontrolerze serii JMicron JMB36x.

Dostęp do menu ustawień kontrolera możliwy jest na etapie uruchamiania systemu, do którego należy wcisnąć kombinację klawiszy Ctrl+G, gdy na ekranie pojawi się odpowiedni napis. Naturalnie, jako pierwszy Ustawienia BIOS-u należy zdefiniować tryb pracy dwóch portów SATA należących do kontrolera GIGABYTE SATA2 jako RAID (w przeciwnym razie dostęp do menu konfiguratora macierzy RAID nie będzie możliwy).

Menu ustawień kontrolera GIGABYTE SATA2 RAID jest dość proste. Jak już zauważyliśmy, kontroler jest dwuportowy i umożliwia tworzenie macierzy RAID poziomu 0 lub 1. Za pomocą menu ustawień kontrolera można usunąć lub utworzyć macierz RAID. Tworząc macierz RAID, możesz określić jej nazwę, wybrać poziom tablicy (0 lub 1), ustawić rozmiar paska dla RAID 0 (128, 84, 32, 16, 8 lub 4K), a także określić rozmiar szyk.

Po utworzeniu tablicy wszelkie zmiany w niej nie są już możliwe. Oznacza to, że nie można później zmienić utworzonej tablicy, na przykład jej poziomu lub rozmiaru paska. Aby to zrobić, należy najpierw usunąć tablicę (z utratą danych), a następnie utworzyć ją ponownie. Właściwie nie jest to charakterystyczne dla kontrolera GIGABYTE SATA2. Cechą wszystkich kontrolerów, która wynika z samej zasady realizacji macierzy RAID, jest brak możliwości zmiany parametrów tworzonych macierzy RAID.

Po utworzeniu macierzy opartej na kontrolerze GIGABYTE SATA2, jej aktualne informacje można przeglądać za pomocą narzędzia GIGABYTE RAID Configurer, które instaluje się automatycznie wraz ze sterownikiem.

Tworzenie macierzy RAID w oparciu o kontroler Marvell 9128

Konfiguracja kontrolera Marvell 9128 RAID jest możliwa wyłącznie poprzez ustawienia BIOS-u płyty Gigabyte GA-EX58A-UD7. Ogólnie trzeba powiedzieć, że menu konfiguratora kontrolera Marvell 9128 jest dość prymitywne i może wprowadzić w błąd niedoświadczonych użytkowników. Jednak o tych drobnych niedociągnięciach porozmawiamy nieco później, ale na razie rozważymy te główne funkcjonalność Kontroler Marvell 9128.

Tak więc, chociaż ten kontroler obsługuje dyski SATA III, jest również w pełni kompatybilny z dyskami SATA II.

Kontroler Marvell 9128 umożliwia utworzenie macierzy RAID poziomów 0 i 1 w oparciu o dwa dyski. W przypadku tablicy poziomu 0 można ustawić rozmiar paska na 32 lub 64 KB, a także określić nazwę tablicy. Dodatkowo istnieje taka opcja jak Gigabyte Rounding, która wymaga wyjaśnienia. Pomimo nazwy, która jest zbliżona do nazwy producenta, funkcja Gigabyte Rounding nie ma z tym nic wspólnego. Co więcej, nie jest on w żaden sposób powiązany z macierzą RAID poziomu 0, chociaż w ustawieniach kontrolera można go zdefiniować specjalnie dla macierzy tego poziomu. Właściwie to pierwszy z tych mankamentów w konfiguratorze kontrolera Marvell 9128, o którym wspominaliśmy. Funkcja Gigabyte Rounding jest zdefiniowana tylko dla poziomu RAID 1. Umożliwia użycie dwóch dysków (na przykład różnych producentów lub różnych modeli) o nieco różnych pojemnościach w celu utworzenia macierzy RAID poziomu 1. Funkcja Gigabyte Rounding precyzyjnie ustawia różnicę w rozmiarach dwóch dysków użytych do utworzenia macierzy RAID poziomu 1. W kontrolerze Marvell 9128 funkcja Gigabyte Rounding pozwala ustawić różnicę w rozmiarach dysków na 1 lub 10 GB.

Kolejną wadą konfiguratora kontrolera Marvell 9128 jest to, że podczas tworzenia macierzy RAID poziomu 1 użytkownik ma możliwość wyboru rozmiaru paska (32 lub 64 KB). Jednakże koncepcja paska nie jest w ogóle zdefiniowana dla poziomu RAID 1.

Tworzenie macierzy RAID w oparciu o kontroler zintegrowany z ICH10R

Najpopularniejszy jest kontroler RAID zintegrowany z mostkiem południowym ICH10R. Jak już wspomniano, ten kontroler RAID jest 6-portowy i obsługuje nie tylko tworzenie macierzy RAID 0 i RAID 1, ale także RAID 5 i RAID 10.

Dostęp do menu ustawień kontrolera możliwy jest na etapie uruchamiania systemu, dla którego należy wcisnąć kombinację klawiszy Ctrl + I, gdy na ekranie pojawi się odpowiedni napis. Oczywiście najpierw w ustawieniach BIOS-u należy zdefiniować tryb pracy tego kontrolera jako RAID (w przeciwnym razie dostęp do menu konfiguratora macierzy RAID będzie niemożliwy).

Menu konfiguracji kontrolera RAID jest dość proste. Za pomocą menu ustawień kontrolera możesz usunąć lub utworzyć macierz RAID. Tworząc macierz RAID, możesz określić jej nazwę, wybrać poziom tablicy (0, 1, 5 lub 10), ustawić rozmiar paska dla RAID 0 (128, 84, 32, 16, 8 lub 4K), a także określić rozmiar tablicy.

Porównanie wydajności RAID

Aby przetestować macierze RAID za pomocą narzędzia IOmeter, stworzyliśmy scenariusze ładowania sekwencyjnego odczytu, zapisu sekwencyjnego, odczytu selektywnego i selektywnego zapisu. Rozmiary bloków danych w każdym scenariuszu ładowania były następujące: 512 bajtów, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB.

Na każdym z kontrolerów RAID utworzyliśmy macierz RAID 0 ze wszystkimi dopuszczalnymi rozmiarami pasków oraz macierz RAID 1. Dodatkowo, aby móc ocenić wzrost wydajności uzyskany dzięki zastosowaniu macierzy RAID, przetestowaliśmy również pojedynczy dysk na każdym z kontrolerów RAID.

Przyjrzyjmy się zatem wynikom naszych testów.

Kontroler GIGABYTE SATA2

Na początek przyjrzyjmy się wynikom testów macierzy RAID opartych na kontrolerze GIGABYTE SATA2 (rys. 6-13). Ogólnie rzecz biorąc, kontroler okazał się dosłownie tajemniczy, a jego działanie było po prostu rozczarowujące.

Ryż. 6.Sekwencyjna prędkość
i selektywne operacje dyskowe
Western Digital WD1002FBYS

Ryż. 7.Sekwencyjna prędkość

z paskiem o rozmiarze 128 KB
(kontroler GIGABYTE SATA2)

Ryż. 12.Prędkość szeregowa
i selektywne operacje dla RAID 0
z paskiem o rozmiarze 4 KB
(kontroler GIGABYTE SATA2)

Ryż. 13.Prędkość szeregowa
i operacje selektywne
dla RAID 1 (kontroler GIGABYTE SATA2)

Jeśli spojrzeć na charakterystykę prędkości jednego dysku (bez macierzy RAID), maksymalna prędkość odczytu sekwencyjnego wynosi 102 MB/s, a maksymalna prędkość zapisu sekwencyjnego wynosi 107 MB/s.

Podczas tworzenia macierzy RAID 0 o rozmiarze paska 128 KB maksymalna prędkość sekwencyjnego odczytu i zapisu wzrasta do 125 MB/s, co stanowi wzrost o około 22%.

W przypadku pasków o rozmiarze 64, 32 lub 16 KB maksymalna prędkość odczytu sekwencyjnego wynosi 130 MB/s, a maksymalna prędkość zapisu sekwencyjnego wynosi 141 MB/s. Oznacza to, że przy określonych rozmiarach pasków maksymalna prędkość odczytu sekwencyjnego wzrasta o 27%, a maksymalna prędkość zapisu sekwencyjnego wzrasta o 31%.

Tak naprawdę to nie wystarczy dla tablicy poziomu 0, a chciałbym, aby maksymalna prędkość operacji sekwencyjnych była większa.

Przy rozmiarze paska 8 KB maksymalna prędkość operacji sekwencyjnych (odczytu i zapisu) pozostaje w przybliżeniu taka sama jak przy rozmiarze paska 64, 32 lub 16 KB, jednak istnieją oczywiste problemy z odczytem selektywnym. Gdy rozmiar bloku danych wzrasta do 128 KB, prędkość odczytu selektywnego (tak jak powinna) wzrasta proporcjonalnie do rozmiaru bloku danych. Jeśli jednak rozmiar bloku danych przekracza 128 KB, prędkość odczytu selektywnego spada prawie do zera (do około 0,1 MB/s).

Przy rozmiarze paska wynoszącym 4 KB, nie tylko prędkość odczytu selektywnego spada, gdy rozmiar bloku jest większy niż 128 KB, ale także prędkość odczytu sekwencyjnego, gdy rozmiar bloku jest większy niż 16 KB.

Użycie macierzy RAID 1 na kontrolerze GIGABYTE SATA2 nie zmienia znacząco prędkości odczytu sekwencyjnego (w porównaniu do pojedynczego dysku), ale maksymalna prędkość zapisu sekwencyjnego zostaje zmniejszona do 75 MB/s. Przypomnijmy, że w przypadku macierzy RAID 1 prędkość odczytu powinna wzrosnąć, a prędkość zapisu nie powinna spaść w porównaniu z szybkością odczytu i zapisu pojedynczego dysku.

Na podstawie wyników testów kontrolera GIGABYTE SATA2 można wyciągnąć tylko jeden wniosek. Używanie tego kontrolera do tworzenia macierzy RAID 0 i RAID 1 ma sens tylko wtedy, gdy wszystkie inne kontrolery RAID (Marvell 9128, ICH10R) są już używane. Chociaż dość trudno sobie wyobrazić taką sytuację.

Kontroler Marvell 9128

Kontroler Marvell 9128 wykazywał znacznie wyższą charakterystykę prędkości w porównaniu do kontrolera GIGABYTE SATA2 (ryc. 14-17). Tak naprawdę różnice pojawiają się nawet wtedy, gdy kontroler współpracuje z jednym dyskiem. Jeśli dla kontrolera GIGABYTE SATA2 maksymalna prędkość odczytu sekwencyjnego wynosi 102 MB/s i jest osiągnięta przy rozmiarze bloku danych 128 KB, to dla kontrolera Marvell 9128 maksymalna prędkość odczytu sekwencyjnego wynosi 107 MB/s i jest osiągana przy rozmiarze bloku danych rozmiar bloku 16 KB.

Podczas tworzenia macierzy RAID 0 o rozmiarach pasków 64 i 32 KB maksymalna prędkość odczytu sekwencyjnego wzrasta do 211 MB/s, a prędkość zapisu sekwencyjnego wzrasta do 185 MB/s. Oznacza to, że przy określonych rozmiarach pasków maksymalna prędkość odczytu sekwencyjnego wzrasta o 97%, a maksymalna prędkość zapisu sekwencyjnego wzrasta o 73%.

Nie ma znaczącej różnicy w szybkości działania macierzy RAID 0 z rozmiarem paska 32 i 64 KB, jednak bardziej preferowane jest użycie paska 32 KB, ponieważ w tym przypadku szybkość operacji sekwencyjnych z rozmiarem bloku mniej niż 128 KB będzie nieco większa.

Podczas tworzenia macierzy RAID 1 na kontrolerze Marvell 9128 maksymalna prędkość operacji sekwencyjnej pozostaje praktycznie niezmieniona w porównaniu z pojedynczym dyskiem. Jeśli więc dla pojedynczego dysku maksymalna prędkość operacji sekwencyjnych wynosi 107 MB/s, to dla RAID 1 jest to 105 MB/s. Należy również pamiętać, że w przypadku RAID 1 wydajność odczytu selektywnego nieznacznie się pogarsza.

Generalnie należy zaznaczyć, że kontroler Marvell 9128 charakteryzuje się dobrą charakterystyką szybkościową i można go wykorzystać zarówno do tworzenia macierzy RAID, jak i do podłączania do niego pojedynczych dysków.

Kontroler ICH10R

Kontroler RAID wbudowany w ICH10R okazał się najwydajniejszy ze wszystkich testowanych przez nas (Rysunek 18-25). Podczas pracy z pojedynczym dyskiem (bez tworzenia macierzy RAID) jego wydajność jest praktycznie taka sama jak kontrolera Marvell 9128. Maksymalna prędkość sekwencyjnego odczytu i zapisu wynosi 107 MB i jest osiągana przy rozmiarze bloku danych 16 KB.

Ryż. 18. Prędkość sekwencyjna
i operacje selektywne
dla dysku Western Digital WD1002FBYS (kontroler ICH10R)

Jeśli mówimy o macierzy RAID 0 na kontrolerze ICH10R, to maksymalna prędkość sekwencyjnego odczytu i zapisu nie zależy od rozmiaru paska i wynosi 212 MB/s. Rozmiar paska zależy tylko od rozmiaru bloku danych, w którym maksymalna wartość sekwencyjne prędkości odczytu i zapisu. Wyniki testów pokazują, że dla RAID 0 opartego na kontrolerze ICH10R optymalne jest użycie paska 64 KB. W tym przypadku maksymalną prędkość sekwencyjnego odczytu i zapisu osiąga się przy rozmiarze bloku danych wynoszącym zaledwie 16 KB.

Podsumowując, jeszcze raz podkreślamy, że kontroler RAID wbudowany w ICH10R znacznie przewyższa wydajnością wszystkie inne zintegrowane kontrolery RAID. A biorąc pod uwagę, że ma on również większą funkcjonalność, optymalnie jest używać tego konkretnego kontrolera i po prostu zapomnieć o istnieniu wszystkich innych (chyba że system korzysta oczywiście z dysków SATA III).

Przesunięcie punktu ciężkości z aplikacji zorientowanych na procesor na aplikacje skoncentrowane na danych powoduje wzrost znaczenia systemów przechowywania danych. Jednocześnie problem niskiej przepustowości i odporności na awarie charakterystyczny dla takich systemów zawsze był dość istotny i zawsze wymagał rozwiązania.

W nowoczesnym przemysł komputerowy Dyski magnetyczne są szeroko stosowane jako wtórny system przechowywania danych, ponieważ pomimo wszystkich swoich wad tak właśnie mają najlepsze cechy dla odpowiedniego typu urządzenia w przystępnej cenie.

Cechy technologii konstruowania dysków magnetycznych doprowadziły do ​​znacznej rozbieżności pomiędzy wzrostem wydajności modułów procesorowych a samymi dyskami magnetycznymi. O ile w 1990 roku najlepsze wśród seryjnych były dyski 5,25″ o średnim czasie dostępu 12 ms i czasie opóźnienia 5 ms (przy prędkości wrzeciona około 5000 obr/min 1), to dziś palma należy do dysków 3,5″ z średni czas dostępu 5 ms i czas opóźnienia 1 ms (przy prędkości obrotowej wrzeciona 10 000 obr/min). Tutaj widzimy poprawę właściwości techniczne w ilości około 100%. Jednocześnie wydajność procesora wzrosła o ponad 2000%. Jest to w dużej mierze możliwe, ponieważ procesory czerpią bezpośrednie korzyści z zastosowania VLSI (integracja na bardzo dużą skalę). Jego zastosowanie umożliwia nie tylko zwiększenie częstotliwości, ale także liczby komponentów, które można zintegrować w chipie, co pozwala na wprowadzenie zalet architektonicznych umożliwiających obliczenia równoległe.

1 - Średnie dane.

Obecną sytuację można scharakteryzować jako kryzys we/wy dodatkowego systemu pamięci masowej.

Zwiększanie wydajności

Brak możliwości znacznego podniesienia parametrów technologicznych dysków magnetycznych pociąga za sobą konieczność poszukiwania innych sposobów, z których jednym jest przetwarzanie równoległe.

Jeśli ułożysz blok danych na N dyskach jakiejś macierzy i zorganizujesz to rozmieszczenie tak, aby możliwe było jednoczesne odczytywanie informacji, to blok ten będzie można odczytać N razy szybciej (bez uwzględnienia czasu utworzenia bloku). Ponieważ wszystkie dane są przesyłane równolegle, to rozwiązanie architektoniczne nazywa się macierz o dostępie równoległym(tablica z dostępem równoległym).

Macierze równoległe są zwykle używane w aplikacjach wymagających dużych transferów danych.

Przeciwnie, niektóre zadania charakteryzują się dużą liczbą małych żądań. Zadania takie obejmują na przykład zadania przetwarzania baz danych. Dystrybuując rekordy bazy danych na dyskach macierzy, można rozłożyć obciążenie, umieszczając dyski niezależnie. Ta architektura jest zwykle nazywana tablica o niezależnym dostępie(tablica z niezależnym dostępem).

Zwiększanie tolerancji na błędy

Niestety wraz ze wzrostem liczby dysków w macierzy spada niezawodność całej macierzy. Przy niezależnych awariach i wykładniczym prawie rozkładu czasu pomiędzy awariami, MTTF całej macierzy (średni czas do awarii) oblicza się za pomocą wzoru MTTF array = MMTF hdd /N hdd (MMTF hdd to średni czas do awarii jednego dysku ; NHDD to liczba dysków).

Istnieje zatem potrzeba zwiększenia odporności macierzy dyskowych na awarie. Aby zwiększyć odporność macierzy na błędy, stosuje się kodowanie redundantne. Istnieją dwa główne typy kodowania stosowane w nadmiarowych macierzach dyskowych – duplikacja i parzystość.

Duplikacja, czyli tworzenie kopii lustrzanych, jest najczęściej stosowana w macierzach dyskowych. Proste systemy lustrzane wykorzystują dwie kopie danych, a każda kopia znajduje się na oddzielnych dyskach. Schemat ten jest dość prosty i nie wymaga dodatkowych kosztów sprzętu, ale ma jedną istotną wadę - wykorzystuje 50% miejsca na dysku do przechowywania kopii informacji.

Drugi sposób wdrożenia nadmiarowych macierzy dyskowych polega na zastosowaniu kodowania nadmiarowego z wykorzystaniem obliczenia parzystości. Parzystość jest obliczana poprzez XORowanie wszystkich znaków w słowie danych. Stosowanie parzystości w nadmiarowych macierzach dyskowych zmniejsza obciążenie do wartości obliczonej ze wzoru: HP hdd =1/N hdd (HP hdd - narzut; N hdd - liczba dysków w macierzy).

Historia i rozwój RAID

Pomimo tego, że systemy pamięci masowej oparte na dyskach magnetycznych produkowane są od 40 lat, masowa produkcja systemów odpornych na awarie rozpoczęła się dopiero niedawno. Nadmiarowe macierze dyskowe, powszechnie zwane RAID (nadmiarowe macierze niedrogich dysków), zostały wprowadzone przez badaczy (Petterson, Gibson i Katz) na Uniwersytecie Kalifornijskim w Berkeley w 1987 roku. Jednak systemy RAID stały się powszechne dopiero wtedy, gdy dyski nadające się do stosowania w macierzach nadmiarowych stały się dostępne i wystarczająco wydajne. Od czasu publikacji białej księgi na temat macierzy RAID w 1988 r. nastąpił gwałtowny rozwój badań nad nadmiarowymi macierzami dyskowymi, których celem było zapewnienie szerokiego zakresu kompromisów w zakresie kosztów, wydajności i niezawodności.

Kiedyś miał miejsce incydent ze skrótem RAID. Faktem jest, że w chwili pisania tego artykułu wszystkie dyski używane w komputerach PC nazywano dyskami niedrogimi, w przeciwieństwie do drogich dysków do komputerów typu mainframe (komputery mainframe). Jednak do stosowania w macierzach RAID konieczne było użycie dość drogiego sprzętu w porównaniu do innych konfiguracji komputerów PC, więc RAID zaczęto rozszyfrowywać jako nadmiarową macierz niezależnych dysków 2 - nadmiarową macierz niezależnych dysków.

2 – Definicja Rady Doradczej RAID

RAID 0 został wprowadzony przez branżę jako definicja macierzy dyskowej nieodpornej na uszkodzenia. Berkeley zdefiniował RAID 1 jako lustrzaną macierz dyskową. RAID 2 jest zarezerwowany dla tablic korzystających z kodu Hamminga. Poziomy RAID 3, 4, 5 wykorzystują parzystość do ochrony danych przed pojedynczymi błędami. To właśnie te poziomy, w tym poziom 5, zostały zaprezentowane w Berkeley i ta taksonomia RAID została przyjęta jako de facto standard.

Poziomy RAID 3,4,5 są dość popularne i charakteryzują się dobrym wykorzystaniem przestrzeni dyskowej, ale mają jedną istotną wadę - są odporne tylko na pojedyncze błędy. Jest to szczególnie prawdziwe w przypadku korzystania z dużej liczby dysków, gdy wzrasta prawdopodobieństwo jednoczesnego przestoju więcej niż jednego urządzenia. Ponadto charakteryzują się długim okresem rekonwalescencji, co również nakłada pewne ograniczenia na ich stosowanie.

Obecnie opracowano dość dużą liczbę architektur, które zapewniają działanie macierzy nawet przy jednoczesnej awarii dowolnych dwóch dysków bez utraty danych. Wśród całego zestawu warto zwrócić uwagę na dwuwymiarową parzystość i EVENODD, które wykorzystują parzystość do kodowania, oraz RAID 6, który wykorzystuje kodowanie Reeda-Solomona.

W schemacie wykorzystującym parzystość podwójnej przestrzeni każdy blok danych uczestniczy w konstrukcji dwóch niezależnych słów kodowych. Zatem jeśli drugi dysk z tym samym słowem kodowym ulegnie awarii, do rekonstrukcji danych użyte zostanie inne słowo kodowe.

Minimalną redundancję w takiej tablicy osiąga się przy równej liczbie kolumn i wierszy. I jest równe: 2 x kwadrat (N dysku) (w „kwadracie”).

Jeśli tablica dwuprzestrzenna nie jest zorganizowana w „kwadrat”, wówczas przy wdrażaniu powyższego schematu redundancja będzie większa.

Architektura EVENODD ma schemat odporności na błędy podobny do parzystości podwójnej przestrzeni, ale inne rozmieszczenie bloków informacyjnych gwarantuje minimalne wykorzystanie nadmiarowej pojemności. Podobnie jak w przypadku parzystości podwójnej przestrzeni, każdy blok danych uczestniczy w konstrukcji dwóch niezależnych słów kodowych, ale słowa są rozmieszczone w taki sposób, aby współczynnik redundancji był stały (w przeciwieństwie do poprzedniego schematu) i wynosił: 2 x kwadrat (N Dysk).

Używając dwóch znaków kontrolnych, kodów parzystości i niebinarnych, słowo danych można zaprojektować tak, aby zapewniało odporność na błędy w przypadku wystąpienia podwójnego błędu. Ten projekt jest znany jako RAID 6. Kod niebinarny, zbudowany na bazie kodowania Reeda-Solomona, jest zwykle obliczany przy użyciu tabel lub w procesie iteracyjnym przy użyciu rejestrów liniowych z informacja zwrotna, co jest stosunkowo złożoną operacją wymagającą specjalistycznego sprzętu.

Biorąc pod uwagę, że użycie klasycznych opcji RAID, które zapewniają wystarczającą odporność na awarie dla wielu aplikacji, często wiąże się z niedopuszczalnie niską wydajnością, badacze od czasu do czasu wdrażają różne posunięcia, które pomagają zwiększyć wydajność systemów RAID.

W 1996 roku Savage i Wilks zaproponowali AFRAID – często nadmiarową tablicę niezależnych dysków. Architektura ta w pewnym stopniu poświęca odporność na awarie na rzecz wydajności. Próbując zrekompensować problem małych zapisów typowy dla macierzy RAID poziomu 5, możliwe jest pozostawienie rozłożenia bez obliczania parzystości na pewien okres czasu. Jeśli dysk przeznaczony do nagrywania z parzystością jest zajęty, nagrywanie z parzystością jest opóźnione. Teoretycznie udowodniono, że zmniejszenie odporności na błędy o 25% może zwiększyć wydajność o 97%. AFRAID skutecznie zmienia model awarii tablic odpornych na pojedyncze błędy, ponieważ słowo kodowe, które nie ma zaktualizowanej parzystości, jest podatne na awarie dysków.

Zamiast rezygnować z odporności na błędy, można zastosować tradycyjne techniki wydajności, takie jak buforowanie. Biorąc pod uwagę, że ruch na dysku pulsuje, możesz wykorzystać pamięć podręczną odpisać(pamięć podręczna zapisu) do przechowywania danych, gdy dyski są zajęte. A jeśli pamięć podręczna jest wykonana w postaci pamięci nieulotnej, wówczas w przypadku awarii zasilania dane zostaną zapisane. Ponadto odroczone operacje dyskowe umożliwiają losowe łączenie małych bloków w celu wykonywania bardziej wydajnych operacji dyskowych.

Istnieje również wiele architektur, które poświęcają objętość na rzecz zwiększenia wydajności. Należą do nich opóźniona modyfikacja na dysku dziennika oraz różne schematy modyfikacji logicznego rozmieszczenia danych w fizycznym, które pozwalają na bardziej efektywne rozłożenie operacji na tablicy.

Jedna z opcji - rejestrowanie parzystości(rejestracja parzystości), która obejmuje rozwiązanie problemu małego zapisu i nie tylko efektywne wykorzystanie dyski. Rejestrowanie parzystości opóźnia zmiany parzystości w RAID 5 poprzez zapisanie ich w dzienniku FIFO, który jest zlokalizowany częściowo w pamięci kontrolera, a częściowo na dysku. Biorąc pod uwagę, że dostęp do pełnej ścieżki jest średnio 10 razy bardziej efektywny niż dostęp do sektora, rejestrowanie parzystości gromadzi duże ilości zmodyfikowanych danych o parzystości, które następnie są zapisywane razem na dysku przeznaczonym do przechowywania parzystości na całej ścieżce.

Architektura dane pływające i parzystość(floating i parzystość), co pozwala na realokację fizycznego rozmieszczenia bloków dyskowych. Wolne sektory są umieszczane na każdym cylindrze w celu zmniejszenia opóźnienie obrotowe(opóźnienia rotacji), umieszczane są na nich dane i parzystość wolne miejsca. Aby zapewnić działanie podczas awarii zasilania, parzystość i mapa danych muszą być przechowywane w pamięci nieulotnej. Jeśli utracisz mapę rozmieszczenia, wszystkie dane w tablicy zostaną utracone.

Wirtualny striptiz- to architektura danych pływających i parzystości wykorzystująca pamięć podręczną zapisu zwrotnego. Naturalnie zdając sobie sprawę z pozytywnych stron obu.

Ponadto istnieją inne sposoby poprawy wydajności, takie jak operacje RAID. W pewnym momencie firma Seagate wbudowała obsługę operacji RAID w swoich dyskach z interfejsami Fibre Chanel i SCSI. Umożliwiło to ograniczenie ruchu pomiędzy centralnym kontrolerem a dyskami w macierzy dla systemów RAID 5. Była to fundamentalna innowacja w dziedzinie implementacji RAID, ale technologia ta nie miała startu w życiu, ponieważ niektóre funkcje Fibre Standardy Chanel i SCSI osłabiają model awarii macierzy dyskowych.

Dla tej samej macierzy RAID 5 wprowadzono architekturę TickerTAIP. Wygląda to tak - węzeł inicjatora centralnego mechanizmu sterującego (węzeł inicjatora) odbiera żądania użytkowników, wybiera algorytm przetwarzania, a następnie przekazuje pracę dysku i parzystość do węzła roboczego (węzeł pracy). Każdy węzeł roboczy przetwarza podzbiór dysków w macierzy. Podobnie jak w modelu Seagate, węzły robocze przesyłają dane między sobą bez udziału węzła inicjującego. Jeśli węzeł roboczy ulegnie awarii, obsługiwane przez niego dyski staną się niedostępne. Jeśli jednak słowo kodowe jest skonstruowane w taki sposób, że każdy z jego symboli jest przetwarzany przez oddzielny węzeł roboczy, wówczas schemat odporności na błędy powtarza RAID 5. Aby zapobiec awariom węzła inicjującego, jest on duplikowany, w ten sposób otrzymujemy architekturę, która jest odporny na awarie któregokolwiek ze swoich węzłów. Pomimo wszystkich swoich pozytywnych cech, architektura ta cierpi na problem „dziury zapisu”. Oznacza to, że wystąpi błąd, gdy kilku użytkowników zmieni słowo kodowe w tym samym czasie, a węzeł ulegnie awarii.

Warto również wspomnieć o dość popularnej metodzie szybka rekonwalescencja RAID - wykorzystanie wolnego dysku (zapasowego). Jeśli jeden z dysków w macierzy ulegnie awarii, macierz RAID można odtworzyć przy użyciu wolnego dysku zamiast uszkodzonego. Główną cechą tej implementacji jest to, że system przechodzi do poprzedniego stanu (stan awaryjny bez interwencji zewnętrznej). W przypadku korzystania z rozproszonej architektury sparingowej bloki logiczne dysku zapasowego są fizycznie rozmieszczone na wszystkich dyskach w macierzy, co eliminuje potrzebę odbudowy macierzy w przypadku awarii dysku.

Aby uniknąć problemów z odzyskiwaniem typowych dla klasycznych poziomów RAID, zastosowano architekturę o nazwie deklastrowanie parzystości(rozkład parzystości). Polega na umieszczeniu mniejszej liczby dysków logicznych o większej pojemności na mniejszych dyskach fizycznych o większej pojemności. Dzięki tej technologii czas reakcji systemu na żądanie podczas rekonstrukcji ulega skróceniu o ponad połowę, a czas rekonstrukcji ulega znacznemu skróceniu.

Architektura podstawowych poziomów RAID

Przyjrzyjmy się teraz bardziej szczegółowo architekturze podstawowych poziomów RAID. Zanim zaczniemy rozważać, poczynimy pewne założenia. Aby zademonstrować zasady konstruowania systemów RAID, rozważmy zbiór N dysków (dla uproszczenia założymy, że N jest liczbą parzystą), z których każdy składa się z M bloków.

Dane będziemy oznaczać - D m,n, gdzie m jest liczbą bloków danych, n jest liczbą podbloków, na które podzielony jest blok danych D.

Dyski można podłączyć do jednego lub kilku kanałów przesyłania danych. Użycie większej liczby kanałów zwiększa przepustowość systemu.

RAID 0. Macierz dyskowa w paski bez odporności na błędy

Jest to macierz dyskowa, w której dane są dzielone na bloki, a każdy blok jest zapisywany (lub odczytywany) na osobnym dysku. W ten sposób można jednocześnie wykonywać wiele operacji we/wy.

Zalety:

  • najwyższa wydajność dla aplikacji wymagających intensywnego przetwarzania żądań I/O i dużych ilości danych;
  • Łatwość wdrożenia;
  • niski koszt na jednostkę objętości.

Wady:

  • nie jest rozwiązaniem odpornym na awarie;
  • Awaria jednego dysku powoduje utratę wszystkich danych w macierzy.

RAID 1. Nadmiarowa macierz dyskowa lub kopia lustrzana

Dublowanie to tradycyjny sposób zwiększania niezawodności małej macierzy dyskowej. W najprostszej wersji wykorzystuje się dwa dyski, na których zapisywane są te same informacje, a w przypadku awarii jednego z nich pozostaje jego duplikat, który kontynuuje pracę w tym samym trybie.

Zalety:

  • Łatwość wdrożenia;
  • łatwość odzyskiwania macierzy w przypadku awarii (kopiowanie);
  • wystarczająco wysoka wydajność dla zastosowań o dużej intensywności żądań.

Wady:

  • wysoki koszt na jednostkę objętości - 100% redundancji;
  • niska prędkość przesyłania danych.

RAID 2. Odporna na awarie macierz dyskowa wykorzystująca kod Hamminga ECC.

Kodowanie nadmiarowe stosowane w RAID 2 nazywane jest kodem Hamminga. Kod Hamminga pozwala korygować pojedyncze błędy i wykrywać podwójne błędy. Dziś jest aktywnie wykorzystywany w technologii kodowania danych w pamięci RAM typu ECC. Oraz kodowanie danych na dyskach magnetycznych.

W tym przypadku pokazano przykład ze stałą liczbą dysków ze względu na uciążliwość opisu (słowo danych składa się odpowiednio z 4 bitów, kod ECC wynosi 3).

Zalety:

  • szybka korekcja błędów („w locie”);
  • bardzo duża prędkość przesyłania danych duże objętości;
  • wraz ze wzrostem liczby dysków koszty ogólne maleją;
  • dość prosta implementacja.

Wady:

  • wysoki koszt przy małej liczbie dysków;
  • niska prędkość przetwarzanie żądań (nie nadaje się do systemów transakcyjnych).

RAID 3. Macierz odporna na błędy z równoległym przesyłaniem danych i parzystością (równoległe dyski transferowe z parzystością)

Dane są dzielone na podbloki na poziomie bajtów i zapisywane jednocześnie na wszystkich dyskach w tablicy z wyjątkiem jednego, który służy do zapewnienia parzystości. Użycie RAID 3 rozwiązuje problem wysokiej redundancji w RAID 2. Większość dysków kontrolnych używanych w RAID poziomu 2 jest potrzebna do określenia pozycji uszkodzonego bitu. Nie jest to jednak konieczne, ponieważ większość kontrolerów jest w stanie określić, kiedy dysk uległ awarii, za pomocą specjalnych sygnałów lub dodatkowego kodowania informacji zapisanych na dysku i używanych do korygowania przypadkowych awarii.

Zalety:

  • bardzo duża prędkość przesyłania danych;
  • awaria dysku ma niewielki wpływ na szybkość macierzy;

Wady:

  • trudne wdrożenie;
  • niska wydajność przy dużej intensywności żądań małych danych.

RAID 4. Odporna na awarie macierz niezależnych dysków ze współdzielonym dyskiem parzystości (niezależne dyski na dane ze współdzielonym dyskiem parzystości)

Dane są dzielone na poziomie bloków. Każdy blok danych jest zapisywany na osobnym dysku i można go oddzielnie odczytać. Parzystość grupy bloków jest generowana przy zapisie i sprawdzana przy odczycie. RAID poziomu 4 poprawia wydajność małych transferów danych poprzez równoległość, umożliwiając równoczesny dostęp do więcej niż jednego wejścia/wyjścia. Główna różnica między RAID 3 i 4 polega na tym, że w tym drugim przypadku striping danych odbywa się na poziomie sektora, a nie na poziomie bitu lub bajtu.

Zalety:

  • bardzo duża prędkość odczytu dużych ilości danych;
  • wysoka wydajność przy dużej intensywności żądań odczytu danych;
  • niskie koszty ogólne umożliwiające wdrożenie redundancji.

Wady:

  • bardzo niska wydajność podczas zapisywania danych;
  • niska prędkość odczytu małych danych przy pojedynczych żądaniach;
  • asymetria osiągnięć w zakresie czytania i pisania.

RAID 5. Odporna na awarie macierz niezależnych dysków z rozproszoną parzystością (niezależne dyski danych z rozproszonymi blokami parzystości)

Ten poziom jest podobny do RAID 4, ale w przeciwieństwie do poprzedniego, parzystość jest rozdzielana cyklicznie na wszystkie dyski w macierzy. Ta zmiana poprawia wydajność zapisu małych ilości danych w systemach wielozadaniowych. Jeśli operacje zapisu zostaną odpowiednio zaplanowane, możliwe jest równoległe przetwarzanie do N/2 bloków, gdzie N jest liczbą dysków w grupie.

Zalety:

  • duża prędkość zapisu danych;
  • dość duża prędkość odczytu danych;
  • wysoka wydajność przy dużej intensywności żądań odczytu/zapisu danych;
  • niskie koszty ogólne umożliwiające wdrożenie redundancji.

Wady:

  • Szybkość odczytu danych jest niższa niż w RAID 4;
  • niska prędkość odczytu/zapisu małych danych przy pojedynczych żądaniach;
  • dość złożona implementacja;
  • skomplikowane odzyskiwanie danych.

RAID 6. Odporna na awarie macierz niezależnych dysków z dwoma niezależnymi schematami rozproszonej parzystości (niezależne dyski danych z dwoma niezależnymi schematami rozproszonej parzystości)

Dane są partycjonowane na poziomie bloków, podobnie jak w przypadku RAID 5, ale oprócz poprzedniej architektury zastosowano drugi schemat w celu poprawy odporności na awarie. Architektura ta jest odporna na podwójne błędy. Jednak podczas wykonywania zapisu logicznego w rzeczywistości dostępnych jest sześć dostępów do dysku, co znacznie wydłuża czas przetwarzania jednego żądania.

Zalety:

  • wysoka tolerancja na uszkodzenia;
  • dość duża prędkość przetwarzania żądań;
  • stosunkowo niski narzut związany z wdrożeniem redundancji.

Wady:

  • bardzo złożona implementacja;
  • złożone odzyskiwanie danych;
  • bardzo niska prędkość zapisu danych.

Nowoczesne kontrolery RAID umożliwiają łączenie różnych poziomów RAID. W ten sposób możliwa jest realizacja systemów łączących w sobie zalety różnych poziomów, a także systemów z dużą liczbą dysków. Zwykle jest to kombinacja poziomu zerowego (odpędzania) i pewnego rodzaju poziomu odporności na błędy.

RAID 10. Macierz odporna na błędy z duplikacją i przetwarzaniem równoległym

Architektura ta to macierz RAID 0, której segmentami są macierze RAID 1. Łączy w sobie bardzo wysoką odporność na awarie i wydajność.

Zalety:

  • wysoka tolerancja na uszkodzenia;
  • wysoka wydajność.

Wady:

  • bardzo wysoki koszt;
  • ograniczone skalowanie.

RAID 30. Macierz odporna na awarie z równoległym przesyłaniem danych i zwiększoną wydajnością.

Jest to macierz RAID 0, której segmentami są macierze RAID 3. Łączy w sobie odporność na awarie i wysoką wydajność. Zwykle używane w zastosowaniach wymagających dużych ilości szeregowego przesyłania danych.

Zalety:

  • wysoka tolerancja na uszkodzenia;
  • wysoka wydajność.

Wady:

  • wysoka cena;
  • ograniczone skalowanie.

RAID 50: macierz odporna na błędy z rozproszoną parzystością i zwiększoną wydajnością

Jest to macierz RAID 0, której segmentami są macierze RAID 5. Łączy w sobie odporność na awarie i wysoką wydajność dla aplikacji o dużej intensywności żądań i dużych szybkościach przesyłania danych.

Zalety:

  • wysoka tolerancja na uszkodzenia;
  • wysoka prędkość przesyłania danych;
  • duża prędkość przetwarzania żądań.

Wady:

  • wysoka cena;
  • ograniczone skalowanie.

RAID 7: macierz odporna na błędy, zoptymalizowana pod kątem wydajności. (Zoptymalizowana asynchronia dla wysokich szybkości we/wy oraz wysokich szybkości przesyłania danych). RAID 7® jest zastrzeżonym znakiem towarowym firmy Storage Computer Corporation (SCC)

Aby zrozumieć architekturę RAID 7, przyjrzyjmy się jej funkcjom:

  1. Wszystkie żądania przesłania danych są przetwarzane asynchronicznie i niezależnie.
  2. Wszystkie operacje odczytu/zapisu są buforowane za pośrednictwem szybkiej magistrali X-Bus.
  3. Dysk parzystości można umieścić na dowolnym kanale.
  4. Mikroprocesor kontrolera macierzy wykorzystuje system operacyjny czasu rzeczywistego skupiony na procesach przetwarzania.
  5. System charakteryzuje się dobrą skalowalnością: do 12 interfejsów hostów i do 48 dysków.
  6. System operacyjny kontroluje kanały komunikacji.
  7. Wykorzystywane są standardowe dyski SCSI, magistrale, płyty główne i moduły pamięci.
  8. Do pracy z wewnętrzną pamięcią podręczną wykorzystywana jest szybka magistrala X-bus.
  9. Procedura generowania parzystości jest zintegrowana z pamięcią podręczną.
  10. Dyski dołączone do systemu można zadeklarować jako osobne.
  11. Do zarządzania i monitorowania systemu można używać agenta SNMP.

Zalety:

  • wysoka prędkość przesyłania danych i duża prędkość przetwarzania żądań (1,5 - 6 razy wyższa niż w przypadku innych standardowych poziomów RAID);
  • wysoka skalowalność interfejsów hosta;
  • prędkość zapisu danych wzrasta wraz z liczbą dysków w macierzy;
  • Nie ma potrzeby dodatkowej transmisji danych w celu obliczenia parzystości.

Wady:

  • własność jednego producenta;
  • bardzo wysoki koszt na jednostkę objętości;
  • krótki okres gwarancji;
  • nie może być serwisowany przez użytkownika;
  • musisz użyć zasilacza awaryjnego, aby zapobiec utracie danych z pamięci podręcznej.

Przyjrzyjmy się teraz razem standardowym poziomom, aby porównać ich cechy. Porównanie przeprowadzono w ramach architektur wymienionych w tabeli.

NALOTMinimum
dyski
Potrzebować
w dyskach
Awaria
zrównoważony rozwój
Prędkość
transmisja danych
Intensywność
przetwarzanie
upraszanie
Praktyczny
stosowanie
0 2 N bardzo wysoko
do N x 1 dysku
Grafika, wideo
1 2 2N* R > 1 dysk
W = 1 dysk
do 2 x 1 dysk
W = 1 dysk
małe serwery plików
2 7 2N ~RAID 3Niskikomputery mainframe
3 3 N+1 NiskiGrafika, wideo
4 3 N+1 RWR=RAID 0
W
serwery plików
5 3 N+1 RWR=RAID 0
W
serwery baz danych
6 4 N+2najwyższyNiskiR > 1 dysk
W
używany niezwykle rzadko
7 12 N+1 najwyższynajwyższyróżne rodzaje aplikacji

Wyjaśnienia:

  • * - brana jest pod uwagę opcja powszechnie stosowana;
  • k - liczba podsegmentów;
  • R - czytanie;
  • W - rekord.

Niektóre aspekty wdrażania systemów RAID

Rozważmy trzy główne opcje wdrażania systemów RAID:

  • oprogramowanie (oparte na oprogramowaniu);
  • sprzętowy - oparty na magistrali;
  • sprzęt - podsystem autonomiczny (oparty na podsystemie).

Nie da się jednoznacznie stwierdzić, że którekolwiek wdrożenie jest lepsze od innego. Każda opcja organizacji tablicy odpowiada potrzebom jednego lub drugiego użytkownika, w zależności od możliwości finansowych, liczby użytkowników i używanych aplikacji.

Każda z powyższych implementacji opiera się na wykonaniu kodu programu. W rzeczywistości różnią się miejscem wykonania tego kodu: w centralnym procesorze komputera (implementacja oprogramowania) lub w wyspecjalizowanym procesorze na komputerze. Kontroler RAID(implementacja sprzętowa).

Główną zaletą wdrożenia oprogramowania jest niski koszt. Ale jednocześnie ma wiele wad: niską wydajność, ładowanie dodatkowa praca Procesor, zwiększony ruch na magistrali. Proste poziomy RAID 0 i 1 są zwykle implementowane w oprogramowaniu, ponieważ nie wymagają znacznych obliczeń. Biorąc pod uwagę te cechy, w serwerach stosuje się systemy RAID z implementacją programową poziom wejścia.

Sprzętowe implementacje RAID kosztują zatem więcej niż programowe, ponieważ wykorzystują dodatkowy sprzęt do wykonywania operacji we/wy. Robiąc to, rozładowują lub uwalniają procesor i magistrala systemowa i odpowiednio pozwalają zwiększyć wydajność.

Implementacje zorientowane na magistralę to kontrolery RAID korzystające z szybkiej magistrali komputera, w którym są zainstalowane (w Ostatnio Zwykle używana jest magistrala PCI). Z kolei wdrożenia zorientowane na magistralę można podzielić na niskopoziomowe i wysokopoziomowe. Te pierwsze zazwyczaj nie posiadają układów SCSI i wykorzystują tzw. port RAID na płycie głównej z wbudowanym portem Kontroler SCSI. W tym przypadku funkcje przetwarzania kodu RAID i operacji we/wy są rozdzielone pomiędzy procesor na kontrolerze RAID i układy SCSI na płycie głównej. W ten sposób centralny procesor jest zwolniony z przetwarzania dodatkowy kod a ruch autobusowy jest zmniejszony w porównaniu z opcją oprogramowania. Koszt takich płyt jest zwykle niski, szczególnie jeśli są one przeznaczone dla systemów RAID 0 lub 1 (istnieją też implementacje RAID 3, 5, 10, 30, 50, ale są droższe), dzięki czemu są one stopniowo wypierając wdrożenia oprogramowania z rynku serwerów podstawowych. Sterowniki wysokiego poziomu z implementacją magistrali mają nieco inną budowę niż ich młodsi bracia. Przejmują wszystkie funkcje związane z wykonaniem kodu we/wy i RAID. Ponadto nie są one tak bardzo zależne od wykonania płyty głównej i z reguły mają większe możliwości (na przykład możliwość podłączenia modułu do przechowywania informacji w pamięci podręcznej w przypadku awarii płyty głównej lub awarii zasilania) . Takie kontrolery są zwykle droższe niż kontrolery z niższej półki i są stosowane w serwerach średniej i wyższej półki. Z reguły implementują poziomy RAID 0,1, 3, 5, 10, 30, 50. Biorąc pod uwagę, że implementacje zorientowane na magistralę są podłączone bezpośrednio do wewnętrznej magistrali PCI komputera, są one najbardziej produktywne spośród rozważanych systemów ( przy organizowaniu systemów z jednym hostem). Maksymalna wydajność takich systemów może osiągnąć 132 MB/s (32-bitowe PCI) lub 264 MB/s (64-bitowe PCI) przy częstotliwości magistrali 33 MHz.

Oprócz wymienionych zalet architektura zorientowana na magistralę ma następujące wady:

  • zależność od systemu operacyjnego i platformy;
  • ograniczona skalowalność;
  • ograniczone możliwości organizowania systemów odpornych na awarie.

Wszystkich tych niedogodności można uniknąć stosując podsystemy autonomiczne. Systemy te mają całkowicie autonomiczną organizację zewnętrzną i w zasadzie stanowią odrębny komputer służący do organizacji systemów przechowywania informacji. Ponadto, jeśli technologia kanałów światłowodowych pomyślnie się rozwinie, wydajność systemów autonomicznych w niczym nie będzie gorsza od systemów zorientowanych na magistralę.

Zazwyczaj kontroler zewnętrzny jest umieszczony w osobnej szafie i w odróżnieniu od systemów z organizacją magistrali może posiadać dużą liczbę kanałów wejścia/wyjścia, w tym kanałów hosta, co umożliwia podłączenie do systemu kilku komputerów hostów i organizację systemy klastrowe. W systemach ze sterownikiem autonomicznym można zastosować sterowniki typu hot standby.

Jedną z wad systemów autonomicznych jest ich wysoki koszt.

Biorąc pod uwagę powyższe, zauważamy, że kontrolery autonomiczne są zwykle wykorzystywane do realizacji systemów przechowywania danych o dużej pojemności i klastrów.

Powiązane publikacje