dobre rozwiązania przełączania awaryjnego / wysokiej dostępności dla systemu Linux? [Zamknięte]

9

Mam kilka przypadków, w których potrzebuję migracji aplikacji z jednego serwera na inny w przypadku awarii (zawieszenie lub awaria serwera).

W solaris robimy to za pomocą VCS (Veritas Cluster Server). Jakie opcje są dostępne dla systemu Linux?

Proszę wskazać poziom nakładów na konfigurację / utrzymanie lub koszt (jeśli w ogóle) dla każdego.

- Dodano więcej szczegółów -

Aby dać wyobrażenie o poziomie złożoności:

  • serwer, który się nie powiedzie, może zawiesić się lub zawiesić bez uprzedzenia, może być nadal „pingowany”
  • serwer odzyskiwania musi uruchomić swoje aplikacje po przełączeniu awaryjnym
  • po awarii serwera / cykli zasilania staje się pasywny, aby nie przeszkadzać serwerowi odzyskiwania.

Jest to węzeł gromadzący dane lub obliczeniowy, a nie baza danych, więc prostsze rozwiązania mogą działać.

- jeszcze więcej szczegółów (przepraszam) -

pamięć współdzielona nie jest opcją, ale stan (jeśli w ogóle) nie wymaga migracji z jednego serwera na drugi. Utrzymujemy synchronizację dwóch serwerów poprzez rsync.

Dziękuję bardzo za wszystkie dotychczasowe posty.

ericslaw
źródło

Odpowiedzi:

10

http://linux-ha.org/ dla wszystkich twoich potrzeb wysokiej dostępności. Jak mówi piosenka, najlepsze rzeczy w życiu są bezpłatne.

womble
źródło
czy możesz polecić dobrą książkę?
slf
4

Użyłem różnych rozwiązań klastrowych w systemie Linux. Jestem również zwolennikiem zarządzania konfiguracją, więc dodam trochę o tym w moich opisach (to znaczy szef kuchni lub marionetka)

Veritas Cluster Server (VCS). Minęło trochę czasu, ale wdrożyliśmy kilka klastrów Linux VCS na RHEL 3.0. Mam nadzieję, że będzie dostępny na RHEL 5.0. Powinieneś być zaznajomiony z trudnościami w konfiguracji tego, jako jego znanego terytorium. Jak być może wiesz, VCS jest drogi. Anegdotycznie VCS nie nadaje się do konfiguracji przez zarządzanie konfiguracją.

Mówiąc o RHEL, Red Hat Cluster Suite bardzo dojrzał od czasu wydania RHEL 2.1. Faza instalacji / konfiguracji jest dość prosta, a dokumentacja jest bardzo kompletna i pomocna, podobnie jak VCS, możesz kupić wsparcie od dostawcy. W przypadku komercyjnych produktów HA RHCS ma rozsądną cenę. Używałbym tylko zarządzania konfiguracją do instalowania pakietów i utrzymywania ich „ręcznie” przez interfejs sieciowy. Słyszałem też o niektórych ludziach używających go na platformach innych niż Red Hat, chociaż nie mam z tym bezpośredniego doświadczenia.

Linux-HA (drbd / heartbeat) jest również świetny, chociaż pochodzący z VCS konfiguracja może wydawać się uproszczona, ale niewygodna. Jest to dość łatwe do zautomatyzowania za pomocą narzędzia do zarządzania konfiguracją.

Jako dowód koncepcji zainstalowałem klaster Linux z HACMP IBM - ich oprogramowaniem do klastrowania AIX. Nie poleciłbym tego, ponieważ pamiętam, że jest droższy niż nawet VCS. IBM ma określone procedury instalowania i utrzymywania HACMP, nie użyłbym tutaj zarządzania konfiguracją.

jtimberman
źródło
4

Michael ma rację, że społeczność jest teraz trochę podzielona, ​​a dokumentacja jest trochę rzadka.

