Systemy wysokiej dostępności, a wykorzystanie wirtualizacji

0

High Availability (HA), czyli wysoka dostępność, to pojęcie, które robi zawrotną karierę w systemach serwerowych. W tradycyjnym, fizycznym środowisku zapewnienie stałego dostępu do danych i aplikacji wymaga poważnych inwestycji i tworzenia skomplikowanej infrastruktury. Wirtualizacja umożliwia stosunkowo łatwe wdrożenie HA bez potrzeby budowania niezwykle kosztownej infrastruktury.

Problemy z utratą czy brakiem dostępu do danych dotyczą każdej firmy i, niezależnie od jej wielkości, są zawsze dotkliwe. Nawet jeśli utrata danych sensu stricte nie wystąpi, to każda awaria, powodująca problemy z dostępnością do przechowywanych danych, jest sporym problemem. W przypadku biznesu wymagającego stałego dostępu do danych, także problemem finansowym. Każdy przestój oznacza straty, nie tylko te, które dają widoczne skutki w formie przerwania działalności biznesu, ale także te niemierzalne w prosty sposób, jak np. spadek zaufania klientów.

Aby zapobiegać takim sytuacjom, stosuje się rozwiązania, które w założeniu mają nie dopuścić do wystąpienia awarii, a jeśli już awaria się zdarzy, mają spowodować, że jej skutki będą nieodczuwalne dla prowadzonego biznesu. Jest to szczególnie ważne w przypadku systemów przechowujących dane związane z bieżącą działalnością firmy, jak serwery baz danych, poczty, WWW i plików. Ogół rozwiązań mających zapewnić stały dostęp do danych nazywany jest wysoką dostępnością, a częstem skrótem HA od angielskiego High Availabilit”. Rozwinięciem HA są systemy Fault Tolerant (FT), które są całkowicie odporne na wystąpienie awarii.

Różne metody zapewnienie niezawodności

W tradycyjnej infrastrukturze od lat są dostępne dwa rodzaje rozwiązań wysokiej dostępności. Pierwszy z nich to klastry, czyli systemy połączonych ze sobą serwerów. Głównym zadaniem klastra jest zwiększenie wydajności przetwarzania danych, ale doskonale sprawdza się też jako system dublujących się wzajemnie komputerów tworzony w celu podniesienia bezpieczeństwa danych systemu i jego poziomu niezawodności.

W razie awarii jednego z serwerów jego zadania są natychmiast przejmowane przez pozostałe. Przykładem klastrów jest większość superkomputerów oraz wielkich centrów przetwarzania danych (lotniska, telekomunikacja, banki). Rozwiązanie to zastosowano, np. w Ceramice Paradyż, w której wdrażano system Elektronicznego Obiegu Dokumentów (500 użytkowników, 150 jednoczesnych sesji terminalowych). System HA wykorzystuje dwie serwerownie oddalone od siebie o 1,5 km. Klaster bezpieczeństwa przełącza aplikacje w przypadku wykrycia odchyleń normalnego działania sprzętu, aplikacji lub bazy danych.

Wadą rozbudowanych klastrów są bardzo wysokie koszty wdrożenia i skomplikowane zarządzanie. Dlatego obecnie stosowane są coraz rzadziej, właściwie tylko w przypadku systemów, gdzie jest to krytycznie niezbędne.

Rys. Klaster to świetne, ale bardzo drogie i zajmujące mnóstwo miejsca rozwiązanie

Druga możliwość to mirroring, działający na zasadzie zapisu tych samych informacji na dwóch przestrzeniach dyskowych jednocześnie. Mirroring umożliwia sprawny i stały dostęp do danych, dając wysoką dostępność baz danych bez konieczności korzystania z drogich klastrów komputerowych. W odróżnieniu od klastrów, mirroring zabezpiecza dane także przed ich utratą.

Mirroring zapewnia wysoką dostępność baz danych a więc większe bezpieczeństwo, ale kosztem wydajności, szczególnie w trybie synchronicznym. Teoretycznie, bazy działającej w konfiguracji lustrzanej są bardziej bezpieczne niż w klastrze, dlatego stosuje się systemy mieszane, łączące obie technologie, a więc wydajność z bezpieczeństwem.

Budowane są także systemy Fault Tolerance (FT), które powinny być całkowicie odporne na uszkodzenia. Systemy FT są konstruowane tak, że każdy wykorzystany element jest co najmniej zdublowany i to w sposób umożliwiający wymianę uszkodzonych elementów w trakcie pracy, nieodczuwalnie dla jego użytkowników. Systemy HA i FT zostały sklasyfikowane przez Uptime Institute (UI) i wyszczególnione w odrębnych kategoriach. Najbardziej niezawodne systemy są dostępne przez 99,999 % czasu. Wydaje się, że dziesiątki procenta czasu awarii systemu to bardzo mało, ale w skali miesiąca nawet taki poziom braku dostępności znaczy wiele. Poniżej zestawienie dostępności i odpowiadający im czas niedostępności w ciągu miesiąca:

