GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare il cluster ad alta disponibilità Nginx utilizzando Pacemaker su CentOS 7

In questo tutorial, ti mostreremo come configurare il cluster Nginx High Availability utilizzando Pacemaker su CentOS 7. Per avere un server Nginx che possa funzionare continuamente senza guasti per lungo tempo, dobbiamo configurare il server con istanze Nginx attive-passive . Pacemaker è un software di gestione cluster open source che consente di ottenere la massima disponibilità elevata dei tuoi servizi. È un gestore di cluster ad alta disponibilità avanzato e scalabile distribuito da ClusterLabs, gestisce tutti i servizi del cluster e utilizza le funzionalità di messaggistica e appartenenza del motore del cluster sottostante.

1. Prerequisiti

Per seguire questo tutorial, devi avere:

  • 2 o più server
  • Sistema operativo CentOS 7
  • accesso root a ciascuno dei server

2. Accedi e aggiorna CentOS

ssh root@IP_Address -p7022
yum update
yum upgrade

Modifica il file /etc/hosts su entrambi i server con qualsiasi editor di testo terminale di tuo gradimento

nano /etc/hosts

Aggiungi le seguenti righe al file /etc/hosts

192.168.0.22    webserver-01
192.168.0.23    webserver-02

3. Installa Epel Repository e Nginx

Per installare Nginx è necessario il repository Extra Packages for Enterprise Linux (EPEL). Esegui i seguenti comandi su entrambi i server.

yum install epel-release -y

yum install nginx -y
systemctl enable nginx
systemctl start nginx

4. Modifica pagina indice Nginx predefinita

Una volta terminato, dobbiamo apportare modifiche alla pagina dell'indice Nginx predefinita su entrambi i server.

Esegui il seguente comando sul server uno

echo ‘

server web-01

’ > /usr/share/nginx/html/index.html

Esegui il seguente comando sul server due

echo ‘

server web-02

’ > /usr/share/nginx/html/index.html

5. Installa e configura Pacemaker

In questa sezione installeremo lo stack Pacemaker. Devi completare questo passaggio su entrambi i server.

yum install corosync pacemaker pcs -y

Al termine dell'installazione, abilita l'avvio automatico di tutti i servizi all'avvio del sistema utilizzando i comandi systemctl seguenti.

systemctl enable pacemaker
systemctl enable corosync
systemctl enable pcsd

6. Sincronizza la configurazione

L'installazione creerà un utente di sistema "hacluster". Abbiamo anche bisogno di eseguire pcsd per sincronizzare la configurazione

systemctl start pcsd

7. Crea una password

Quindi, crea una nuova password per l'utente "hacluster" che era stata creata automaticamente durante l'installazione precedente, dobbiamo utilizzare la stessa password per tutti i server

passwd hacluster

8. Crea cluster

Quindi, esegui questo comando di seguito

pcs cluster auth webserver-01 webserver-02

A questo punto siamo pronti per configurare il cluster.

pcs cluster setup –name rosecluster webserver-01 webserver-02

rosecluster è il nome del cluster, mentre webserver-01 e webserver-02 sono i server che faranno parte di rosecluster.

Abilitalo all'avvio e avvialo ora.

pcs cluster enable –all
pcs cluster start –all

Possiamo controllare lo stato del cluster con questo comando:

pcs status

9. Disattiva STONITH

STONITH o Shoot The Other Node In The Head è l'implementazione della scherma su Pacemaker. Se sei in produzione, è meglio abilitare STONITH. Dal momento che non stiamo utilizzando il dispositivo di scherma, disabiliteremo lo STONITH.

Quando esegui il comando pcs status, vedrai un avviso nell'output che dice che nessun dispositivo STONITH è configurato e STONITH non è disabilitato:
AVVERTENZA:nessun dispositivo stonith e stonith abilitato non è falso

Disabilita STONITH con il seguente comando pcs.

pcs property set stonith-enabled=false

10. Ignora la politica del quorum

In questo tutorial, configureremo Pacemaker per ignorare il quorum:

pcs property set no-quorum-policy=ignore

