| Termin | Definicja |
|---|---|
| failover | Failover to proces automatycznego przełączenia obsługi na zapasowy zasób w przypadku awarii głównego. Na czym polega failoverFailover oznacza automatyczne przełączenie obsługi z podstawowego zasobu na zasób zapasowy, gdy pierwszy przestaje działać poprawnie. Zasobem głównym może być serwer, łącze sieciowe, macierz dyskowa, kontroler, usługa aplikacyjna albo całe centrum przetwarzania danych. Celem mechanizmu jest ograniczenie przerwy w działaniu systemu i utrzymanie dostępu do funkcji, które są potrzebne użytkownikom lub innym systemom. Przełączenie nie następuje wyłącznie po całkowitym wyłączeniu urządzenia. Oprogramowanie nadzorujące może wykryć brak odpowiedzi na żądania, przekroczenie czasu oczekiwania, błędne odpowiedzi aplikacji, utratę połączenia z siecią albo niedostępność współdzielonych danych. Po potwierdzeniu awarii system zmienia sposób kierowania ruchu lub aktywuje wcześniej przygotowany komponent zapasowy. Failover jest więc procedurą obejmującą wykrywanie problemu, podjęcie decyzji, zmianę roli zasobów oraz przywrócenie obsługi. Jak system wykrywa awarię i podejmuje decyzjęPodstawą failoveru jest mechanizm monitorowania stanu. Może on wykonywać cykliczne testy, na przykład sprawdzać nawiązanie połączenia TCP, wysyłać żądanie HTTP do punktu kontrolnego albo odczytywać sygnały sprzętowe z kontrolera. Sam fakt, że serwer odpowiada na ping, nie potwierdza poprawnego działania aplikacji. Dlatego w poprawnie zaprojektowanym rozwiązaniu test kontrolny powinien sprawdzać funkcję istotną z punktu widzenia użytkownika, a nie tylko dostępność interfejsu sieciowego. Aby ograniczyć ryzyko przypadkowego przełączenia, stosuje się opóźnienia, kilka kolejnych nieudanych prób oraz okres stabilizacji po powrocie zasobu głównego. Ważne jest także rozróżnienie awarii całego węzła od zerwania pojedynczego połączenia między węzłami. Jeżeli oba elementy klastra utracą wzajemną komunikację, ale nadal działają, mogą uznać się nawzajem za niedostępne i jednocześnie przejąć rolę aktywną. Taką sytuację określa się jako split-brain. Zapobiega się jej między innymi przez quorum, mechanizmy arbitrażowe, fencing lub odłączanie niesprawnego węzła od współdzielonych zasobów. Tryby pracy oraz ograniczeniaW konfiguracji active-passive zasób główny obsługuje ruch, a zapasowy pozostaje w gotowości i przejmuje zadania po wykryciu problemu. Wariant active-active pozwala, aby kilka instancji obsługiwało ruch równocześnie; awaria jednej z nich powoduje skierowanie większej części żądań do pozostałych. Ten drugi model może lepiej wykorzystać dostępne zasoby, ale wymaga zgodnego przetwarzania sesji, poprawnej synchronizacji danych i mechanizmu rozdzielania ruchu. Failover nie gwarantuje automatycznie zachowania wszystkich operacji rozpoczętych przed awarią. Połączenia sieciowe mogą zostać zerwane, dane znajdujące się wyłącznie w pamięci mogą przepaść, a niezatwierdzona transakcja może wymagać ponowienia. Z tego powodu rozwiązanie powinno określać między innymi czas przełączenia, dopuszczalną utratę danych oraz sposób odtwarzania stanu. Replikacja synchroniczna ogranicza ryzyko różnicy między zasobem głównym i zapasowym, lecz wymaga stabilnej komunikacji i może zwiększać opóźnienia. Replikacja asynchroniczna zwykle zmniejsza narzut operacyjny, ale dopuszcza istnienie opóźnienia między kopiami. Diagnostyka i testowanie przełączeniaSkuteczność failoveru należy sprawdzać w kontrolowanych testach, a nie zakładać jej na podstawie samej obecności drugiego urządzenia lub instancji. Test może obejmować odłączenie interfejsu sieciowego, zatrzymanie usługi, przełączenie zasilania albo zablokowanie dostępu do zasobu, zależnie od środowiska i przyjętej procedury. Podczas próby mierzy się czas wykrycia awarii, czas przełączenia, dostępność aplikacji oraz kompletność danych. Trzeba również potwierdzić, że po usunięciu przyczyny system nie wykonuje niekontrolowanych przełączeń w obie strony. Diagnostyka powinna obejmować logi monitoringu, komunikaty klastra, informacje o stanie replikacji, tablice routingu, rekordy DNS lub konfigurację modułu równoważenia ruchu. Istotne są także alarmy o utracie synchronizacji, zmianie roli, błędach autoryzacji i wyczerpaniu zasobów. Jeżeli failover ma chronić komputer lub serwer przed skutkami awarii sprzętowej, sprawdza się stan dysków, pamięci, zasilania, kontrolerów oraz interfejsów sieciowych. Dopiero po połączeniu tych danych można rozstrzygnąć, czy problem dotyczył urządzenia głównego, mechanizmu wykrywania, komunikacji między węzłami, czy samej konfiguracji przełączenia. |