Dostępność w procentach Czas niedostępności w ciągu miesiąca
95 % godzin (2160 minut)
99 %  7 godzin (432 minuty)
99,5 % 3,5 godziny (216 minut)
99,9 % 43 minuty i 12 sekund
99,99 % 4 minuty i 19 sekund
99,999 %  25 sekund

Pół procenta przekłada się na 3,5 godziny w ciągu miesiąca. To niby niedużo, ale jeśli cały ten okres wypadnie jednego dnia, może mieć poważne konsekwencje.

Klasyfikacja Tier
Wybór sprzętu i oprogramowania ułatwia klasyfikacja opracowana przez Uptime Institute i znana pod skrótem Tier. Wskazuje ona, w jaki sposób kolejne poziomy zabezpieczeń wpływają na dostępność. Tabela zawiera cztery poziomy (warstwy) dostępności, od najniższego, oznaczonego jako Tier I do najwyższego – Tier IV.

Poziom pierwszy (Tier I) zapewnia dostępność 99,67 %, ale jest to obliczenie czysto teoretyczne. Jest nieodporny na błędy ludzkie, ma wiele możliwych punktów awarii, a niemożność równoczesnej konserwacji utrudnia prace przy wykorzystaniu maszyn wirtualnych.

Tier II zawiera już elementy nadmiarowe, ale, podobnie jak Tier I, ze względu na brak możliwości wykorzystania kanałów alternatywnych (nie zawiera ich), uniemożliwia konserwację w trakcie pracy. Liczba możliwych awarii jest tu wciąż wysoka.

Sensownym wyborem jest Tier III, zawierający tylko kilka możliwych punktów awarii, natomiast Tier IV, ze względu na zastosowanie dwóch równoległych systemów, gwarantuje niemal całkowitą niezawodność rozwiązania, które może przestać działać tylko w wypadku ciężkiego uszkodzenia sprzętu, np. pożaru. Z oczywistych względów, np. wielokrotnej nadmiarowości tego systemu, jest on najdroższy w budowie i ten właśnie koszt może okazać się główną barierą w jego stosowaniu.

Poziom dostępności Tier IV oszacowano na 99,995 % a więc całkowicie wystarczającą. Tier IV jest już, nie licząc możliwości wystąpienia bardzo poważnej awarii, np. wspomnianego pożaru, niemalże systemem typu Fault Tolerance. Dokładne dane zawiera tabela 1, przy okazji warto wspomnieć też o klasyfikacji systemów zasilania serwerowni wg. poziomu dostępności:

  • Tier I – pojedyncza linia dystrybuująca zasilanie bez nadmiarowych komponentów – 99,671 % dostępności.
  • Tier II – pojedyncza linia dystrybuująca zasilanie z nadmiarowymi komponentami – 99,741 % dostępności.
  • Tier III – wiele aktywnych instalacji zasilających, tylko jedna z nich ma elementy zapewniające redundancję oraz jest utrzymywana konkurencyjnie – 99,982 % dostępności.
  • Tier IV – wiele aktywnych instalacji zasilających, ma komponenty nadmiarowe i jest odporna na uszkodzenia, zapewnia 99,995 % dostępności.

Dobrą informacją jest, że obecnie, według informacji dostawców systemów zasilania gwarantowanego, osiągane są jeszcze wyższe poziomy dostępności, niż wymaga tego klasyfikacja Tier Przykładowo, APC w konfiguracjach zgodnych z Tier I osiąga dostępność 99,92 %, w przypadku Tier II – 99,93 %, a w konfiguracjach Tier IV – 99,99997 %.

Tabela. Poziomy dostępności opracowane przez Uptime Institute

Tier I Tier II Tier III Tier IV
Źródło System System System System + System
Liczba ścieżek dystrybucji 1 1 1 aktywana + 1 alternatywna (active passive) 2 jednocześnie aktywne (active active)
Nadmiarowość brak N+1 N+1 Minimalnie N + 1
Przedziałowość Nie Nie Tak Tak
Możliwość konserwacji bez przestojów Nie Nie Tak Tak
Odporność na awarie (pojedyncza awaria) Nie Nie Nie Tak
Pojedynczy punkt awarii Wiele + błędy ludzkie Wiele + błędy ludzkie Kilka + błędy ludzkie Brak + wyłączenie zasilania w przypadku awarii
lub pożaru
Dostępność 99.671 % 99.741 % 99.982 % 99.9995 %

