Wysoka dostępność. Przykłady rozwiązań, technologii i sprzętu.

Każdy administrator wie, że „pojedynczy punkt awarii” może być poważnym zagrożeniem dla ciągłości pracy systemów informatycznych firmy. Tym bardziej, gdy działalność przedsiębiorstwa opiera się na udostępnianiu danych klientom, każda niedostępność usług może okazać się katastrofalna w skutkach. Z pomocą i to skuteczną, przychodzą rozwiązania High Availability (HA) w postaci produktów sprzętowych oraz programowych.

Zapewnienie nieprzerwanej dostępności infrastruktury i usług to problem, który dotyczy każdej firmy, bez względu na jej wielkość czy poziom rozbudowania systemów informatycznych. W organizacjach, które swoją działalność opierają na usługach dostępu do danych i aplikacji, każdy przestój stanowi straty finansowe, nie wspominając o utracie zaufania klientów. Aby zapobiegać sytuacjom, gdy pojedyncza awaria serwera, urządzenia sieciowego lub aplikacji powoduje przestój, stosuje się zaawansowane rozwiązania, które mają nie dopuścić do wystąpienia awarii, a przede wszystkim zapewnić, że jeśli już się zdarzy, jej skutki będą nieodczuwalne dla użytkowników lub klientów, czyli ogólnie dla biznesu. Jest to szczególnie ważne w przypadku serwisów WWW, baz danych, poczty i dostępu zasobów plikowych.

Wdrożenia systemów High Availability nie należą do najłatwiejszych. Przede wszystkim trzeba zdefiniować newralgiczne punkty infrastruktury sprzętowej i aplikacyjnej, w których może występić awaria, a następnie wybrać optymalne rozwiązanie zapewniające nieprzerwaną dostępność usług. Projekty High Availability obejmują zwykle wiele płaszczyzn mających wpływ na poprawne działanie infrastruktury, w skład których wchodzą: rozwiązania klastrowe, balansowanie ruchu, dostęp sieciowy przy użyciu wielu ścieżek, odzyskiwanie danych po awarii oraz wirtualizacja.

Oprócz systemów HA, które mają zminimalizować skutki awarii, budowane są także systemy Fault Tolerance, całkowicie odporne na uszkodzenia. Są skonstruowane tak, że każdy wykorzystany element jest co najmniej zdublowany, wobec czego wymiana uszkodzonego elementu odbywa się bez przerwy w działaniu całego systemu.

Oprogramowanie HA – bazy danych

Dane przechowywane w bazach stanowią zwykle podstawę działania wielu aplikacji. Bez dostępu do nich usługi są bezużyteczne. Dlatego też producenci najpopularniejszych silników baz danych wyposażyli swoje produkty w mechanizmy zapewniające wysoką dostępność i minimalizujące skutki potencjalnych awarii.

Dla Microsoft SQL zaprojektowano kilka rozwiązań, które zapewniają wysoką dostępność zarówno poszczególnych baz danych, jak i całych instancji, np. klastrowanie SQL. Przy takiej konfiguracji ochronie podlegają wszystkie elementy serwera SQL, a nie tylko poszczególne bazy. Klastrowanie SQL opiera się w głównej mierze na funkcji dostępnej w samym systemie Windows Server, dlatego należy je skonfigurować na tym poziomie. SQL Clustering możliwy jest zarówno w wersji Standard, jak i Enterprise SQL serwera, z tą różnicą, że pierwsza z nich umożliwia jedynie konfigurację active-passive.

Konfiguracja Log shipping jest rozwiązaniem, które wykorzystuje funkcjonalność dziennika transakcji. Polega na cyklicznym wykonywaniu kopii dziennika i ich odtwarzaniu na zapasowym serwerze. Niestety, z uwagi na opóźnienia związane z wykonaniem tego typu backupu, kopiowaniem oraz odtwarzaniem na docelowym serwerze (lub wielu serwerach) nie ma możliwości utrzymania dokładnej, lustrzanej kopii bazy. Dodatkowo w przypadku awarii głównego serwera baz danych nie następuje automatyczne przełączenie na zapasową maszynę. Administrator musi wykonać to ręcznie lub we własnym zakresie stworzyć odpowiednie skrypty.

