Czy istnieją inne alternatywy dla automatycznego przełączania awaryjnego w systemie Linux oprócz typowych kombinacji Heartbeat / Pacemaker / CoroSync? W szczególności konfiguruję przełączanie awaryjne dla instancji EC2, które obsługują tylko emisję pojedynczą - bez emisji grupowej lub emisji. W szczególności staram się obsłużyć kilka programów, które mamy, które nie mają jeszcze automatycznego przełączania awaryjnego i nie obsługują środowisk multi-master. Obejmuje to narzędzia takie jak HAProxy i Solr.
Mam Heartbeat + Pacemaker działający, ale nie jestem tym podekscytowany. Oto niektóre z moich problemów:
- Bicie serca - samo w sobie, ograniczone do dwóch węzłów. Chciałbym mieć 3+.
- Stymulator serca - Niemożliwa konfiguracja automatyczna. Klaster musi działać z kworum, a następnie nadal wymaga ręcznej konfiguracji.
- CoroSync - nie obsługuje emisji pojedynczej.
Stymulator serca działa bardzo dobrze, chociaż jego moc utrudnia konfigurację. Prawdziwy problem z Pacemaker polega na tym, że nie ma łatwego sposobu na zautomatyzowanie konfiguracji. Naprawdę chcę uruchomić instancję EC2, zainstalować Chef / Puppet i uruchomić cały klaster bez mojej interwencji.
Właściwie pracuję nad czymś bardzo podobnym do tego, co opisałeś (klaster pracy awaryjnej w EC2), a po wypróbowaniu Heartbeat zdecydowałem się na Corosync jako moją warstwę wiadomości. Corosync będzie działał na wielu serwerach i obsługuje Unicast (UDPU) od wersji 1.3.0 (od listopada 2010). Skonfigurowałem i przetestowałem Corosync na chmurze EC2 Amazon (używając Amazon AMI Linux) i mogę potwierdzić, że działa bez problemu.
Przykładowy plik udpu jest zainstalowany w / etc / corosync.
Dodaj jeden blok elementu do sekcji interfejsu dla każdego węzła i określ transport jako updu. (Użyłem tego samego portu co puls w poniższym przykładzie, ale możesz go zmienić zgodnie z potrzebami).
na przykład:
(Heartbeat ma obsługiwać klastry węzłów 3+ w wersjach 1.2.3+, chociaż nigdy nie próbowałem tego osobiście i nie wiem, czy będzie działać z Unicast).
źródło
Przepraszamy, ale część o Pacemaker nie jest prawdziwa. Testy regresji i zwolnienia stymulatora w szerokim zakresie wykorzystują automatyzację.
Aby skonfigurować bez aktywnego klastra, poprzedź wszystkie polecenia za pomocą
CIB_file=/var/lib/heartbeat/crm/cib.xml
lub ustaw je w swoim środowisku. Przed uruchomieniem klastra upewnij się, że usunąłeś plik .sig.Dla klastrów bez kworum, większość, jeśli nie wszystkie narzędzia powinny wspierać
-f
lub--force
który poinstruuje klaster, aby zaakceptować zmianę i tak. Jeśli znajdziesz narzędzie, którego nie ma - zgłoś błąd.źródło
W świecie open source istnieje pakiet RedHat Cluster Suite . Minęło kilka lat, odkąd wdrożyłem RHCS, więc nie mam dziś wiele istotnych rzeczy do powiedzenia na ten temat.
Na rynku dostępny jest Veritas Cluster Server . Bez doświadczenia.
Znacznie prostszym i otwartym narzędziem HA jest UCARP . UCARP nie zapewnia prawie tego samego rodzaju „infrastruktury”, co Heartbeat / Pacemaker / CoroSync, ale można wokół niego budować rozwiązania HA.
Można również budować wysoce dostępną infrastrukturę za pomocą technologii wirtualizacji, ale rozwiązania te koncentrują się na dostępności na poziomie hosta, a nie na poziomie aplikacji.
źródło
Istnieje Oracle Clusterware dla Oracle Unbreakable Linux, chociaż go nie używałem.
źródło
Jeśli już korzystasz z EC2, dlaczego nie zastosować Elastycznego równoważenia obciążenia ? Umożliwi to osiągnięcie dostępności na poziomie aplikacji bez konieczności samodzielnego konfigurowania przełączania awaryjnego.
źródło
Klaster Veritas jest świetny (w porównaniu do Linux-Heartbeat, AIX-hacmp, HP-Serviceguard i Sun klaster), ale kosztuje dużo pieniędzy. Ostatnim razem, gdy na niego spojrzałem, jego cena była oparta na rdzeniach procesora klastra. Obecny dostawca ist Symantec ...
źródło
Napisałem menedżera klastra pracy awaryjnej w powłoce posix: https://github.com/nackstein/back-to-work
spójrz na to, szukam kogoś, kto chce spróbować i pomóc w rozwoju.
źródło
opensvc ( https://www.opensvc.com ) obsługuje wiele sterowników pulsu:
a także mają mechanizmy kworum w przypadku podzielonego mózgu.
Udało mi się automatycznie skonfigurować klaster 4 węzłów złożony z 2 instancji Google Cloud + 2 instancji Amazon z terraformem + ansible.
źródło