Właściwie to wszystko tam jest, po prostu niemożliwe do zrozumienia. To, czego naprawdę chcesz, to ebook „Pacemaker Configuration Explained” ... ( Link do pliku PDF ). Będziesz chciał przeczytać go kilkanaście razy, a następnie spróbuj go zaimplementować, a następnie przeczytaj jeszcze kilkanaście razy, abyś mógł go dosięgnąć.

Najlepszą obsługiwaną implementacją usług klastrowych dla systemu Linux będzie prawdopodobnie SLES11 firmy Novell i jej rozszerzenie wysokiej dostępności (HAE). Po prostu ukazał się miesiąc lub dwa lata temu i jest wyposażony w ładny, gruby 200-stronicowy podręcznik, który opisuje, jak go skonfigurować i uruchomić. Novell doskonale radził sobie również z obsługą konfiguracji rozruszników serca w różnych formach.

Poza tym istnieje implementacja RHEL5, która ma ten sam pakiet i przyzwoitą dokumentację, ale myślę, że jest droższa niż SLES. Przynajmniej jest dla nas.

Unikałbym teraz Heartbeat i wybrałbym Pacekmaker / OpenAIS, ponieważ będą oni lepiej wspierani w przyszłości. JEDNAK obecny stan społeczności jest taki, że jest kilku ekspertów, jest kilku ludzi, którzy prowadzą ją w produkcji, i jest mnóstwo ludzi, którzy są całkowicie nieświadomi. Dołącz do listy mailowej Pacemaker i zwróć uwagę na mężczyznę o imieniu Andrew Beekhof.

Edytuj, aby podać żądane szczegóły:

Pacemaker / OpenAIS używa operacji „monitorowania” na „prymitywnym zasobie” (np. Serwer nfs), aby śledzić, co robi ten zasób. Jeśli przykładowy serwer NFS przestanie odpowiadać na pozostałą część klastra przez X sekund, klaster wykona operację STONITH (Shoot the Other Node In The Head), aby zamknąć główny węzeł, awansując drugi węzeł do aktywnego. W konfiguracji decydujesz, co ma być później wywoływane i związane z tym działania. Szczegóły implementacji stamtąd zależą od usługi, którą próbujesz przełączyć w tryb failover, okien wykonania dla niektórych operacji (takich jak promowanie węzła podstawowego z powrotem do master) i wszystko jest w jak największym stopniu konfigurowalne.

Karl Katzke
źródło
1

Społeczność Linux HA jest obecnie nieco podzielona na partycje.

Narzędzia znane wcześniej jako Linux HA to obecnie Pacemaker i OpenAIS , najczęściej są one uruchamiane w połączeniu z DRBD, gdy potrzebna jest architektura współdzielenia niczego.

Proponuję zdobyć dobrą książkę na ten temat przed zanurzeniem się, ponieważ jest to dość obszerny obszar, a stan projektów niekoniecznie jest tak przyjazny dla użytkownika, jak niektóre rozwiązania dostawców.

Istnieją również rozwiązania dla Linuksa oferowane przez niektórych dostawców oprogramowania klastrowego, ale nie mogę ci wiele powiedzieć na ich temat, ponieważ sam nigdy z nich nie korzystałem.

Michael Renner
źródło
1
Czy możesz zasugerować dobrą książkę lub dwie na ten temat?
Matt Simmons,
1

W Linuksie zaimplementowaliśmy klastrowanie za pomocą pulsu i drbd. Bicie serca sprawdza status serwera. DRBD służy do synchronizacji danych między serwerami. Mamy usługę Oracle na jednym serwerze i apache na innym serwerze. Gdy serwer z uruchomionym serwerem Oracle nie działa, puls wyczuwa to samo i przywraca usługę Oracle na serwerze z uruchomionym Apache. i odwrotnie. Korzystałem z tej konfiguracji do wielu innych celów i był niezawodny do tej pory.

Viky
źródło
1

Red Hat Cluster Suite zrobi to, co chcesz, dla niemal każdej możliwej aplikacji. W połączeniu z GFS i Cluster LVM możesz mieć solidną pamięć współdzieloną.