Mirroring, czyli mechanizm lustrzanej kopii baz, jest funkcją dość prostą w implementacji. Polega na synchronicznym transferze i odtwarzaniu transakcji między bazą podstawową i zapasową, co zapewnia, że dane po obu stronach zawsze są aktualne. Wyjątek stanowi ustawienie replikacji asynchronicznej. Konfiguracja mirroringu baz umożliwiała użycie dodatkowej instancji SQL w tzw. roli świadka (witness), który nadzorował dostępność głównej bazy. Do tej funkcji można użyć bezpłatnej edycji serwera SQL (Express).

Do elementów konfiguracji wysokiej dostępności Microsoft SQL Server należy również rozwiązanie AlwaysOn. Polega ono na utrzymywaniu grupy instancji, na których znajdują się repliki bazy. Takich replik może być maksymalnie osiem, z czego pierwsza (podstawowa) stanowi bazę produkcyjną, a do pozostałych (zapasowych) trafia kopia danych w postaci logu transakcyjnego. Przy wystąpieniu awarii przełączenie, w zależności od użytej konfiguracji, może nastąpić automatycznie lub zostać ręcznie uruchomione przez administratora.

Oracle również zaimplementowało w swoim produkcie bazodanowym funkcje zapewniające wysoki poziom dostępności. Architektura Oracle Real Application Clusters polega na utworzeniu klastra serwerów, które zapewniają wysoki poziom odporności na awarie oraz rozdzielenie obciążenia pomiędzy członków utworzonej konfiguracji. Dzięki RAC eliminowany jest pojedynczy punkt awarii, a baza danych oparta na klastrze pozostaje dostępna nawet w przypadku nagłej awarii sprzętowej. Dotyczy to również sytuacji, gdy właśnie przetwarzana jest transakcja. Zostaje ona po prostu przeniesiona na inny dostępny serwer i tam dokończona. Dodatkiem do konfiguracji RAC jest aplikacja Clusterware, która służy do monitorowania klastru i zarządzania nim, co znacznie przyspiesza i ułatwia wykrywanie awarii oraz likwidowanie ich skutków. Zaletą tego rozwiązania jest również elastyczność w wykorzystaniu różnego rodzaju pamięci masowych.

W Oracle RAC zastosowano architekturę „współdzielenia wszystkiego”, w której wszystkie serwery klastra korzystają wspólnie z całej pamięci masowej dostępnej dla bazy danych, bez względu na wykorzystywane protokoły udostępniania danych. Ochroną przed nadmiernym obciążeniem pojedynczego serwera baz danych Oracle oraz wykorzystaniem nieużywanych zasobów zajmuje się funkcja Oracle Active Data Guard. Zapewnia ona odpowiednią jakość usług dzięki przenoszeniu części operacji na zapasowe, synchronizowane bazy, które pracują w trybie odczytu, co w konsekwencji nie pozwala na zbyt duże obciążenie pojedynczej, głównej instancji. Rezerwowa baza danych Oracle Active Data Guard może również służyć do usuwania skutków awarii lub jako testowa baza, przy czym nie jest do tego wymagana żadna dodatkowa pamięć masowa ani serwery.

Oprogramowanie HA – systemy poczty elektronicznej

Wykorzystanie mechanizmów wysokiej dostępności w systemach obsługi poczty elektronicznej bardzo dobrze widać na przykładzie Microsoft Exchange Servera, gdzie użyte funkcje skutecznie pozwalają na utrzymanie ciągłości świadczonych usług.

