Praktyczna wydajność RAID?

8

Zawsze uważałem, że ogólna zasada RAID jest następująca:

  • RAID 0: Najlepsza wydajność odczytu i zapisu od usuwania, największe ryzyko
  • RAID 1: Nadmiarowy, przyzwoity do odczytu (uważam, że może czytać z różnych części pliku z różnych dysków twardych), nie najlepszy dla WRITE
  • RAID 0 + 1 (01): łączy redundancję RAID 1 z wydajnością RAID 0
  • RAID 1 + 0 (10): nieco lepsza wersja RAID 0 + 1
  • RAID 5: dobra wydajność READ, zła wydajność WRITE, nadmiarowa

Czy to założenie jest prawidłowe? (i jak porównują się do konfiguracji JBOD dla wydajności We / Wy R / W)

Czy niektóre praktyczne konfiguracje RAID są lepsze dla różnych aplikacji: gier, edycji wideo, bazy danych (Access lub SQL)?

Myślałem o dyskach twardych, ale czy dotyczy to również dysków półprzewodnikowych?

wag2639
źródło
Moje rozumienie redundancji każdej z klas RAID jest całkiem dobre, po prostu nie jestem pewien wydajności we / wy odczytu i zapisu.
wag2639
Jeśli chodzi o JBOD, wiem, że nie oferuje on wydajności ani redundancji, właśnie wspomniałem o tym jako o referencji bazowej.
wag2639

Odpowiedzi:

12

Rajd 0 . Świetna prędkość odczytu i zapisu. Ryzyko awarii wzrosło wraz ze wzrostem liczby dysków członkowskich. Brak parzystości.

Rajd 1 . Wielka prędkość odczytu tylko przy prawidłowym wdrożeniu sterownika - jeśli używasz kontrolerów RAID Areca i LSI, mogą one zapewnić prawie taką samą zdolność odczytu dla zestawów RAID 1, jak zestawy RAID 0 (w granicach 10%). Pamiętaj, że w przypadku rozwiązań do raidowania oprogramowania istnieją dwa typy: oprogramowanie systemu operacyjnego i oprogramowanie płyty głównej.

Większość Raidów na płytach głównych nie oferuje dobrej wydajności odczytu Raid 1. Ostatnim razem, gdy sprawdzałem, że Windows i Linux nie mają również dobrej implementacji odczytów z Raid 1. BSD miało poprawnie zaimplementowaną implementację RAID 1, która wykorzystuje metodę odczytu roundrobin.

W skrócie, użyj RAID 1 dla redundancji i prędkości odczytu, jeśli używasz zaawansowanych kontrolerów.

Raid 1/0 i Raid 0/1 . To jest połączenie. Powiedzmy, że masz 10 dysków. Raid 1/0 polega na tym, że w każdym zestawie znajduje się lustro: Zestaw A (1 + 2), Zestaw B (3 + 4), Zestaw C (5 + 6), Zestaw D (7 + 8), Zestaw E (9+ 10), a następnie Wykonaj zestaw pasków na 5 zestawach (AE). W ten sposób każdy z zestawów może mieć awarię jednego dysku, ale jeśli dwa dyski ulegną awarii w tym samym zestawie, robisz to.

Raid 0/1 polega na tym, aby mieć zestaw pasków A (1 + 2 + 3 + 4 + 5) i zestaw B (6 + 7 + 8 + 9 + 10) i wykonać kopię lustrzaną dwóch zestawów. W ten sposób, jeśli dysk 2 i dysk 9 ulegną awarii, większość kontrolerów uważa to za całkowitą awarię (która w rzeczywistości nadal zawiera wszystkie dane).

Różnica między nimi jest niewielka, ale nie sądzę, że zazwyczaj dostajesz oba z kontrolera RAID.

Rajd 5 . bardzo mieszana torba: dla odczytów sekwencyjnych jest szybszy niż raid 1/0, a dla odczytu losowego jest nieco wolniejszy. Zauważ, że wydajność raidu 5 jest bardzo zależna od prędkości kontrolera (np. Nie możesz oczekiwać wiele na pokładzie raidu).

Rajd 6 . Redundancja wzrosła w porównaniu z Raid 5. dwa dyski mogą ulec awarii w dowolnym momencie, a podczas przebudowy macierzy po awarii 1 dysku nadal występuje redundancja (zwróć uwagę, że w przypadku awarii dysku RAID 5 macierz jest podobna do RAID 0 - awaria dowolnego dysku = całkowita strata ).

JBOD . Nie mogę wymyślić żadnej korzyści.

bubu
źródło
dzięki .. więc z tego, co czytam, używając ogólnych płyt głównych do gier wydajnościowych, Raid 0 jest najlepszy bez oddzielnego dedykowanego kontrolera RAID? (Nie dbam o to, czy będę musiał ponownie zainstalować programy OS +, a dane będą gdzie indziej, możliwa macierz RAID 5)
wag2639
2
masz bardzo rację. chociaż obawiam się, że wydajność przy użyciu raidu na płycie głównej nie będzie się bardzo różnić od korzystania z raidu oprogramowania opartego na systemie operacyjnym (choć oczywiście różnica polega na tym, że na dysku systemowym nie można raidować raidu oprogramowania opartego na systemie operacyjnym). Również wydajność raid5 w raidach na płycie głównej jest żałosna (w niektórych przypadkach spadek o 15-20 MB / s!)
bubu
2

Jak sugeruje twoje pytanie, tak naprawdę nie istnieje „najlepsza” konfiguracja RAID, tylko najlepsza w określonych okolicznościach, a koszt jest często jednym z najważniejszych czynników.

Bez wchodzenia w szczegóły sterowników i oprogramowania, oto moje podstawowe zasady.