Konserwacja nie jest dużo trudniejsza niż utrzymanie poszczególnych skrzynek. Migracja aplikacji ułatwia w rzeczywistości łatanie poszczególnych pól.

RHCS jest wyposażony w interfejs WWW (Luci) i interfejs GTK (system-config-klaster), dzięki czemu konfiguracja i migracja są klikalne. Pozwoli Ci skonfigurować domeny przełączania awaryjnego dla aplikacji, zasad odzyskiwania, ogrodzeń, wszystko z jednej centralnej internetowej konsoli zarządzania.

Biorąc pod uwagę fakt, że RHCS ma naprawdę solidną opcję wsparcia, wybrałbym RHCS.

Nie jestem pewien, ile to by cię kosztowało, ale sądzę, że wynosi on kilka tysięcy dolarów.

wzzrd
źródło
1

UltraMonkey , częściowo zbudowany na platformie Linux-HA. Zawsze uważałem to za bardziej rozwiązanie równoważące obciążenie niż prawdziwy klaster, ale dobrze radzi sobie z przełączaniem awaryjnym.

gbjbaanb
źródło
Czy to jest wciąż aktualizowane? strona internetowa mówi:Copyright © 2000-2005, Horms Last Updated: Sat Mar 4 16:33:57 2006 +0900
NickW
0

Korzystamy z wirtualnego serwera Linux i zapewniamy utrzymanie naszej wysokiej dostępności. keepalived może albo wykonać VRRP na samych hostach (co, jak sądzę, zależy od śmierci drugiego serwera), albo możesz ustawić go na osobnym hoście w celu równoważenia obciążenia, który może sprawdzać dostępność usługi. Możliwe jest skonfigurowanie kontroli usług w pierwszej sytuacji, ale nie sprawdziłem. Druga sytuacja jest szczególnie dobra, jeśli oba serwery mogą być uruchomione w tym samym czasie, w przeciwnym razie można ręcznie przełączyć.

David Pashley
źródło
0

Napisałem oparty na oprogramowaniu moduł równoważenia obciążenia dla protokołu TCP, który nie wymaga osobnego komputera. Dzieli jeden adres IP, ogłaszając go na adresie łącza na poziomie multiemisji i negocjując między komputerami, aby uniknąć dwóch komputerów obsługujących to samo połączenie TCP.

Wadą jest to, że nie jest tak naprawdę gotowy do produkcji - ale jeśli chcesz go przetestować w sieci testowej, byłbym zadowolony.

Puszysta gromada jest tutaj

Niekoniecznie wykrywam sytuację „żywą, ale chorą”, ale wykonuję równoważenie obciążenia między serwerami członkowskimi (jeśli proces przestrzeni użytkownika umrze, pozostałe węzły zauważą i usuną uszkodzony węzeł)

MarkR
źródło
0

To nie jest darmowe, ale dla tych, którzy nie mają czasu ani wiedzy, aby zainstalować własne rozwiązanie HA w systemie Linux, odpowiedź znajduje się na stronie www.rapidscaleclusters.com. W ciągu kilku minut jesteś gotowy do pracy, łatwy w instalacji i uruchomieniu, jest także obsługiwany.

Vince Bryant
źródło
nie jestem pewien, dlaczego ktoś to oznaczył ... wygląda to na realne rozwiązanie (chociaż zawsze są techniczne problemy ... przynajmniej nie wygląda to na „usługę”, co było moim pierwszym wrażeniem).
ericslaw
0

Pracuję nad menedżerem klastra trybu failover typu open source napisanym w skrypcie powłoki. Jest w dobrej formie, nawet jeśli może zabraknąć integracji, której będziesz potrzebować. Sprawdź to i daj mi znać, jeśli brakuje jakiejś funkcji, którą chciałbyś zobaczyć i użyć: https://github.com/nackstein/back-to-work/

jeśli jesteś dobry w programowaniu powłoki (powłoka POSIX), możesz dołączyć do rozwoju projektu: D

Luigi
źródło