Controlla l'elenco delle proprietà e assicurati che stonith e il criterio del quorum siano disabilitati.

pcs property list

11. Aggiungi risorse

L'IP mobile è l'indirizzo IP che può essere migrato istantaneamente da un server all'altro nella stessa rete, viene utilizzato per supportare il failover in un cluster ad alta disponibilità. In questo tutorial, l'indirizzo IP mobile per il pacemaker High-Availability sarà "192.168.0.100". Per ora, aggiungeremo due risorse, la risorsa dell'indirizzo IP mobile con il nome 'v_ip' e una nuova risorsa per il server web Nginx denominata 'webserver'.

Aggiungi il nuovo indirizzo IP mobile 'v_ip' utilizzando il comando seguente.

pcs resource create v_ip ocf:heartbeat:IPaddr2 ip=192.168.0.100 cidr_netmask=32 op monitor interval=20s

Successivamente, possiamo aggiungere la seconda risorsa al cluster. L'agente di risorse del servizio è ocf:heartbeat:nginx denominato 'webserver'.

pcs resource create webserver ocf:heartbeat:nginx configfile=/etc/nginx/nginx.conf op monitor timeout=”5s” interval=”5s”

Assicurati che non ci siano errori, quindi controlla le risorse.

pcs status resources

Se vedi due risorse; 'v_ip' e 'webserver', significa che l'IP mobile e il server web Nginx sono stati aggiunti.

12. Configura vincoli

In questo passaggio, diremo al server di fare in modo che entrambe le risorse create in precedenza siano in esecuzione sullo stesso host. Fisseremo un vincolo di collocazione per le risorse con un punteggio INFINITY.

pcs constraint colocation add webserver v_ip INFINITY

Imposta la risorsa Nginx (server web) in modo che venga sempre eseguita sullo stesso host in cui v_ip è attivo.

pcs constraint order v_ip then webserver

Per verificare che le risorse siano in esecuzione sullo stesso host, possiamo invocare:

pcs status

13. Testare il cluster.

Vai a http://192.168.0.100 sul tuo browser web, vedrai la pagina Nginx predefinita dal webserver-01.

Quindi, invoca il comando seguente per arrestare il cluster sul server web-01:

pcs cluster stop webserver-01

Ora, se aggiorni la pagina su http://192.168.0.100, otterrai la pagina Nginx predefinita dal server web-02.

Congratulazioni, hai impostato correttamente un cluster attivo-passivo Nginx High Availability con Pacemaker. Se hai un sito Web molto impegnato, potresti considerare di eseguire il tuo sito Web su un Nginx HA. Esistono molti siti Web noti in esecuzione su Nginx HA e utilizzano Nginx HA per fornire i propri contenuti in modo rapido, affidabile e sicuro.

Ovviamente, non è necessario configurare il cluster ad alta disponibilità Nginx utilizzando Pacemaker su CentOS 7, se utilizzi una delle nostre soluzioni di hosting Nginx, nel qual caso puoi semplicemente chiedere ai nostri amministratori Linux esperti di aiutarti in questo. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS . Se ti è piaciuto questo post su come configurare il cluster ad alta disponibilità Nginx utilizzando Pacemaker su CentOS 7, condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o lascia semplicemente una risposta di seguito. Grazie.


Cent OS
  1. Come configurare l'host virtuale Nginx (blocchi server) su CentOS 7

  2. Come installare Nginx su CentOS 7

  3. Come configurare la configurazione MySQL Master-Slave utilizzando i nodi CentOS 7?

  4. Come configurare i blocchi server Nginx su Ubuntu e CentOS

  5. Come impostare nomi di dispositivi personalizzati usando udev in CentOS/RHEL 7

Come configurare un cluster Pacemaker per Linux ad alta disponibilità

Come configurare un server FTP su CentOS 8 utilizzando VSFTPD

Come installare Nginx usando il comando Yum su CentOS

Come configurare WebDAV utilizzando Apache su CentOS 7

Come impostare la disponibilità elevata per Namenode – Parte 5

Come impostare la disponibilità elevata per Resource Manager – Parte 6