Jedna duża RAID 10 czy kilka mniejszych macierzy?

10

Moje pytanie brzmi: kiedy należy po prostu utworzyć jedną dużą tablicę z szybką wydajnością odczytu i zapisu, taką jak RAID 10, zamiast tworzyć mniejsze tablice dla określonych aplikacji?

Wydaje mi się, że jeśli moje ogólne wymagania we / wy nie są strasznie duże, pojedyncza tablica o doskonałej wydajności odczytu i zapisu mogłaby zapewnić lepszą wydajność wszystkich aplikacji, z wyjątkiem tych (być może rzadkich) czasów, kiedy aplikacje o różnych wzorcach dostępu osiągnęły szczyt w tym samym czasie (kopiowanie dużych ilości dużych plików podczas blokowania bazy danych).

Jeśli dedykuję parę wrzecion do konkretnego zadania, takiego jak dzienniki transakcji, a one nawet nie poci się z obciążeniem pracą ... dlaczego nie po prostu położyć tego obciążenia na większą macierz RAID 10? Te wrzeciona byłyby wówczas w stanie przyczynić się do innych obciążeń zamiast siedzieć i drapać się przez 60% czasu.

PS, w moim szczególnym przypadku narzut kosztów RAID 10 nie jest czynnikiem, ponieważ zamierzam stworzyć wiele macierzy RAID 1 i jedną małą RAID 5. Przejście na RAID 10 dla potrzebnej ilości miejsca byłoby porównywalne.

Boden
źródło

Odpowiedzi:

10

Wiedza na temat konfiguracji pamięci masowej polega na pomiarze i budżetowaniu IOPS i przepustowości. (Upraszczam tutaj, ponieważ wielkość procentowej mieszanki odczytu / zapisu, średnie IO, rozmiar paska RAID i procent trafień w pamięci podręcznej mają ogromne znaczenie. Jeśli możesz uzyskać te liczby, możesz uczynić swoje obliczenia jeszcze dokładniejszymi.)

Jest to naprawdę miły mały kalkulator IO tutaj , że często korzystają przy planowaniu na przechowywanie. Katalog pamięci wmarow jest również przydatny do uzyskiwania dość współczesnych numerów wydajności dysków.

Jeśli dedykuję parę wrzecion do konkretnego zadania, takiego jak dzienniki transakcji, a one nawet nie poci się z obciążeniem pracą ... dlaczego nie po prostu położyć tego obciążenia na większą macierz RAID 10?

Pamiętaj, że umieszczenie sekwencyjnego IO na wrzecionie z losowym IO powoduje, że sekwencyjne IO jest losowe. Dyski z dziennika transakcji mogą wyglądać, jakby się nie pociły, ponieważ widać sekwencyjne operacje we / wy. Sekwencyjne odczyty i zapisy na woluminie RAID-1 będą dość szybkie, więc jeśli na przykład „nie łamiesz się” na długości kolejki dyskowej, na przykład nie dostaniesz całej historii.

Zmierz lub oblicz maksymalne możliwe losowe operacje IOPS dla zamierzonego woluminu docelowego, weź linię bazową bieżącego obciążenia pracą na tym woluminie, a następnie zdecyduj, czy masz wystarczająco dużo miejsca, aby umieścić te dzienniki transakcji IOPS w pozostałych losowych IO w woluminie docelowym. Pamiętaj też, aby w budżecie przewidzieć miejsce na obciążenie (oczywiście). Jeśli masz takie skłonności, wykorzystaj procent dodatkowego „nadmiaru” w alokacji obciążenia / przestrzeni IO.

Kontynuuj tę metodologię dla wszystkich innych obciążeń, które chcesz umieścić w docelowym woluminie RAID-10. Jeśli zabraknie przypadkowych operacji IOPS, to nakładasz zbyt dużo na wolumin - dodaj więcej dysków lub obciąż część woluminów dedykowanych. Jeśli zabraknie miejsca, dodaj więcej dysków.

Evan Anderson
źródło
Jednym z problemów jest to, że przy mojej bieżącej konfiguracji mogę naprawdę uzyskać dobry pomiar całkowitej liczby operacji we / wy na sekundę, która wynosi tylko około 300 (odczyt 60%) przy średnio 14 000 bajtów na przesyłanie. Rozważana przeze mnie duża macierz RAID 10 powinna być w stanie wykonać 758 losowych operacji IOPS 16k (60% i faktoring pamięci podręcznej). Obliczenia te nie uwzględniają jednak mieszanych obciążeń i właśnie o to walczę.
Boden
4