Dla kogo ważne będą poszczególne poziomy dostępności? Wszystko zależy od tego, jak duża jest firm, która ma z nich korzystać i jakiej dostępności do danych potrzebuje.

Tier I – dla małych firm, w których technologia informatyczna jest wykorzystywana głównie w wewnętrznej działalności, które nie odczuwają finansowo skutków awarii centrum danych.

Tier II – dla małych firm, które działają w typowych godzin pracy i nie potrzebują dostępu online po ich zakończeniu oraz są chronione przed brakiem dostępności systemu na podstawie umów.

Tier III – dla firm, które działają całodobowo, lecz mogą pozwolić sobie na krótkotrwałe, planowane okresy ograniczonej funkcjonalności i godzą się na efekty zakłóceń spowodowanych przez zdarzenia nieplanowane. Firmy często decydują się na Tier III, mając w perspektywie rozbudowę do Tier IV w późniejszym okresie.

Tier IV – dla firm działających 24 godziny na dobę przez wszystkie dni w roku w sektorze dużej konkurencji, w których dostęp klientów i pracowników do aplikacji decyduje o konkurencyjności. Rozumieją koszty awarii pod względem finansowym i wpływu na pozycję rynkową, nie wahają się inwestować w najlepsze rozwiązania.

Nowa droga – wirtualizacja
By uniknąć kosztownych rozwiązań, wymyślono zupełnie rewolucyjne rozwiązanie. To trzecia droga, nie wykorzystująca rozwiązań tradycyjnych – wirtualizacja. Jest rozwiązaniem o wiele łatwiejszym do wdrożenia, i znacznie bardziej przystępnym kosztowo niż systemy tradycyjne. Dodatkową zaletą jest łatwość zarządzania, co niweluje obie wady infrastruktury tradycyjnej. Chcąc zapewnić wysoką dostępność, zastosowanie serwerów redundantnych i wielu kanałów przepływu danych jest zawsze wskazane, ale idea wirtualizacji jest nieco inna. W tym rozwiązaniu warstwa oprogramowania zostaje oddzielona od warstwy sprzętowej serwera. Cały system operacyjny uruchamiany jest na serwerze wirtualnym, któremu przydzielone zostają odpowiednie zasoby sprzętowe.

Co to daje? W ramach jednego serwera może pracować wiele serwerów wirtualnych, z których każdy realizuje przydzielone mu, niezależne od innych działania. Zarządzanie systemem jest oczywiście centralne. Zauważmy, że choć samych maszyn wirtualnych może być bardzo wiele, to fizycznie wciąż pracują tylko na jednym lub kilku serwerach. Jeśli wykorzystano wiele serwerów fizycznych, to w razie awarii jednego, mogą zostać błyskawicznie przeniesione na inny pracujący serwer (w istocie systemy skonstruowano tak, że nawet awaria dwóch trzecich serwerów, co się praktycznie nie zdarza, umożliwia dalszą pracę), a systemy backupu w locie pozwalają działać serwerom wirtualnym non-stop, bez odczuwalnej straty wydajności. Dzięki odpowiednim narzędziom, można przenosić serwery wirtualne z jednego serwera fizycznego na drugi bez ich wyłączania, co znakomicie ułatwia wszelkie prace administracyjne.

Rys. Tak działa HA w środowisku wirtualnym VMware. W przypadku wystąpienia awarii maszyny wirtualne są natychmiast przenoszone na inne, działające serwery

Tak wygląda HA w XenServerze. Jak widać, w obu przypadkach mechanizm działa identycznie

Założenia wirtualnych systemów High Availability
Wirtualna infrastruktura HA ma w założeniu umożliwić:

  • wyeliminowanie planowanych przestojów,
  • ograniczenie przestojów nieplanowanych,
  • szybkie odtwarzanie i uruchamianie systemów po awarii.

Statystyki wskazują, że ponad trzy czwarte przestojów systemów jest zaplanowanych przez ich administratora. Czy to z powodu konserwacji lub modernizacji sprzętu czy z konieczności aktualizacji lub zmiany oprogramowania, zawsze łączy się to z pewnym ryzykiem dla dostępności danych. Wirtualizacja likwiduje wiele problemów, zapewniając ciągłą, wysoką dostępność danych. Technologia umożliwia przeniesienia maszyn wirtualnych na inny serwer nawet w trakcie ich pracy. Możliwe jest przeprowadzenie wielu migracji na raz, jak też wykonanie ich w zaplanowanym wcześniej terminie. Zapobieganiu planowanym przestojom służą takie funkcje, jak VMware VMotion czy XenMotion. Dzięki tym funkcjom przerwa w pracy wirtualnej maszyny podczas jej migracji trwa bardzo krótko (do kilkudziesięciu milisekund). Sprawia to, iż użytkownicy raczej nie zauważą tego procesu – prawdopodobieństwo utraty sesji jest niewielkie.

