highavail

Linux-HA (High-Availability Linux) to założony w 1999r. opensource’owy projekt dostarczający rozwiązania wysokiej dostępności dla systemów operacyjnych rodziny Linux. W stosowanej przez nas dystrybucji Ubuntu w standardowym repozytorium występuje w pakiecie pod nazwą Heartbeat.

Rozwiązanie składa się z kilku modułów są to min.: Heartbeat odpowiadający za warstwę komunikacji, Stonith (zwany obecnie Cluster Glue) – odpowiedzialny za fencing, czyli odcięcie fizyczne nieprawidłowo działającego noda oraz Pacemaker zarządzający zasobami clustra.

W wykonanym przez nas wdrożeniu dodatkowo zastosowaliśmy rozwiązanie DRBD (ang. Distrubuted Replicated Block Device) zapewniające przestrzeń dyskową rozproszoną pomiędzy hardwarenodami clustra.

Ostatecznie rozwiązanie składa się z clustra złożonego z 2 serwerów fizycznych. Pomiędzy nimi uruchomiony jest serwis DRBD, który replikuje dane na dyskach obu serwerów. Nad działaniem poszczególnych usług – serwera www, konfiguracji adresu IP na którym działają usługi, czy serwera bazy danych czuwa Pacemaker. W wypadku awarii którejś z usług w pierwszej kolejności następuje próba automatycznego przywrócenia jej do działania na preferowanym nodzie, dopiero gdy to się nie uda wszystkie usługi uruchamiane są na kolejnym działającym serwerze.

Linux-HA cluster sprawia że nawet w wypadku fizycznego odłączenia/uszkodzenia jednego z serwerów, usługi które świadczy cluster nadal są dostępne i zachowana jest spójność danych. Wykrywanie awarii i przenoszenie usług na działający serwer odbywa się w pełni automatycznie. Czas niedostępności usług potrzebny na wykrycie awarii i przeniesienie usług na działającego hardwarenoda w tym wypadku wyniósł jedynie kilkanaście sekund.

Oczywiście rozwiązania wysokiej dostępności można stosować nie tylko dla usług WWW ale także dla poczty, serwerów dns, czy innych. Dzięki Linux-HA możliwe jest stworzenie profesjonalnego w pełni funkcjonalnego rozwiązania wysokiej dostępności przy użyciu znacznie niższych środków finansowych niż w wypadku rozwiązań w pełni komercyjnych.

opracował: Adam Karendys