Istnieje kilka sposobów na osiągnięcie HA (wysokiej dostępności) modułu równoważenia obciążenia - lub pod tym względem dowolnej usługi. Załóżmy, że masz dwie maszyny z adresami IP:
- 192.168.100.101
- 192.168.100.102
Użytkownicy łączą się z adresem IP, więc co chcesz zrobić, to oddzielić adres IP od konkretnego pola - np. Utworzyć wirtualny adres IP. Tym adresem IP będzie 192.168.100.100.
Teraz możesz wybrać usługę HA, która zajmie się automatycznym przełączaniem awaryjnym / zwrotnym adresu IP. Niektóre z najprostszych usług dla systemu Unix to (u) karp i utrzymywanie aktywności, niektóre z bardziej złożonych to na przykład RedHat Cluster Suite lub Pacemaker.
Weźmy na przykład keepalived - dwie usługi keepalived - każda działająca na swoim własnym urządzeniu - i komunikują się razem. Ta komunikacja jest często nazywana biciem serca.
| VIP | | |
| Box A | ------v^-----------v^---- | Box B |
| IP1 | | IP2 |
Jeśli jeden z utrzymywanych aktywności przestanie odpowiadać (usługa z jakiegoś powodu przestanie działać, albo skrzynka podskoczy albo się wyłączy) - utrzymywana przy innej skrzynce wykryje brakujące bicie serca i założy, że inny węzeł nie żyje, i podejmie działania przełączania awaryjnego. W naszym przypadku to działanie przyniesie zmienne IP.
| VIP |
------------------ -------------- | Box B |
| IP2 |
Najgorszym przypadkiem, który może się zdarzyć w tym przypadku, jest utrata sesji dla klientów, ale będą oni mogli połączyć się ponownie. Jeśli chcesz tego uniknąć, dwa moduły równoważące obciążenie muszą być w stanie zsynchronizować dane sesji między nimi, a jeśli mogą to zrobić, użytkownicy nie zauważą niczego oprócz zepsutego krótkiego opóźnienia.
Kolejną pułapką tej konfiguracji jest podzielony mózg - gdy oba urządzenia są w trybie online, ale połączenie jest zerwane, a oba urządzenia przynoszą ten sam adres IP. Często rozwiązuje się to za pomocą pewnego rodzaju mechanizmu ogrodzeniowego (rezerwacja SCSI, restart IPMI, inteligentne odcięcie zasilania PDU, ...) lub nieparzysta liczba węzłów wymagających większości członków klastra, aby usługa mogła zostać uruchomiona.
| VIP | | VIP |
| Box A | | Box B |
| IP1 | | IP2 |
Bardziej złożone oprogramowanie do zarządzania klastrami (takie jak Pacemaker) może przenosić całą usługę (np .: zatrzymać ją na jednym węźle i uruchomić na innym) - w ten sposób można uzyskać HA dla usług takich jak bazy danych.
Innym możliwym sposobem - jeśli kontrolujesz routery w pobliżu modułów równoważenia obciążenia, jest użycie ECMP. Takie podejście umożliwia także skalowanie w poziomie równoważenia obciążenia. Działa to w przypadku każdego z dwóch urządzeń komunikujących BGP z routerami. Każde urządzenie musi reklamować wirtualny adres IP (192.168.100.100), a router ładuje ruch równoważący za pośrednictwem ECMP. Jeśli maszyna umrze, przestanie reklamować VIP, co z kolei powstrzyma routery od wysyłania do niej ruchu. Jedyną rzeczą, o którą musisz zadbać w tej konfiguracji, jest zaprzestanie reklamowania IP, jeśli sam moduł równoważenia obciążenia umrze.