Dlaczego zagnieżdżone poziomy RAID 1 + 5 lub 1 + 6 są prawie niespotykane? W zagnieżdżonym artykule na temat poziomów RAID w Wikipedii brakuje obecnie ich sekcji. Nie rozumiem, dlaczego nie są one bardziej powszechne niż RAID 1 + 0, szczególnie w porównaniu z potrójnym dublowaniem RAID 1 + 0.
Oczywiste jest, że czas odbudowy staje się coraz bardziej problematyczny, ponieważ pojemności dysków rosną szybciej niż ich wydajność lub niezawodność. Powiedziano mi, że RAID 1 odbudowuje się szybciej i że macierz RAID 0 par macierzy RAID 1 pozwala uniknąć tego problemu, ale na pewno zrobi to macierz RAID 5 lub 6 macierzy RAID 1. Spodziewałbym się przynajmniej, że będą wspólną alternatywą dla RAID 1 + 0.
W przypadku 16 dysków o pojemności 1 TB oto moje obliczenia naiwnego prawdopodobieństwa skorzystania z kopii zapasowej, tj. Przy uproszczonym założeniu, że dyski są niezależne, a prawdopodobieństwo nawet:
RAID | storage | cumulative probabilities of resorting to backup /m
1+0 | 8TB | 0, 67, 200, 385, 590, 776, 910, 980, 1000, 1000, 1000
1+5 | 7TB | 0, 0, 0, 15, 77, 217, 441, 702, 910, 1000, 1000
1+6 | 6TB | 0, 0, 0, 0, 0, 7, 49, 179, 441, 776, 1000
(m = 0.001, i.e. milli.)
Jeśli jest to poprawne, to jest całkiem jasne, że RAID 1 + 6 jest wyjątkowo bardziej niezawodny niż RAID 1 + 0, ponieważ zmniejsza pojemność pamięci tylko o 25%. Tak jak ma to miejsce w ogólności, teoretyczna przepustowość zapisu (nie licząc czasów wyszukiwania) to pojemność pamięci / rozmiar tablicy × liczba dysków × przepustowość zapisu najwolniejszego dysku w tablicy (poziomy RAID z redundancją mają większe wzmocnienie zapisu dla zapisów, które nie wypełniaj paska, ale zależy to od wielkości porcji), a teoretyczna przepustowość odczytu jest sumą przepustowości odczytu dysków w tablicy (z wyjątkiem tego, że RAID 0, RAID 5 i RAID 6 mogą być teoretycznie ograniczone przez odpowiednio najwolniejsze, 2. najwolniejsze i 3. najwolniejsze prędkości odczytu dysku). Tzn., Zakładając identyczne dyski, które wynosiłyby odpowiednio 8 ×, 7 ×,
Ponadto weź pod uwagę czterokrotność RAID 0 trzykrotnie RAID 1, tj. RAID 1 + 0 potrójne dublowanie 12 dysków, i sekwencję RAID 6 par RAID 1, tj. RAID 1 + 6 z 12 dysków. Ponownie są to identyczne dyski 1 TB. Oba układy mają tę samą liczbę dysków (12), taką samą pojemność pamięci (4 TB), taką samą proporcję redundancji (2/3), taką samą maksymalną przepustowość zapisu (4 ×) i tę samą maksymalną przepustowość odczytu ( 12 ×). Oto moje obliczenia (jak dotąd):
RAID | cumulative probabilities of resorting to backup /m
1+0 (4×3) | 0, 0, 18, ?, ?, ?, ?, ?, 1000
1+6 (6×2) | 0, 0, 0, 0, 0, 22, 152, 515, 1000
Tak, może to wyglądać na przesadę, ale w przypadku gdy potrójne dublowanie jest używane do rozdzielenia klonu do tworzenia kopii zapasowych, RAID 1 + 6 można równie dobrze wykorzystać, po prostu zamrażając i usuwając 1 z każdego dysku z wyjątkiem 2 RAID 1 pary, a przy tym nadal ma znacznie lepszą niezawodność, gdy jest zdegradowana niż zdegradowana macierz RAID 1 + 0. Oto moje obliczenia dla 12 dysków zdegradowanych o 4 w ten sposób:
RAID | cumulative probabilities of resorting to backup /m
1+0 (4×3) | (0, 0, 0, 0), 0, 143, 429, 771, 1000
1+6 (6×2) | (0, 0, 0, 0), 0, 0, 71, 414, 1000
Jednak przepustowość odczytu może być w tym czasie zmniejszona do 6 × dla RAID 1 + 6, podczas gdy RAID 1 + 0 jest zredukowany tylko do 8 ×. Niemniej jednak, jeśli dysk ulegnie awarii, gdy tablica jest w tym zdegradowanym stanie, macierz RAID 1 + 6 miałaby 50–50 szansę na pozostanie na poziomie około 6 × lub ograniczenie do 5 ×, podczas gdy macierz RAID 1 + 0 miałaby ograniczać się do czterokrotnie wąskiego gardła. Przepustowość zapisu powinna być niezmieniona (może nawet wzrosnąć, jeśli dyski wykorzystane do tworzenia kopii zapasowych były ograniczającymi najwolniejszymi dyskami).
W rzeczywistości oba mogą być postrzegane jako „potrójne dublowanie”, ponieważ zdegradowana macierz RAID 1 + 6 jest w stanie oddzielić dodatkową grupę 4 dysków RAID 6. Innymi słowy, ten 12-dyskowy układ RAID 1 + 6 można podzielić na 3 zdegradowane (ale funkcjonalne) macierze RAID 6!
Czy więc większość ludzi nie zagłębiła się w matematykę? Czy w przyszłości zobaczymy więcej RAID 1 + 6?
Odpowiedzi:
Ogólnie powiedziałbym, że RAID 1 + 0 będzie częściej używany niż 1 + 5 lub 1 + 6, ponieważ RAID 1 + 0 jest wystarczająco niezawodny i zapewnia nieznacznie lepszą wydajność i więcej użytecznej pamięci.
Myślę, że większość ludzi uznałaby porażkę pełnej pary RAID 1 w grupie RAID 1 + 0 za dość niewiarygodnie rzadkie wydarzenie, w którym warto przełamać kopie zapasowe - i prawdopodobnie nie są zbyt entuzjastycznie nastawieni do uzyskania mniej niż 50% swojej fizycznej sprawności dysk jako przestrzeń użytkowa.
Jeśli potrzebujesz lepszej niezawodności niż RAID 1 + 0, to idź! .. ale większość ludzi prawdopodobnie tego nie potrzebuje.
źródło
Praktyczna odpowiedź leży gdzieś na skrzyżowaniu specyfikacji sprzętowych kontrolerów RAID, średnich rozmiarów dysków, współczynników kształtu i konstrukcji serwera.
Większość sprzętowych kontrolerów RAID ma ograniczoną liczbę obsługiwanych poziomów RAID. Oto opcje RAID dla kontrolera HP ProLiant Smart Array:
Uwaga: „adm” to tylko potrójne odbicie
Obsługa kontrolerów LSI RAID:
0, 1, 5, 6, 10, 50, and 60
Dlatego te kontrolery są w stanie RAID 50 i 60 tylko jako poziomy zagnieżdżone. LSI (z domu Dell PERC ) i HP stanowią większość rynku adapterów pamięci masowej dla przedsiębiorstw. To główny powód, dla którego nie widzisz czegoś takiego jak RAID 1 + 6 lub RAID 61 w terenie.
Poza tym zagnieżdżone poziomy RAID poza RAID 10 wymagają stosunkowo dużej liczby dysków. Biorąc pod uwagę rosnące obecnie dostępne pojemności dysków (z 3,5-calowymi dyskami nearline SAS i SATA), w połączeniu z faktem, że wiele obudów serwerów zaprojektowano wokół klatek dysków 8 x 2,5 ”, nie ma wielkiej szansy na fizyczną konfigurację RAID 1+ 6 lub RAID 61.
Obszary, w których możesz zobaczyć coś takiego jak RAID 1 + 6, to rozwiązania RAID dla dużych obudów. Linux MD RAID lub ZFS są do tego zdecydowanie zdolne. Ale do tego czasu awarię dysku można złagodzić za pomocą dysków twardych lub zapasowych. Niezawodność RAID nie stanowi obecnie większego problemu, pod warunkiem, że unikniesz toksycznego poziomu RAID i kombinacji sprzętowych (np. RAID 5 i 6 TB). Ponadto wydajność odczytu i zapisu zostałaby wyodrębniona przez warstwy warstw i buforowania. Średnie obciążenia pamięci zwykle korzystają z jednego lub drugiego.
W końcu wydaje się, że potrzeba / popyt po prostu nie istnieje.
źródło
Masz malejący zwrot z niezawodności. RAID 6 raczej nie spowoduje awarii nawet na nieprzyjemnych dyskach SATA o współczynniku UBER 1 na 10 ^ 14. Na dyskach FC / SAS Twój UBER wynosi 1 na 10 ^ 16 i zyskujesz znacznie większą wydajność.
Niezawodność grupy RAID nie chroni przed przypadkowym usunięciem. (więc i tak potrzebujesz kopii zapasowych)
poza pewnymi poziomami RAID, prawdopodobieństwo awarii złożonej na dyskach staje się niższe niż złożonej awarii infrastruktury wspierającej (zasilanie, sieć, wyciek z klimatyzacji itp.)
Napisz karę. Każdy przychodzący zapis na macierzy RAID 61 spowoduje 12 operacji IO (naiwnie wykonane). RAID 6 jest już bolesny w scenariuszach „niższego poziomu” pod względem liczby procesorów IOP przypadających na zapis TB. (a na wyższym poziomie wskaźnik awarii i tak jest 100 razy lepszy)
to nie jest „25% redukcja”, to kolejne 25% redukcja. Twój 16 TB zmienia się w 6 TB. Otrzymujesz 37,5% dostępnej przestrzeni dyskowej. Potrzebujesz 3x więcej dysków na pojemność i 3x tyle miejsca w centrach danych. Prawdopodobnie uzyskałbyś większą niezawodność, po prostu tworząc mniejsze zestawy RAID6. Nie przeprowadzałem obliczania liczb, ale próbuję - na przykład sumy RAID 6 w zestawach 3x 3 + 2 (15 dysków, mniej narzutu pamięci niż RAID10). Lub zamiast tego wykonuj lustra trójdrożne.
Powiedziawszy to - jest to bardziej powszechne niż myślisz, aby to zrobić w przypadku DR dla wielu witryn. Prowadzę replikowane macierze pamięci, w których mam grupy RAID5 / 6 / DP RAID asynchronicznie lub synchronicznie z witryną DR. (Nie synchronizuj, jeśli możesz tego uniknąć - wygląda dobrze, w rzeczywistości jest okropny).
W przypadku mojej aplikacji NetApps jest to mikroklastra z niektórymi lustrzanymi agregacjami. W moich VMAX-ach mamy Symmetrix Remote Data Facility (SRDF). A moje 3PAR-y wykonują zdalne kopiowanie.
Jest drogi, ale zapewnia poziom DR w centrum danych.
Jeśli chodzi o potrójne lustra - użyłem ich, ale nie jako bezpośrednich miar odporności RAID, ale raczej jako pełnych klonów jako części strategii tworzenia kopii zapasowych. Zsynchronizuj trzecie dublowanie, podziel je, zamontuj na osobnym serwerze i wykonaj kopię zapasową, używając zupełnie innej infrastruktury. A czasami obracaj trzecie lustro jako opcję odzyskiwania.
Chodzi mi o to, że w moim bezpośrednim doświadczeniu jako administrator pamięci masowej - w około 40 000 nieruchomości wrzecionowych (tak, codziennie wymieniamy dziesiątki dysków) - musieliśmy iść na kopie zapasowe dla różnych powodów w ciągu ostatnich 5 lat, ale żadna z nich nie spowodowała awarii grupy RAID. Dyskutujemy o względnych zaletach i dopuszczalnym czasie odzyskiwania, punkcie odzyskiwania i oknach przestoju. U podstaw tego wszystkiego leży ZAWSZE koszt dodatkowej odporności.
Nasza tablica przewiduje wszystkie operacje odczytu i awarii nośników oraz agresywnie oszczędza i testuje dyski.
Nawet jeśli istnieje odpowiednia implementacja RAID, korzyści i kosztów po prostu nie ma. Pieniądze wydane na przestrzeń dyskową lepiej byłoby zainwestować w dłuższy okres przechowywania lub częstszy cykl tworzenia kopii zapasowych. Lub szybsze połączenia. Lub po prostu ogólnie szybsze wrzeciona, ponieważ nawet przy identycznych liczbach sprężystości, szybsza odbudowa części zamiennych zwiększa prawdopodobieństwo awarii złożonej.
Myślę więc, że dlatego udzieliłbym odpowiedzi na twoje pytanie:
Często nie widzisz RAID 1 + 6 i 1 + 5, ponieważ korzyści kosztowe po prostu się nie kumulują. Biorąc pod uwagę skończoną kwotę pieniędzy i biorąc pod uwagę potrzebę wdrożenia rozwiązania do tworzenia kopii zapasowych, wszystko, co robisz, to wydawanie pieniędzy na zmniejszenie częstotliwości przestojów. Są lepsze sposoby wydawania tych pieniędzy.
źródło
Nowoczesne i zaawansowane systemy nie implementują takich kształtów, ponieważ są nadmiernie skomplikowane, całkowicie niepotrzebne i sprzeczne z jakimkolwiek pozorem wydajności.
Jak zauważyli inni, stosunek surowej przestrzeni do powierzchni użytkowej wynosi zasadniczo 3: 1. Są to zasadniczo trzy kopie (dwie zbędne). Ze względu na koszt obliczeniowy „raid6” (dwa razy więcej, jeśli jest dublowany) i wynikającą z tego utratę IOPS, jest to bardzo nieefektywne. W ZFS, który jest bardzo dobrze zaprojektowany i dostrojony, równoważnym rozwiązaniem pod względem pojemności byłoby utworzenie paska 3-kierunkowych lusterek.
Na przykład, zamiast lustra 6-kierunkowych kształtów raid6 / raidz2 (łącznie 12 dysków), co byłoby bardzo nieefektywne (również nie jest czymś, co ZFS ma do zaimplementowania), mielibyśmy 4 x 3-drożne lustra (także 12 dyski). I zamiast IOPS o wartości 1 dysku, masz IOPS o wartości 4 dysków. Jest to ogromna różnica, zwłaszcza w przypadku maszyn wirtualnych. Całkowita szerokość pasma dla tych dwóch kształtów może być bardzo podobna w sekwencyjnych odczytach / zapisach, ale pasek 3-kierunkowych zwierciadeł byłby zdecydowanie bardziej responsywny w przypadku losowego odczytu / zapisu.
Podsumowując: raid1 + 6 jest po prostu niepraktyczny, nieefektywny i nic dziwnego, że nikt poważny w kwestii pamięci masowej nie rozważyłby rozwoju.
Aby wyjaśnić rozbieżność IOPS: przy lustrze kształtów raid6 / raidz2 przy każdym zapisie wszystkie 12 dysków musi działać jako jeden. Całkowity kształt nie ma możliwości podzielenia działania na wiele działań, które wiele kształtów może wykonać niezależnie. Z paskiem 3-kierunkowych lusterek każdy zapis może być czymś, z czym musi sobie poradzić tylko jedno z 4 lusterek, więc kolejny zapis, który się pojawi, nie musi czekać na cały omnibus, zanim poradzi sobie z dalszymi działaniami .
źródło
Ponieważ nikt nie powiedział tego wprost: wydajność zapisu w Raid6 nie jest nieznacznie gorsza. Jest okropny poza opisem, jeśli jest obciążony.
Pisanie sekwencyjne jest w porządku i tak długo, jak buforowanie, scalanie zapisu itp. Jest w stanie to zatuszować, wygląda dobrze. Przy dużym obciążeniu rzeczy wyglądają źle i jest to główny powód, dla którego konfiguracja 1 + 5/6 prawie nigdy nie jest używana.
źródło
Szukaj razy
Problem polega na tym, że wzmocnienie wyszukiwania zapisu zachowuje się zupełnie inaczej niż wzmocnienie przepustowości zapisu . Minimalne wzmocnienie przepustowości zapisu z parzystością występuje, gdy cały pasek jest zapisywany jednocześnie (nazwijmy to przymiotnikiem „pełnym paskiem”), jednak minimalne wzmocnienie wyszukiwania zapisu występuje odwrotnie, gdy cały zapis po wyszukiwaniu w urządzeniu wirtualnym pasuje do pojedynczy kawałek. Zanim przejdziemy do szczegółów, relacje są znacznie łatwiejsze do przekazania w formie tabelarycznej:
gdzie n jest całkowitą liczbą dysków, n₁ jest liczbą dysków w grupach RAID 1, a n₅ i n₆ są liczbą grup odpowiednio w macierzach RAID 5 lub RAID 6. Przykłady dotyczą przykładu z 12 dyskami w pytaniu (odpowiednie wiersze to „
*bolded*
”); przykładami poziomów RAID 1 + 0, 1 + 5, 1 + 6 są odpowiednio 4 × 3, 6 × 2, 6 × 2.Należy zauważyć, że tylko współczynnik wzmocnienia przepustowości zapisu pełnego paska jest bezpośrednio związany z proporcją redundancji. Przypadki jednoczęściowe są bardziej skomplikowane dla osób z parzystością. Powstają, ponieważ napisanie pojedynczego fragmentu wymaga odczytu, który jest najłatwiejszy z fragmentów parzystości lub innych fragmentów danych, przed zapisaniem fragmentów parzystości wraz z nowym fragmentem danych. (Nie są one bezpośrednio zwielokrotniane, ponieważ indukowane odczyty należy zamiast tego pomnożyć przez odpowiedni współczynnik przepustowości odczytu / wzmocnienia amplifikacji dla RAID 1, oba równe 1; patrz poniżej.)
Niestety wybranie wielkości fragmentu, która minimalizuje to dodatkowe zwiększenie przepustowości zapisu, ma efekt uboczny polegający na maksymalizacjiwzmocnienie poszukiwania zapisu. W przypadku drobnych zapisów z pomijalnym czasem zapisu w porównaniu z czasem wyszukiwania wydajność zapisu w przypadku bardzo małych rozmiarów fragmentu (w celu uzyskania pełnego paska) wynosi tylko 1 ×, podobnie jak w przypadku kopii lustrzanej, ponieważ wymaga, aby wszystkie dyski próbowały części dla każdego zapisu i uzyskana przepustowość z mobilizacji wszystkich tych dysków są nieistotne. Dzielił stosunek czasu zapisu do szukania czasu przez liczbę dysków w macierzy, ale w przypadku małych zapisów było to już znikome. Nie ma sensu używać tak małego fragmentu, aby nawet najmniejsze zapisy były pełne. W przypadku pism wystarczająco małych, aby wyczuć efekty wyszukiwania, najlepiej pasować do jednego kawałka.
Uwaga: środkowe 2 kolumny przepustowości można zignorować, biorąc pod uwagę rozsądny rozmiar fragmentu, który jest większy niż zapisów, dla których czas wyszukiwania jest znaczący, ale wystarczająco mały, aby duże zapisy były pełne. Duży fragment drugiej kolumny przepustowości jest bardziej zbliżony do dysków łączonych. „Mały” zapis oznacza, że efekt przepustowości jest znikomy.
Posiadanie nieodpowiednio małego fragmentu zwiększa również efekt wzmocnienia wyszukiwania dla odczytów, choć nie tak bardzo i tylko w przypadku pełnego paska.
Uwaga: „do n” jest spowodowane tym, że gdy jednocześnie odbywa się tylko jeden odczyt, teoretycznie możliwe jest zmobilizowanie wszystkich dysków w celu znalezienia odpowiednich miejsc i zbiorowego odczytu danych w celu uzyskania maksymalnej dużej ciągłej przepustowości odczytu.
Uwaga: Ponownie środkowe 2 kolumny przepustowości można zignorować, biorąc pod uwagę rozsądny rozmiar porcji. Trzecia kolumna przepustowości jest ponownie ściśle związana z proporcją redundancji.
Jednak wystarczająco duży rozmiar fragmentu oznacza, że małe odczyty nigdy nie są pełne. Biorąc pod uwagę efektywną implementację i odpowiedni rozmiar porcji, wydajność odczytu powinna być proporcjonalna do liczby identycznych dysków, jeśli nie ulegnie pogorszeniu.
Tak naprawdę „współczynnik wzmocnienia” jest o wiele bardziej skomplikowany niż wzór w pytaniu, w którym rozważano jedynie pełne zwiększenie przepustowości. W szczególności wydajność zapisu 6 × 2 RAID 1 + 6 dla równoczesnych zapisów, które są na tyle małe, że można je wyszukać, będzie gorsza niż wydajność 4 × 3 RAID 1 + 0. A w przypadku niewielkich zapisów, które są poszukiwane, wydajność może wynosić tylko około 3 z 4 × 3 RAID 1 + 0 w najlepszym przypadku (tj. Przy doskonałej implementacji).
Po wyjaśnieniu tego problemu porównanie 12 dysków nie ma bezpośredniego zwycięzcy:
Uwaga 1: Pełna kopia przechowywanych danych to odpowiednio czterokrotna macierz RAID 0 lub macierz RAID 6 zdegradowana o 4/6. Uwaga 2: Istnieje nawet szansa na to, czy awaria dysku obciąży jedną z 4 zdegradowanych par macierzy RAID 1, czy pogorszy jedną z 2 normalnych par.
Niemniej jednak podwoiłaby wydajność odczytu macierzy RAID 6 z 6 dyskami, a mała przepustowość zapisu powinna być o 25% lepsza (1,5 / 1,2) ze względu na to, że wymagane odczyty zostały podzielone pomiędzy pary macierzy RAID 1, a RAID 6 oczywiście robi mają odpowiednie wnioski, a więc w aplikacjach o wysokiej dostępności, które mają większe zapisy lub które są bardziej zaniepokojony wydajność odczytu niż wydajności zapisu, może tam jest nisza dla RAID 1 + 6 przecież. Ale to nie wszystko…
Złożoność
Jest to do tej pory tylko teoretycznie (głównie kombinatoryka ), w praktyce złożoność będzie oznaczać, że implementacje RAID 1 + 6 mogą mieć braki, które tracą szanse i nie osiągają teoretycznych rezultatów. RAID 6 jest już bardziej złożony, a zagnieżdżanie dodaje nieco więcej złożoności.
Na przykład nie jest od razu oczywiste, że 6 × 2 RAID 1 + 6 można wyodrębnić jako posiadające 3 niezależne wirtualne głowice odczytu zdolne do jednoczesnego odczytu 3 sąsiadujących dużych odczytów o przepustowości 4 × każdy, podobnie jak 4 × 3 RAID 1 + 0. Po prostu zagnieżdżanie 6 par RAID 1 w macierzy RAID 6 przy użyciu programowego RAID może nie być tak eleganckie; implementacja może być głupia i thrash (choć nie przetestowałem jeszcze tej hipotezy).
Złożoność wiąże się również ze zwiększonym kosztem rozwoju wdrożeń i narzędzi. Chociaż mogą istnieć aplikacje, które mogłyby skorzystać z takiego zagnieżdżenia, ulepszenia mogą nie być warte kosztów rozwoju.
źródło