O wysoką dostępność serwerów Mailbox, które przechowują bazy danych z pocztą użytkowników, dba funkcja Database Availability Groups. Stanowi ona grupę serwerów opartych na technologii klastra pracy awaryjnej. Ich konfigurację i dodawanie kolejnych nodów w prosty sposób wykonuje się z konsoli zarządzania Microsoft Exchange. Warto również nadmienić, że do poprawnego działania DAG nie wykorzystuje się wspólnej przestrzeni dyskowej. Każdy z serwerów objętych konfiguracją DAG przechowuje kopie bazy, która jest aktualizowana dzięki ciągłej replikacji logów transakcyjnych pomiędzy wszystkimi serwerami Data Availability Group. Usługa Microsoft Exchange Replication czeka, aż log transakcyjny aktywnej bazy zostanie zapisany i zamknięty. Dopiero wtedy następuje replikacja do wszystkich pasywnych kopii baz. Po sprawdzeniu poprawności logów usługa Information Store odtwarza je i wtedy następuje ostateczna synchronizacja pasywnych kopii baz.

Niezawodność dostępu dla klientów pocztowych oferuje rola Client Access Array, która polega na utworzeniu klastra serwerów Client Access (CAS), opierającego się również na wykorzystaniu usługi balansowania ruchu sieciowego. Rozwiązanie takie skutecznie eliminuje zagrożenie braku komunikacji, gdy nie ma połączenia z pojedynczym serwerem CAS.

Sprzęt HA – równoważenie obciążenia

Oprócz funkcji wysokiej dostępności w systemach operacyjnych lub aplikacjach na rynku dostępne są również urządzenia zapewniające utrzymanie wysokiej dostępności usług w infrastrukturze IT. Konfiguracje High Availability, analogicznie jak w przypadku systemów, występują też w postaci sprzętowych klastrów pracy awaryjnej lub urządzeń równoważących obciążenie.

Jednym z producentów sprzętowych rozwiązań jest firma Barracuda Networks z urządzeniem Barracuda Load Balancer ADC. Pozwala ono równoważyć obciążenie serwerów sprzętowych oraz maszyn wirtualnych obsługujących dowolną liczbę protokołów warstwy 4 oraz warstwy 7 (m.in. HTTP/S. SMTP, IMAP, FTP, DNS, TCP, UDP). Realizacja load balancingu może opierać się na sieciach IPv4, IPv6 lub mieszanych, gdzie istnieje konieczność translacji adresów.

Mimo że urządzenie w głównej mierze oferuje usługi równoważenia obciążenia i rozdzielania ruchu pomiędzy wiele serwerów aplikacyjnych, to dzięki funkcji inteligentnego monitoringu potrafi zachować wysoką dostępność usług objętych pracą urządzenia. Rozwiązanie na bieżąco monitoruje stan serwerów wchodzących w skład usługi, dzięki czemu wiadomo, które nody są w stanie przejąć usługę w przypadku wystąpienia awarii, a dodatkowo system Barracuda Load Balancer ADC automatycznie usuwa niedostępne serwery z puli zasobów, co sprawia, że ruch jest kierowany jedynie do dostępnych maszyn.

Barracuda Load Balancer ADC występuje w postaci rozwiązania sprzętowego lub jako maszyna wirtualna do wdrożenia we własnej chmurze obliczeniowej. Urządzenie dostępne jest w kilku wariantach mogących obsługiwać od 10 do nawet 500 serwerów fizycznych.

Nieprzerwany dostęp do internetu

W wielu przypadkach ważnym elementem funkcjonowania firmy jest nieprzerwany dostęp do internetu. Obecnie wielu dostawców urządzeń dostępowych, routerów i urządzeń UTM umożliwia korzystanie z kilku łączy do różnych dostawców. Może to być dostęp realizowany po sieci Ethernet, jak również z wykorzystaniem modemów GSM. Takie urządzenia ma w ofercie Cisco (np. seria urządzeń SonicWall TZ) i Fortinet (urządzenia Fortigate).