Ograniczenie przestojów nieplanowanych to kolejna funkcja maszyny wirtualnej. Maszyny wirtualne mają tą zaletę, że można je łatwo uruchamiać na dowolnym z serwerów obsługujących wirtualne środowisko. Procedura restartu wirtualnej maszyny na nowym serwerze jest dużo szybsza i mniej skomplikowana niż restart całego serwera. Oprogramowanie używane do wirtualizacji ma często wbudowane odpowiednie funkcje przywracania po awarii, zapewniające wysoką dostępność. Przykładowo, VMware vSphere 4.0 oraz XenServer 5 mają wbudowaną funkcjonalność HA, która w przypadku awarii serwera błyskawicznie i w sposób całkowicie zautomatyzowany uruchamia pracujące na nim maszyny wirtualne na innym serwerze.

Ważna uwaga – praca maszyny wirtualnej obciąża serwer, na którym została uruchomiona. Jeśli zabraknie wolnych zasobów koniecznych do działania, maszyna może się w ogóle nie uruchomić! Dlatego należy o tym bezwzględnie pamiętać i rezerwować odpowiednie zasoby systemu. W celu automatyzacji tego procesu opracowano specjalne rozwiązania. Przykładowo, everRun VM dla użytkowników XenServera, opracowany przez firmę Marathon, rezerwuje obszar pamięci na wypadek awarii, co gwarantuje, że wirtualne maszyny zostaną ponownie uruchomione. Nowsze rozwiązanie, everRun VM Lockstep, całkowicie eliminuje przestój w przypadku wystąpienia awarii poprzez zastosowanie redundancji sprzętu. Każda z chronionych maszyn wirtualnych działa równocześnie na drugim serwerze. Gdy awarii ulegnie serwer główny, jego zadania automatycznie przejmuje serwer zapasowy. Lustrzane kopie wirtualnych maszyn, ulokowane na nim, przejmują w sposób niezauważalny zadania oryginału.

Rozwiązania wykorzystują także metodologię Continuous Data Protection (CDP), która automatycznie i w sposób ciągły zbiera (lub analizuje) modyfikacje danych i zapamiętuje je niezależnie od danych głównych. Wykorzystanie tej technologii umożliwia odzyskiwanie danych z dowolnego punktu w czasie w przeszłości. CDP może działać na blokach, zbiorach lub aplikacjach.

Rys. Obrazy maszyn wirtualnych można przechowywać na dyskach z backupem, co umożliwia szybkie przywrócenie po awarii lub gdy zajdzie potrzeba wycofania zmian

Oprogramowanie i wdrożenie
Na rynku wirtualizacji działa aktywnie kilku graczy. Najwięksi to VMware , Citrix i Microsoft. VMware oferuje platformę vSphere umożliwiającą zapewnienie wysokiej dostępności w obrębie całego zwirtualizowanego środowiska informatycznego bez kosztów i złożoności tradycyjnych rozwiązań klastrowych. VMware vSphere, oprócz dobrze już znanej funkcjonalności HA, będzie oferować również mechanism VMware Fault Tolerance, które jednak na razie jest w fazie powstawania. Zapewnia dostępność aplikacji w wirtualnych maszynach, niezależne od systemu operacyjnego i aplikacji, jakie w nim działają. VMware oferuje także bezpłatne rozwiązanie VMware ESXi, ale nie zawiera ono elementów wysokiej dostępności.

Citrix i jego XenServer to bardzo podobne oprogramowanie. XenServer jest oprogramowaniem bezpłatnym. Co ważne, również ma wbudowane HA, a można do niego zaimplementować dodatkowe rozwiązania HA, jak everRun VM firmy Maraton.

Microsoft Hyper-V kierowany jest do małych i średnich firm. Hyper-V jest bezpłatny, a nowe funkcjonalności, jak Live Migration (przenoszenie maszyn wirtualnych między serwerami w locie) i HA, będą dostępne bezpłatnie również w finalnej wersji tego oprogramowania w wersji R2. Wersja ta będzie miała również wbudowany mechanizm Cluster Shared Volumes (CSV), ułatwiający zarządzanie pamięcią masową i uruchamianie wielu maszyn wirtualnych.

Przed zakupem i wdrożeniem systemów warto zweryfikować swoje potrzeby tak, żeby dopasować najlepszy system do swych oczekiwań. Zakup poprzedzić analizą współczynników, a samo wdrożenie powierzyć fachowcom tak, żeby wykazać się odpowiednim współczynnikiem ROI. Rozwiązania High Availability i Fault Tolerance nie są sprawą prostą, a stawianie klastra należy już do bardzo skomplikowanych i kosztownych.

PODZIEL SIĘ

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