Przeczytałem ostatnio więcej artykułów, które mówią, że RAID 5 to zły sposób na niezawodność. Uważam, że bardziej po uszkodzeniu dysku w macierzy RAID 5, wymianie dysku i nie można go odzyskać, ponieważ drugi dysk miał ukryty błąd odczytu, który zmusił nas do sformatowania i przywrócenia z kopii zapasowej.

Ponieważ dyski stają się coraz większe, szanse na wykrycie niewykrywalnego błędu odczytu na tych ogromnych dyskach również rosną, a dzięki RAID 5 niezawodność po prostu już nie zmniejsza. Jeśli nie tworzysz kopii lustrzanych, najwyraźniej radzę korzystać z RAID 10.

Jeśli nie robisz czegoś bardzo wrażliwego na problemy z prędkością, nie martwiłbym się rozbiciem rzeczy na małe tablice lub coś w tym rodzaju. Umieść go w macierzy RAID 10 i sprawdź, czy wydajność zależy od tabaki. Przy odpowiednim buforowaniu i pamięci w systemie powinno być dobrze. Liczby testów porównawczych nigdy nie będą dokładnie takie, jakie faktycznie otrzymasz, ponieważ zależy to od faktycznego wykorzystania, rzeczywistego obciążenia, wydajności dysku, buforowania kontrolera, buforowania dysku, fragmentacji itp.

Najlepszą praktyczną zasadą jest uproszczenie konfiguracji tak bardzo, jak to możliwe, ponieważ nawet jeśli pocisz się dzień lub tydzień na poceniu się przez tę konfigurację za rok lub dwa, będziesz musiał rozwiązać jakiś problem na tym serwerze, który odejdzie zastanawiasz się, dlaczego skonfigurowałeś to tak, jak zrobiłeś, jeśli dodałeś niepotrzebną złożoność do konfiguracji.

Bart Silverstrim
źródło
1
Tak, przeniosłem się z RAID 5 na RAID 6, a kara za pisanie mnie zabija. Podoba mi się pomysł jednej dużej macierzy RAID 10. Czego mogę użyć, aby porównać różne typy jednoczesnego obciążenia we / wy?
Boden
1
Stoper jest najdokładniejszy :-)
Bart Silverstrim
1
Nie lekceważ znaczenia napędów i kontrolera. Mamy serwer Dell NAS z macierzą RAID 5 i jest on duszony, gdy użytkownicy logują się i pobierają z niego profile, i doszliśmy do wniosku, że było tak, ponieważ dyski nie mają prędkości 10 000 obr./min, po zbadaniu nieco liczb monitorów wydajności. W rezultacie przenieśliśmy pewne dane na osobny serwer, aby odciążyć część obciążenia.
Bart Silverstrim
2
Szczerze mówiąc, nie rozumiem, dlaczego ktoś miałby używać RAID 5 w środowisku korporacyjnym. Jesteśmy RAID 10 przez całą drogę.
Sygnał dźwiękowy
2
Ponieważ w tym czasie RAID 5 nie był zły :-) RAID 10 był uważany za luksus niepotrzebny na naszym poziomie biznesu, przypuszczam, że można powiedzieć. Ceny naprawdę spadły, czasy się zmieniły, a my nadal wspieramy to, co „działa” w serwerowni.
Bart Silverstrim
2

Jak przewidywalne są opóźnienia w aplikacjach?

Załóżmy na przykład, że masz jedną aplikację, która jest naprawdę wrażliwa na opóźnienia i dzieli system plików z finansową bazą danych. Podczas zamknięcia fiskalnego nagle pojawiają się połączenia dotyczące limitu czasu aplikacji wrażliwych na opóźnienia. Jak to wymyślisz?

Z drugiej strony jestem wielkim fanem upraszczania wszystkiego, więc sprawdziłbym, czy nie masz żadnych wyjątkowych wymagań, i skonsolidowałem i uprościłem swoje konfiguracje, jeśli twoje wymagania nie mieszczą się w żadnych dziwnych przypadkach specjalnych.

Chris
źródło
0

Jasne, czemu nie. Chodzi o to, że pamiętaj, aby poprawnie zbudować swoją dużą tablicę wielopłytową, pomylić ją i czeka Cię długi czas przebudowy.

RAID 10 występuje w 2 wersjach:

  • RAID 1 + 0, w którym budujesz 2 macierze RAID 1, a następnie je rozkładasz.
  • RAID 0 + 1, w którym budujesz 2 macierze RAID 0, a następnie je kopiujesz.

Gdy dysk umrze, w jednym będziesz musiał odbudować pojedynczą macierz RAID1. Z drugą będziesz musiał odbudować całą tablicę raid0.

gbjbaanb
źródło