GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alternativen zu Heartbeat, Pacemaker und CoroSync?

Lösung 1:

Ich bevorzuge Keepalived für Hochverfügbarkeit. Ich finde es einfacher einzurichten (ein Daemon und eine Konfiguration) als Heartbeat und Company. Der einzige Nachteil, auf den ich stoße, ist, dass keepalived standardmäßig keine Unicast-Option hat und nur VRRP für die Kommunikation verwendet (der Autor von HAProxy hat jedoch einen Unicast-Patch für keepalived geschrieben)

Lösung 2:

Ich arbeite tatsächlich an etwas, das dem, was Sie beschrieben haben, sehr ähnlich ist (ein Failover-Cluster auf EC2), und nachdem ich Heartbeat ausprobiert habe, habe ich mich für Corosync als meine Messaging-Schicht entschieden. Corosync läuft auf mehreren Servern und unterstützt Unicast (UDPU) ab Version 1.3.0 (ab Nov. 2010). Ich habe Corosync in der EC2-Cloud von Amazon eingerichtet und getestet (unter Verwendung des Linux-AMI von Amazon) und kann bestätigen, dass es ohne Probleme funktioniert.

Eine Beispiel-UDPU-Datei wird in /etc/corosync.

installiert

Fügen Sie dem Schnittstellenabschnitt für jeden Knoten einen Mitgliedsblock hinzu, und geben Sie den Transport als updu an. (Ich habe im Beispiel unten den gleichen Port wie Heartbeat verwendet, aber Sie können ihn nach Belieben ändern).

zB:

totem {
        version: 2
        secauth: off
        interface {
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                ringnumber: 0
                bindnetaddr: 10.xxx.xxx.xxx
                mcastport: 694
        }
        transport: udpu
}

(Heartbeat soll Cluster mit 3+ Knoten in den Versionen 1.2.3+ unterstützen, obwohl ich es nie persönlich ausprobiert habe und nicht weiß, ob es mit Unicast funktionieren würde).

Lösung 3:

Tut mir leid, aber der Teil über Pacemaker ist nicht wahr. Die Pacemaker-Regressions- und -Release-Tests machen umfassenden Gebrauch von Automatisierung.

Um ohne aktiven Cluster zu konfigurieren, stellen Sie allen Befehlen CIB_file=/var/lib/heartbeat/crm/cib.xml voran oder stellen Sie es in Ihrer Umgebung ein. Stellen Sie nur sicher, dass Sie die .sig-Datei entfernen, bevor Sie den Cluster starten.

Für Cluster ohne Quorum sollten die meisten, wenn nicht alle Tools -f unterstützen oder --force Dadurch wird der Cluster angewiesen, die Änderung trotzdem zu akzeptieren. Wenn Sie ein Tool finden, das dies nicht tut, melden Sie bitte einen Fehler.

Lösung 4:

In der Open-Source-Welt gibt es die RedHat Cluster Suite. Es ist mehrere Jahre her, seit ich RHCS implementiert habe, daher habe ich heute nicht viele relevante Dinge dazu zu sagen.

Kommerziell gibt es Veritas Cluster Server. Keine Erfahrung damit.

Ein viel einfacheres und quelloffenes HA-Tool ist UCARP. UCARP bietet nicht annähernd die gleiche Art von "Infrastruktur" wie Heartbeat/Pacemaker/CoroSync, aber Sie können HA-Lösungen darum herum bauen.

Sie können auch eine hochverfügbare Infrastruktur mit Virtualisierungstechnologien aufbauen, aber diese Lösungen konzentrieren sich eher auf die Verfügbarkeit auf Hostebene als auf die Verfügbarkeit auf Anwendungsebene.


Linux
  1. Pgrep- und Pkill-Alternativen unter Mac OS X?

  2. Unterschied zwischen Blockgröße und Clustergröße?

  3. Unterschied zwischen einem verteilten und einem Cluster-Dateisystem?

  4. So ändern Sie das Pacemaker-Cluster-Heartbeat-Timeout in CentOS/RHEL 7

  5. So installieren Sie Docker auf Fedora 32 oder 31 (und Alternativen)

So richten Sie Nginx High Availability mit Pacemaker und Corosync unter CentOS 7 ein

So erstellen Sie einen Aktiv-Aktiv-Aktiv-Cluster mit RHEL 8 und Percona MySQL

So richten Sie einen Pacemaker-Cluster für Linux mit hoher Verfügbarkeit ein

Was ist die WordPress-Heartbeat-API und wie man sie steuert

Vollständiger Leitfaden für Anfänger zur Kubernetes-Cluster-Bereitstellung auf CentOS (und anderen Linux)

So konfigurieren Sie einen Linux-Cluster mit 2 Knoten auf RedHat und CentOS