Tematyka odporności na awarie w systemach przechowywania danych zawsze jest aktualna, ponieważ w erze powszechnej wirtualizacji i konsolidacji zasobów, macierz dyskowa (SŁD) jest tym ogniwem, którego awaria doprowadzi nie tylko do zwykłej awarii, lecz także do długotrwałych przestojów usług. Dlatego nowoczesne SŁD posiadają wiele zduplikowanych komponentów (w tym kontrolerów). Czy jednak taka ochrona jest wystarczająca?

Absolutnie wszyscy dostawcy, wymieniając cechy SŁD, z pewnością wspominają o wysokiej odporności na awarie swoich rozwiązań, koniecznie dodając termin "bez jednego punktu awarii". Przyjrzyjmy się bliżej typowemu systemowi przechowywania danych. Aby wyeliminować przestoje w serwisie, w SŁD duplikowane są zasilacze, moduły chłodzenia, porty wejścia/wyjścia, nośniki (myśląc o RAID) oraz oczywiście kontrolery. Jeśli dokładnie przyjrzeć się tej architekturze, można zauważyć przynajmniej dwa potencjalne punkty awarii, o których skromnie się milczy:
- Obecność jednego backplanu
- Obecność jednej kopii danych
Backplan to technicznie skomplikowane urządzenie, które musi być poddawane szczegółowym testom podczas produkcji. Dlatego niezwykle rzadko zdarzają się przypadki, gdy ulega ono całkowitej awarii. Jednak nawet w przypadku częściowych usterek, takich jak niedziałający slot dysku, konieczna będzie jego wymiana z całkowitym wyłączeniem SŁD.
Tworzenie wielu kopii danych na pierwszy rzut oka również nie wydaje się problemem. Na przykład funkcjonalność Clone w SŁD, pozwalająca na regularne aktualizowanie pełnej kopii danych, jest dość powszechnie rozpowszechniona. Jednak w przypadku problemów z tym samym backplanem, kopia będzie równie niedostępna jak oryginał.
Oczywistym rozwiązaniem na pokonanie tych niedogodności jest replikacja na inny system przechowywania danych. Jeśli pominąć przewidywalne podwojenie kosztów 'sprzętu' (zakładamy, że osoby wybierające to rozwiązanie są świadome i przyjmują ten fakt z góry), pozostaną jeszcze możliwe wydatki na organizację replikacji w postaci licencji, dodatkowego oprogramowania i sprzętu. A co najważniejsze, trzeba będzie w jakiś sposób zapewnić spójność replikowanych danych. To znaczy, że należy stworzyć wirtualizator systemów przechowywania danych/vSAN/itp., co również wymaga nakładów finansowych i czasowych.
Tworząc własne systemy wysokiej dostępności, postawiliśmy sobie za cel pozbycie się wymienionych powyżej niedogodności. Tak pojawiła się interpretacja technologii Shared Nothing, co w luźnym tłumaczeniu oznacza 'bez użycia wspólnych urządzeń'.
Koncepcja architektura polega na użyciu dwóch niezależnych węzłów (kontrolerów), z których każdy ma swój zestaw danych. Pomiędzy węzłami odbywa się synchroniczna replikacja przez interfejs InfiniBand 56G, całkowicie przezroczysto dla oprogramowania działającego na systemie przechowywania. W rezultacie nie jest wymagane stosowanie wirtualizatorów systemów przechowywania, programowych agentów itd.
Fizycznie rozwiązanie dwuwęzłowe od AccelStor może być zrealizowane w dwóch modelach:
- — na bazie serwerów Twin w obudowie 2U, jeśli wymagana jest umiarkowana wydajność i pojemność do 22TB;
- — na bazie oddzielnych serwerów 2U, jeśli wymagana jest wysoka wydajność i duża pojemność (do 57TB).

Model H510 oparty na serwerze Twin

