Praktyczny Wybór RAID dla Macierzy Opartych na Dyskach Talerzowych
Wokół macierzy RAID krąży naprawdę ogromna ilość informacji, obejmujących takie tematy jak ryzyko, wydajność, pojemność, trendy, podejścia i wiele innych. Chociaż literatura na ten temat jest niemal przytłaczająca, informacje można sprowadzić do kilku typowych, praktycznych podejść do przechowywania danych, które obejmą niemal wszystkie przypadki użycia. Moim celem jest tutaj dostarczenie przydatnego przewodnika, który pozwoli praktykom niebędącym specjalistami od pamięci masowej na podejście do decyzji dotyczących RAID w sposób praktyczny i, co najważniejsze, bezpieczny.
Na potrzeby niniejszego przewodnika przyjmiemy, że projekty pamięci masowej obejmują nie więcej niż dwadzieścia pięć tradycyjnych dysków (dysków z obracającym się talerzem, właściwie zwanych dyskami Winchester). Dyski te mogą być najczęściej SFF (2,5″) lub LFF (3,5″), SATA lub SAS, konsumenckie lub enterprise. Nie będziemy zajmować się dyskami SSD (solid state), ponieważ mają one bardzo różne charakterystyki i wymagają osobnych wytycznych. Systemy pamięci masowej większe niż około dwudziestu pięciu wrzecion nie powinny opierać się na standardowych wytycznych, lecz wnikać głębiej w specyficzne potrzeby w zakresie przechowywania danych, aby zapewnić właściwe planowanie.
Wytyczne tutaj zostały napisane dla standardowych systemów w 2015 roku. Przez ostatnie dwie dekady typowe podejścia do macierzy RAID zmieniały się dramatycznie i choć nie przewiduje się, że kluczowe czynniki wpływające na te decyzje zmienią się wystarczająco w przyszłości, aby zmodyfikować te zalecenia, jest bardzo możliwe, że tak się stanie. Dobry projekt RAID z 1998 roku to dziś bardzo zły projekt RAID. Tempo zmian w branży znacznie spowolniło od tamtego czasu i zalecenia te prawdopodobnie utrzymają się przez bardzo długi czas, bardzo możliwe do momentu, gdy pamięć masowa oparta na dyskach talerzowych nie będzie już dostępna lub przynajmniej popularna, ale jak wszystkie prognozy, podlegają one dużym zmianom.
Generalnie stosujemy podejście zwane “Jedną Dużą Macierzą”. Oznacza to pojedynczą macierz RAID, na której tworzone są wszystkie partycje systemowe i danych. Potrzeba lub chęć podziału naszej pamięci masowej na wiele fizycznych macierzy jest dziś w większości nieaktualna i powinna być stosowana tylko w niestandardowych okolicznościach. Tylko w sytuacjach, gdy przeprowadzana jest staranna analiza potrzeb w zakresie pamięci masowej i dogłębna analiza, powinniśmy rozważać podział macierzy. Podział macierzy jest znacznie bardziej skłonny do wyrządzenia szkody niż pożytku. W razie wątpliwości unikaj podzielonych macierzy. Celem niniejszego przewodnika są ogólne reguły, które umożliwią każdemu specjaliście IT zbudowanie bezpiecznego i niezawodnego systemu pamięci masowej. Reguły nie obejmują i nie mogą obejmować każdego scenariusza, wyjątki zawsze istnieją. Ale chodzi tu o pokrycie zdecydowanej większości przypadków za pomocą sprawdzonych podejść zaprojektowanych z myślą o nowoczesnym sprzęcie, przypadkach użycia i potrzebach, przy jednoczesnym dbaniu o błądzenie po stronie bezpieczeństwa – gdy wybór jest mniej niż idealny, wciąż jest bezpieczny. Żaden z tych wyborów nie jest w ogóle lekkomyślny; w najgorszym razie są nadmiernie konserwatywne.
Pierwszym scenariuszem, który powinniśmy rozważyć, jest sytuacja, gdy Twoje dane nie mają znaczenia. Może to brzmieć jak dziwna rzecz do rozważenia, ale jest to bardzo ważny scenariusz. Jest wiele sytuacji, gdy dane zapisane na dysku są uważane za efemeryczne i nie wymagają ochrony. Jest to powszechne w przypadku danych, które można odtworzyć, takich jak przestrzeń robocza do renderowania, pośrednie przestrzenie obliczeniowe lub pamięci podręczne – sytuacje, w których wydawanie pieniędzy na ochronę danych jest marnotrawstwem i akceptowalne byłoby po prostu odtworzenie utraconych danych zamiast ich ochrony. Może to być przypadek, gdy przestój nie jest problemem, a dane są statyczne lub niemal statyczne, i zamiast wydawać na redukcję przestoju, martwimy się jedynie o ochronę danych poprzez mechanizmy kopii zapasowej, tak aby w przypadku awarii macierzy po prostu przywrócić ją w całości. W tych przypadkach oczywistym wyborem jest RAID 0. Jest bardzo szybki, bardzo prosty i zapewnia najbardziej opłacalną pojemność. Jedyną wadą RAID 0 jest to, że jest on delikatny i nie zapewnia żadnej ochrony przed utratą danych w przypadku awarii napędu ani nawet URE (nieodwracalny błąd odczytu – Unrecoverable Read Error, który spowodowałby uszkodzenie danych, tak samo jak w przypadku dysku biurkowego).
Należy zaznaczyć, że wyjątkiem od podejścia “Jedna Duża Macierz”, który byłby powszechny, są systemy używające RAID 0 dla danych. Istniałby bardzo dobry argument przemawiający za małą macierzą dyskową dedykowaną dla systemu operacyjnego i danych aplikacji, których ponowna instalacja w przypadku utraty macierzy byłaby uciążliwa, umieszczoną w konfiguracji RAID 1, a macierz danych RAID 0 byłaby oddzielona od niej. W ten sposób odtwarzanie mogłoby być bardzo szybkie, zamiast konieczności całkowitej przebudowy całego systemu od zera, zamiast zwykłego odtworzenia danych.
Zakładając, że wyeliminowaliśmy przypadki, w których dane nie wymagają ochrony, przyjmiemy dla wszystkich pozostałych przypadków, że dane są dość ważne i chcemy je chronić pewnym kosztem. Przyjmiemy, że ochrona danych w aktualnej postaci na żywym nośniku jest ważna, generalnie dlatego, że chcemy uniknąć przestojów lub chcemy zapewnić integralność danych, ponieważ dane na dysku nie są statyczne i awaria macierzy stanowiłaby jednocześnie utratę danych. Przy tym założeniu będziemy kontynuować.
Jeśli mamy macierz tylko z dwoma dyskami, odpowiedź jest bardzo prosta – wybieramy RAID 1. Nie ma innej opcji w tej wielkości, więc nie ma decyzji do podjęcia. Teoretycznie powinniśmy planować nasze macierze całościowo i nie po ustaleniu liczby napędów; liczba napędów i typ macierzy powinny być wybierane razem, a nie napędy kupowane, a potem użycie określane na podstawie tej arbitralnej liczby, ale obudowy na dwa napędy są tak powszechne, że warto wspomnieć o tym przypadku.
Podobnie, w przypadku macierzy czterodyskowej jedynym realnym wyborem do rozważenia jest RAID 10. Nie ma potrzeby dalszej oceny. Po prostu wybierz RAID 10 i kontynuuj.
Niezręcznym przypadkiem jest macierz trzydyskowa. Jest bardzo, bardzo rzadko, abyśmy byli ograniczeni do trzech napędów, ponieważ jedyną popularną obudową ograniczoną do trzech napędów był Apple Xserve, który od jakiegoś czasu nie jest już produkowany, więc konieczność podejmowania decyzji dla macierzy trzywrzecionowych powinna być wyjątkowo mało prawdopodobna. W przypadkach, gdy mamy trzy napędy, często najlepiej jest skonsultować się z ekspertem, ale najczęstszymi podejściami są dodanie czwartego napędu i wybranie RAID 10 lub, jeśli pojemność większa niż pojemność pojedynczego napędu nie jest potrzebna, umieszczenie wszystkich trzech napędów w potrójnym lustrzanym RAID 1.
We wszystkich pozostałych przypadkach mamy więc do czynienia z pięcioma do dwudziestu pięciu napędami. Ponieważ wyeliminowaliśmy sytuacje, w których miałby zastosowanie RAID 0 i RAID 1, pozostają nam wszystkie typowe scenariusze sprowadzające się do RAID 6 i RAID 10, które stanowią zdecydowaną większość przypadków. Wybór między RAID 6 a RAID 10 staje się największym wyzwaniem, z jakim będziemy się mierzyć, ponieważ musimy patrzeć wyłącznie na nasze “miękkie” potrzeby w zakresie niezawodności, wydajności i pojemności.
Wybór między RAID 6 a RAID 10 nie powinien być niezwykle trudny. RAID 10 jest idealny do sytuacji, w których priorytetem są wydajność i bezpieczeństwo. RAID 10 ma znacznie szybszą wydajność zapisu i jest bezpieczny niezależnie od użytego rodzaju dysków (tanie dyski konsumenckie nadal mogą być ekstremalnie bezpieczne, nawet w dużych macierzach). RAID 10 dobrze skaluje się do bardzo dużych rozmiarów, znacznie większych niż powinno się implementować za pomocą reguł! RAID 10 jest najgłębszym spośród wszystkich wyborów, jest szybki i bezpieczny. Oczywistymi wadami są to, że RAID 10 ma mniejszą pojemność pamięci masowej z tych samych dysków i jest droższy w przeliczeniu na pojemność. Należy zaznaczyć, że RAID 10 może używać tylko parzystej liczby dysków; dyski są dodawane parami.
RAID 6 jest generalnie bezpieczny i szybki, ale nigdy tak bezpieczny lub szybki jak RAID 10. RAID 6 szczególnie cierpi na wydajność zapisu, więc jest bardzo słabo przystosowany do workloadów takich jak bazy danych i mocno mieszanych obciążeń, jak w dużych systemach wirtualizacji. RAID 6 jest opłacalny i skupia się przede wszystkim na dostępnej pojemności w porównaniu z RAID 10. Gdy budżety są napięte lub potrzeby pojemnościowe dominują nad wydajnością, RAID 6 jest idealnym wyborem. Rzadko różnica w bezpieczeństwie między RAID 10 a RAID 6 jest powodem do obaw, z wyjątkiem bardzo dużych systemów z dyskami klasy konsumenckiej. RAID 6 jest narażony na dodatkowe ryzyko z dyskami klasy konsumenckiej, które nie dotyczy RAID 10, co może budzić pewne obawy co do niezawodności w większych systemach RAID 6, takich jak powyżej około 40 TB przy użyciu dysków konsumenckich.
W segmencie małych firm, szczególnie, większość systemów będzie używać RAID 10, po prostu dlatego, że macierze rzadko muszą być większe niż cztery napędy. Gdy macierze są większe, RAID 6 jest bardziej powszechnym wyborem ze względu na dość napięte budżety i generalnie niskie obawy o wydajność. Zarówno RAID 6, jak i RAID 10 są bezpiecznymi i skutecznymi rozwiązaniami w niemal wszystkich scenariuszach użytkowania, przy czym RAID 10 dominuje, gdy wydajność lub ekstremalna niezawodność są kluczowe, a RAID 6 dominuje, gdy kluczowe są koszt i pojemność. I oczywiście, gdy potrzeby w zakresie pamięci masowej są wysoce wyjątkowe lub bardzo duże, na przykład powyżej dwudziestu pięciu wrzecion w macierzy, pamiętaj, by skorzystać z usług konsultanta ds. pamięci masowej, ponieważ scenariusz może się łatwo stać bardzo złożony. Pamięć masowa to jedno z tych miejsc, gdzie opłaca się być szczególnie skrupulatnym, ponieważ tak wiele rzeczy od niej zależy, błędy tak łatwo popełnić, a elastyczność wprowadzania zmian po fakcie jest tak mała.