Konfiguracja dwóch łączy pozwala na utrzymanie redundancji połączenia internetowego. W razie awarii łącza od jednego dostawcy ruch kierowany jest na drugą bramę internetową. Zwykle przy dostępnych wielu łączach wspierane są dwie konfiguracje. Pierwsza to utrzymywanie drugiego łącza jako zapasowego, w którym ruch kierowany jest jedynie w przypadku awarii łącza podstawowego. Natomiast druga konfiguracja pozwala na zbalansowanie ruchu pomiędzy dwoma łączami. Wówczas urządzenie potrafi w odpowiedni sposób sterować połączeniem, tak aby zestawione sesje były kierowane zawsze właściwym łączem. Konfiguracja dwóch aktywnych łączy wykorzystywana jest również w przypadku, gdy istnieje potrzeba rozdzielenia konkretnego rodzaju ruchu (np. HTTP i SMTP) pomiędzy dwóch dostawców, żeby nie obciążać pojedynczego łącza. Wówczas jeśli nastąpi awaria, cały ruch zostanie przekierowany do sprawnego połączenia.

Obecnie wiele urządzeń wyposażonych jest w porty USB, które umożliwiają podłączenie modemów GSM zestawiających połączenie z internetem. Taki rodzaj konfiguracji potrafi zapewnić ciągłość dostępu do internetu, jednak należy go traktować jako pracę w trybie awarii, gdyż to połączenie jest mało wydajne i zapewnia jedynie podstawowe usługi.

Niezawodność pamięci masowych

Macierze dyskowe i serwery NAS umożliwiają zachowanie wysokiej dostępności dla funkcji przetwarzania danych na wielu płaszczyznach. W ich przypadku występuje zasada, że im „wyższy”, bardziej zaawansowany model, tym więcej rozwiązań zapewniających bezpieczeństwo poprawnej pracy. Podstawą ochrony i dostępu do plików jest utworzenie odpowiedniego poziomu RAID (co najmniej 1), jednak dla uzyskania większego bezpieczeństwa można skonfigurować choćby RAID 6, który pozwoli na awarię do dwóch dysków bez utraty danych.

Dodatkiem do stałego dostępu do pamięci masowej są nadmiarowe porty sieciowe. W przypadku serwerów NAS już w modelach z dolnej półki można spotkać sprzęt wyposażony w dwa interfejsy sieciowe, co w połączeniu z co najmniej dwoma przełącznikami pozwoli na uzyskanie niezależności od awarii jednego z nich.

Opisane opcje to za mało, aby móc mówić o profesjonalnym High Availability dla systemów pamięci masowych. Macierze Della czy EMC bądź rozbudowane modele serwerów NAS QNAP-a i Synology mają nadmiarowe zasilacze i często dwa kontrolery odpowiedzialne za konfigurację macierzy oraz udostępnianie danych. Kontrolery pracują zwykle w trybie active-passive i dopiero awaria podstawowego aktywuje pracę drugiego. Redundancja kontrolerów pozwala również na wykonywanie prac konserwacyjnych, takich jak aktualizacja oprogramowania, bez przerywania pracy produkcyjnej, co również ma duże znaczenie w utrzymaniu ciągłości pracy.

W rozbudowanych środowiskach przetwarzania danych możliwe jest zbudowanie konfiguracji opartych na wykorzystaniu dodatkowych macierzy do synchronizacji danych. Wielu producentów macierzy w oprogramowaniu do ich obsługi implementuje funkcje wysokiej dostępności w postaci replikacji danych na dodatkowe pamięci masowe w tej samej lub zdalnej lokalizacji. Pozwala to na zachowanie dużej niezależności od pojedynczego sprzętu lub lokalizacji. W tańszych serwerach NAS w ramach funkcji HA znaleźć można funkcje synchronizacji danych z macierzy na usługi przestrzeni dyskowej w chmurze. Taka konfiguracja zwykle polega na kopiowaniu danych do zdalnego środowiska opartego na infrastrukturze producenta i udostępnieniu tych zasobów w przypadku awarii urządzenia wykorzystywanego lokalnie.