Model H710 oparty na oddzielnych serwerach
Wykorzystanie różnych form faktorów jest uzasadnione potrzebą w różnej liczbie SSD, aby osiągnąć wymagany wolumen i wydajność. Plus, platforma Twin jest tańsza i pozwala oferować bardziej przystępne cenowo rozwiązania, choć z pewnym warunkowym 'niedogodnym' aspektem w postaci jednego backplane. Wszystko inne, w tym zasady działania, w obu modelach jest całkowicie identyczne.
Zestaw danych w każdym węźle ma dwie grupy , plus 2 hot spare. Każda grupa jest w stanie wytrzymać awarię jednego SSD. Wszystkie nadchodzące zapytania zapisu są przetwarzane przez węzeł zgodnie z FlexiRemap przekształca blokowe łańcuchy o rozmiarze 4KB, które następnie są zapisywane na SSD w maksymalnie wygodnym dla nich trybie (zapisy sekwencyjne). Gospodarz otrzymuje potwierdzenie zapisu dopiero po fizycznym umiejscowieniu danych na SSD, czyli bez buforowania w RAM. W rezultacie osiągana jest imponująca wydajność do 600K IOPS przy zapisie i 1M+ IOPS przy odczycie (model H710).
Jak już wcześniej wspomniano, synchronizacja zestawów danych odbywa się w czasie rzeczywistym za pośrednictwem interfejsu InfiniBand 56G, który charakteryzuje się wysoką przepustowością i niskimi opóźnieniami. Aby maksymalnie efektywnie wykorzystać łącze podczas przesyłania małych pakietów. Ponieważ łącze jest jedno, do dodatkowej kontroli używa się dedykowanego łącza 1GbE. Przez nie przesyłane są jedynie heartbeat, dlatego wymagania dotyczące charakterystyk prędkości nie są sztywne.
W przypadku zwiększenia pojemności systemu (do 400+ TB) za pomocą są one również podłączane w parach, aby przestrzegać zasady 'bez pojedynczego punktu awarii'.
Dla dodatkowej ochrony danych (oprócz tego, że AccelStor ma już dwie kopie) używany jest specjalny algorytm działania w przypadku awarii jakiegokolwiek SSD. Jeśli SSD ulegnie awarii, węzeł zacznie odbudowę danych na jednym z nośników hot spare. Grupa FlexiRemap, znajdująca się w stanie degraded, przechodzi w tryb tylko do odczytu. Robi się to, aby wyeliminować interferencje między operacjami zapisu a odbudową na zapasowy dysk, co ostatecznie przyspiesza proces przywracania i skraca czas, kiedy system jest potencjalnie narażony na niebezpieczeństwo. Po zakończeniu odbudowy węzeł znów przechodzi w normalny tryb pracy zapisu-odczytu.

Oczywiście, tak jak w innych systemach, podczas odbudowy całkowita wydajność spada (gdyż na zapis nie pracuje jedna z grup FlexiRemap). Jednak sam proces przywracania przebiega maksymalnie szybko, co korzystnie odróżnia systemy AccelStor od rozwiązań innych dostawców.
Kolejną przydatną cechą technologii Nothing Shared w architekturze jest praca węzłów w tzw. trybie true active-active. W przeciwieństwie do 'klasycznej' architektury, w której konkretny wolumin/pul posiada tylko jeden kontroler, a drugi po prostu wykonuje operacje wejścia/wyjścia, w systemach Każdy węzeł działa na swoim zestawie danych i nie przekazuje zapytań do "sąsiada". W rezultacie ogólna wydajność systemu wzrasta dzięki równoległemu przetwarzaniu zapytań I/O przez węzły oraz dostępowi do pamięci masowej. Również praktycznie nie występuje coś takiego jak failover, ponieważ przekazywanie kontroli nad wolumenami do innego węzła w przypadku awarii po prostu nie jest potrzebne.
Porównując technologię Nothing Shared architektury z pełnym klonowaniem systemów składowania danych, na pierwszy rzut oka wydaje się, że ustępuje pełnej realizacji disaster recovery pod względem elastyczności. Dotyczy to w szczególności organizacji linii komunikacyjnej między systemami składowania. Tak więc, w modelu H710 można oddalić węzły na odległość do 100 m dzięki zastosowaniu dość drogich aktywnych kabli optycznych InfiniBand. Jednak nawet w porównaniu z typową realizacją synchronizacji replikacji u innych dostawców przez dostępny FibreChannel na znacznie większe odległości, rozwiązanie od AccelStor okaże się tańsze i prostsze w instalacji/eksploatacji, ponieważ nie ma potrzeby instalowania wirtualizatorów systemów składowania lub/lub integrowania z oprogramowaniem (co nie zawsze jest możliwe). Dodatkowo, nie zapominamy, że rozwiązania AccelStor to macierze All Flash o wydajności wyższej niż w "klasycznych" systemach składowania SSD-only.

Przy zastosowaniu technologii Nothing Shared architektura od AccelStor rzeczywiście może osiągnąć dostępność systemu składowania na poziomie 99,9999% w całkiem rozsądnej cenie. Wraz z wysoką niezawodnością rozwiązania, w tym dzięki zastosowaniu dwóch kopii danych, oraz imponującą wydajnością dzięki autorskim algorytmom, , rozwiązania od są doskonałymi kandydatami na kluczowe pozycje przy budowie nowoczesnego centrum danych.
Źródło: habr.com