RAID 0 jest najszybszy, ponieważ możesz odczytywać i zapisywać na wielu dyskach jednocześnie, a żadne miejsce nie jest „marnowane” na nadmiarowość. Jeśli stracisz dowolny dysk, stracisz zestaw, więc RAID 0 powinien być używany tylko na komputerze, na którym ci nie zależy, lub jest łatwy do przywrócenia i nie zawiera cennych danych. Maszyna do gier może pasować do tego scenariusza, chociaż szczerze mówiąc, różnica prędkości nie jest tak zauważalna, że ​​byłbym skłonny zaakceptować zwiększone ryzyko konieczności przebudowania maszyny. Może być również przydatny w naprawdę szybkich obszarach „scratch”, jeśli masz oprogramowanie, które tego wymaga.

RAID 1 jest bardzo popularną konfiguracją kopii lustrzanych, zwykle z 2 dyskami. Odczyty są na ogół nieco dwa razy szybsze niż na jednym dysku, podczas gdy zapisy są nieco wolniejsze niż na jednym dysku. Na serwerach RAID 1 jest doskonałym wyborem dla plików systemu operacyjnego. Jest to również dobry wybór, gdy potrzebujesz redundancji, twoje potrzeby przechowywania nie są tak duże, aby wymagać RAID 5 i możesz skorzystać z dodatkowej prędkości odczytu (pliki dziennika bazy danych są zwykle umieszczane na RAID 1).

RAID od 2 do 4 (nie dotyczy pytania) są na ogół nieużywane, z wyjątkiem produktów niektórych dostawców po stronie przedsiębiorstwa.

RAID 5 to kompromis między nie marnowaniem zbyt dużej ilości miejsca na redundancję a dalszym uzyskiwaniem dodatkowej wydajności dodatkowych dysków. Prędkości odczytu są bardzo dobre, ponieważ wszystkie dyski mogą brać udział. Prędkości zapisu mogą czasem stanowić problem w przypadku macierzy RAID 5, choć myślę, że czasami jest to zawyżone w zależności od sytuacji. Nawet w przypadku sprzętu, który wykonuje obliczenia parzystości, na macierzy RAID 5 występują niewielkie losowe zapisy, ponieważ każda logiczna operacja zapisu wymaga 4 operacji we / wy (odczyt z dysku danych, odczyt z dysku parzystości, zapis danych, zapis danych parzystości). Wybierz RAID 5, jeśli chcesz zmaksymalizować ilość dostępnej pamięci z zestawu dysków, zachowując jednocześnie wysoki poziom bezpieczeństwa. Unikaj, gdy aplikacja wymaga wysokiej wydajności i wymaga wielu małych losowych zapisów (dyski twarde maszyny wirtualnej, pliki danych bazy danych). Należy również pamiętać, że nowoczesne duże dyski odbudowują się długo, gdy ulegną awarii w ramach zestawu RAID 5, a to naraża dane na dłuższe ryzyko awarii drugiego dysku. RAID 6 może zmniejszyć to ryzyko kosztem jeszcze gorszej wydajności zapisu losowego.

RAID 1/0 i 0/1 mają prawie takie same parametry wydajności. 1/0 jest jednak preferowana, ponieważ awaria oznacza odbudowę tylko pary zaangażowanych dysków, a nie całego paska dysków. RAID 1/0 to najszybsza konfiguracja ogólnego przeznaczenia spośród wymienionych w pytaniu. Wydajność odczytu i zapisu jest świetna (odczyty mogą się odbywać na wszystkich dyskach jednocześnie, zapisy muszą się zdarzyć na wielu dyskach, ale nie jest potrzebny cykl odczytu / odczytu / zapisu / zapisu, taki jak RAID 5), chociaż RAID 5 może wygrać w pewnych okolicznościach. RAID 1/0 jest (co nie dziwi) również najdroższym w prawie wszystkich przypadkach. Należy go używać tylko wtedy, gdy wydajność ma krytyczne znaczenie, dane są bardzo cenne, a aplikacja nie toleruje przestojów. Często serwery baz danych (lub przynajmniej ich pliki danych) są dobrymi kandydatami do RAID 1/0.

Dyski półprzewodnikowe można rzeczywiście wprowadzić do konfiguracji RAID, szczególnie ze względu na wartość redundancji. Wiele dysków SSD może jednak przewyższać magistralę (SATA), do której są podłączone, szczególnie w przypadku operacji odczytu, więc efekt wydajności macierzy RAID jest mniej atrakcyjny dla dysków SSD.

Jeremy
źródło
0

Jeśli kupujesz sprzętowy kontroler RAID, wybierz RAID5. Ma najmniejszy narzut, a sprzętowy kontroler RAID prawie wyeliminuje karę narzutu z zapisu, ponieważ oblicza bity parzystości w sprzęcie. Raid5 odczytuje także wiele dysków, jednocześnie poprawiając szybkość odczytu i zapisu.

Tak, dotyczy to również dysków półprzewodnikowych. Test dysków SSD w Raid0 wykazał prawie liniowy wzrost prędkości.

Raid5 jest zdecydowanie najczęściej stosowaną technologią w świecie serwerów, ale dla laptopa z tylko 2 dyskami twardymi sugerowałbym, że raid1 dubluje.

JBOD nie ma redundancji w przypadku awarii dysku twardego, ale w zależności od ustawień może rozłożyć dane, aby zwiększyć wydajność, np. Raid.

Nacięcie
źródło
1
JBOD zwykle nie może pasować, ponieważ jest przeznaczony do użytku z dyskami o różnych rozmiarach - jeśli masz ten sam rozmiar, powinieneś już używać RAID 1 lub RAID 0.
Darth Android