Wirtualizacja

W przypadku rozwiązań wirtualizacyjnych administratorzy mają do dyspozycji szereg funkcji umożliwiających zachowanie najwyższego poziomu dostępności usług. Co prawda, zbudowanie bezpiecznego środowiska chmury wiąże się również z rozwiązaniami, o których pisaliśmy wcześniej (klastrowanie, HA pamięci masowych), to oprogramowanie do wirtualizacji pozwala na integrację tych rozwiązań z dodatkiem własnych funkcji. Bez względu, czy jest to Hyper-V Microsoftu, VMware VSphere czy inny wirtualizator, wszędzie możemy znaleźć szeroki wachlarz funkcji tworzących bezpieczne, wysoko dostępne środowisko. Różnić je może jedynie cena zakupu oraz sposób implementacji w danym środowisku.

Microsoft ze swoim Hyper-V pozwala na bezpłatne zbudowanie klastra pracy awaryjnej i obsługę migracji włączonych maszyn wirtualnych (Live migration) pomiędzy hostami. Podobnie, chociaż drożej, jest z VMware. Hosty wdrożone na VMware ESXi pozwalają zbudować bezpieczny klaster oparty na dostępie do wspólnej przestrzeni dyskowej. W przypadku obu producentów wirtualizacji stworzenie klastrów pozwala na uzyskanie niezależności od sprzętu. Przy konieczności wyłączenia lub konserwacji hosta wirtualne maszyny migrowane są (bez wyłączania) na inne fizyczne serwery, co pozwala uniknąć przestojów.

Wirtualizacja daje administratorom dużą elastyczność w tworzeniu konfiguracji nadmiarowych, które pozwalają utrzymać ciągłość działania serwerów i usług. Wirtualne sieci oparte na wielu fizycznych portach eliminują awarię pojedynczej karty, zaś dzięki klastrom praca wirtualnej maszyny nie jest uzależniona od pojedynczego urządzenia fizycznego. Natomiast mechanizmy balansowania obciążenia (DRS w przypadku VMware) sprawiają, że wirtualizator automatycznie dba o utrzymanie odpowiedniego poziomu wolnych zasobów, aby nie zostały zbyt wcześnie wyczerpane.

W przypadku wystąpienia awarii hosta funkcje HA uruchamiają proces migracji maszyn wirtualnych na hosty, które pracują prawidłowo. Niestety, gdy nastąpi nagła awaria, nie da się uniknąć wyłączenia maszyny wirtualnej. Migrację maszyn „na żywo” można wykonać w przypadku, gdy host i maszyna wirtualna są uruchomione.

Jak dotąd wirtualizacja pozwala na uzyskanie największej niezależności od sprzętu, a dostępne na rynku dodatkowe oprogramowanie (np. Veeam Backup & Replication) w większym stopniu potrafi zadbać o utrzymanie ciągłości działania usług opartych na wirtualizacji.

Podsumowanie

Porównując dostępne na rynku rozwiązania zapewniające wysoką dostępność, można dojść do wniosku, że to wirtualizacja dostarcza najwięcej mechanizmów HA. Ważne jest bezpieczeństwo w każdym obszarze. Zawieść może wirtualizacja, jeśli awarii ulegnie sprzęt sieciowy lub macierz. Dlatego planując środowisko z funkcjami wysokiej dostępności, należy rozpatrzyć i zaprojektować je kompleksowo. Z pewnością nie jest tanie, ale przynosi korzyści w postaci zadowolonych pracowników i klientów, natomiast administratorom zapewnia spokojny sen.


TOP 200