Was ist der Unterschied zwischen Keepalived und Corosync, anderen?

7

Ich erstelle eine Failover-Firewall für einen Servercluster und habe mir die verschiedenen Optionen angesehen. Ich bin mit Karpfen auf freebsd besser vertraut, muss aber für dieses Projekt Linux verwenden.

Durch die Suche bei Google wurden mehrere verschiedene Projekte erstellt, jedoch keine eindeutigen Informationen zu den von ihnen bereitgestellten Funktionen. CARP hat virtuellen Schnittstellen dieses Failover gegeben. Ich bin mir nicht sicher, ob Corosync genau das tut oder was Schrittmacher tun.

Auf der anderen Seite habe ich es geschafft, am Leben zu bleiben. Ich habe jedoch festgestellt, dass Corosync native Unterstützung für Infiniband bietet. Das wäre nützlich für mich.

Vielleicht könnte jemand etwas Licht auf die Unterschiede werfen zwischen:

  1. corosync
  2. bleib am Leben
  3. Schrittmacher
  4. Herzschlag

Welches Produkt eignet sich am besten für ein Router-Failover?

EDIT: Also habe ich ein bisschen mehr trainiert ...

Pacemaker ist das größere Projekt, das Corosync & Pacemaker verwenden kann. Es scheint, dass Corosync & Heartbeat im Grunde das Gleiche tun. Also wählst du den einen oder anderen.

Heartbeat scheint ein älteres Projekt zu sein, wird aber noch bearbeitet.

Keepalive hingegen ist ein völlig anderes Projekt und implementiert das VRRP-Protokoll. Es hat Hefefunktionen als die anderen. Es scheint immer noch weit verbreitet zu sein, es fehlen jedoch aktuelle Unterlagen.

Leider gibt es für Firewall / Router-Failover nur sehr wenige Beispiele. Hat jemand ein paar nette Anleitungen gefunden? Ich habe einen gefunden, der auf Spanisch geschrieben ist.

Matt
quelle

Antworten:

11

Hier ist die allgemeine Faustregel, die ich bei der Entscheidung zwischen Keepalived und Heartbeat verwendet habe.

Heartbeat wird normalerweise verwendet, wenn Sie ein echtes Aktiv / Standby-Cluster-Setup wünschen (bei dem nur ein Knoten tatsächlich "aktiv" ist). Denken Sie an NFS. Normalerweise werden mit Heartbeat die Aktionen vor und nach dem Skript zum Starten und Stoppen von Diensten verwendet.

Keepalived ist viel einfacher und wird normalerweise für die Hot-Standby-Nutzung verwendet (dh um einen Dienst redundant aufrechtzuerhalten).

Ein gutes Anwendungsbeispiel für Keepalived, mit dem ich erfolgreich war, sind redundante Nginx-Load-Balancer. Wenn in dieser Situation ein Knoten ausfällt, wird die "schwebende IP" auf den Sicherungsknoten übertragen.

Keepalived ist einfach, aber Sie können Ihre eigenen Überprüfungsskripte erstellen (die ein Failover auslösen würden usw.). Einige Informationen: https://tobrunet.ch/2013/07/keepalived-check-and-notify-scripts/

Welches für Sie am besten geeignet ist, hängt von Ihrer Situation ab: Keepalived eignet sich gut für Router-Failover.

Pfingsten
quelle
0

Hast du dir ucarp angesehen ? Wir verwenden es für den gleichen Zweck, den Sie für unsere Linux-Firewalls planen.

ewwhite
quelle
Nein, habe ich nicht, sieht gut aus. Ich werde es versuchen.
Matt