GNU/Linux >> Linux Esercitazione >  >> Linux

Alternative a Heartbeat, Pacemaker e CoroSync?

Soluzione 1:

Preferisco usare keepalived per l'alta disponibilità. Trovo più semplice da configurare (un demone e una configurazione) rispetto a heartbeat e compagnia. L'unico inconveniente in cui mi imbatto è che keepalived non ha un'opzione unicast per impostazione predefinita e utilizza solo VRRP per la comunicazione (l'autore di HAProxy ha comunque scritto una patch unicast per keepalived)

Soluzione 2:

In realtà sto lavorando a qualcosa di molto simile a quello che hai descritto (un cluster di failover su EC2) e, dopo aver provato Heartbeat, ho optato per Corosync come livello di messaggistica. Corosync funzionerà su più server e supporta Unicast (UDPU) a partire dalla versione 1.3.0 (da novembre 2010). Ho configurato e testato Corosync sul cloud EC2 di Amazon (utilizzando l'AMI Linux di Amazon) e posso confermare che funziona senza problemi.

Un file udpu di esempio è installato in /etc/corosync.

Aggiungi un blocco membro alla sezione di interfaccia per ciascun nodo e specifica il trasporto come updu. (Ho usato la stessa porta di heartbeat nell'esempio qui sotto, ma puoi cambiarla come desideri).

ad esempio:

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 dovrebbe supportare 3+ cluster di nodi nelle versioni 1.2.3+, anche se non l'ho mai provato personalmente e non so se funzionerebbe con Unicast).

Soluzione 3:

Siamo spiacenti, ma la parte relativa a Pacemaker non è vera. I test di regressione e rilascio di Pacemaker fanno ampio uso dell'automazione.

Per eseguire la configurazione senza un cluster attivo, anteporre a tutti i comandi CIB_file=/var/lib/heartbeat/crm/cib.xml o impostalo nel tuo ambiente. Assicurati solo di rimuovere il file .sig prima di avviare il cluster.

Per i cluster senza quorum, la maggior parte se non tutti gli strumenti dovrebbero supportare -f o --force che istruirà il cluster ad accettare comunque la modifica. Se trovi uno strumento che non funziona, segnala un bug.

Soluzione 4:

Nel mondo open source, c'è RedHat Cluster Suite. Sono passati diversi anni da quando ho implementato RHCS, quindi oggi non ho molte cose rilevanti da dire al riguardo.

Commercialmente esiste Veritas Cluster Server. Nessuna esperienza con esso.

Uno strumento HA molto più semplice e open source è UCARP. UCARP non fornisce quasi lo stesso tipo di "infrastruttura" di Heartbeat/Pacemaker/CoroSync, ma puoi creare soluzioni HA attorno ad essa.

Puoi anche creare un'infrastruttura a disponibilità elevata con le tecnologie di virtualizzazione, ma queste soluzioni tendono a concentrarsi sulla disponibilità a livello di host anziché sulla disponibilità a livello di applicazione.


Linux
  1. Cluster utenti e gruppi

  2. Alternative Pgrep e Pkill su Mac Os X?

  3. Come installare e configurare MariaDB Galera Cluster su Ubuntu 18.04

  4. Come modificare il timeout del battito cardiaco del cluster di pacemaker in CentOS/RHEL 7

  5. Alternative più veloci da trovare e localizzare?

Come configurare Nginx High Availability con Pacemaker e Corosync su CentOS 7

Come costruire un cluster attivo-attivo-attivo con RHEL 8 e Percona MySQL

Come configurare un cluster Pacemaker per Linux ad alta disponibilità

Cos'è l'API Heartbeat di WordPress e come controllarla

Guida completa per principianti alla distribuzione del cluster Kubernetes su CentOS (e altri Linux)

Come configurare il cluster Linux con 2 nodi su RedHat e CentOS