GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer le cluster haute disponibilité Nginx à l'aide de Pacemaker sur CentOS 7

Dans ce tutoriel, nous allons vous montrer comment configurer le cluster Nginx High Availability à l'aide de Pacemaker sur CentOS 7. Pour avoir un serveur Nginx qui peut fonctionner en continu sans panne pendant une longue période, nous devons configurer le serveur avec des instances Nginx actives-passives. . Pacemaker est un logiciel de gestion de cluster open source qui atteint une haute disponibilité maximale de vos services. Il s'agit d'un gestionnaire de cluster haute disponibilité avancé et évolutif distribué par ClusterLabs, il gère tous les services de cluster et utilise les capacités de messagerie et d'adhésion du moteur de cluster sous-jacent.

1. Prérequis

Pour suivre ce tutoriel, vous devez avoir :

  • 2 serveurs ou plus
  • Système d'exploitation CentOS 7
  • accès root à chacun des serveurs

2. Connectez-vous et mettez à jour CentOS

ssh root@IP_Address -p7022
yum update
yum upgrade

Modifiez le fichier /etc/hosts sur les deux serveurs avec n'importe quel éditeur de texte de terminal de votre choix

nano /etc/hosts

Ajoutez les lignes suivantes au fichier /etc/hosts

192.168.0.22    webserver-01
192.168.0.23    webserver-02

3. Installer le référentiel Epel et Nginx

Le référentiel Extra Packages for Enterprise Linux (EPEL) est nécessaire pour installer Nginx. Exécutez les commandes suivantes sur les deux serveurs.

yum install epel-release -y

yum install nginx -y
systemctl enable nginx
systemctl start nginx

4. Modifier la page d'index Nginx par défaut

Une fois terminé, nous devons apporter des modifications à la page d'index Nginx par défaut sur les deux serveurs.

Exécutez la commande suivante sur le serveur 1

echo ‘

serveurweb-01

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

Exécutez la commande suivante sur le serveur deux

echo ‘

serveurweb-02

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

5. Installer et configurer Pacemaker

Dans cette section, nous allons installer la pile Pacemaker. Vous devez terminer cette étape sur les deux serveurs.

yum install corosync pacemaker pcs -y

Une fois l'installation terminée, activez tous les services pour qu'ils se lancent automatiquement au démarrage du système à l'aide des commandes systemctl ci-dessous.

systemctl enable pacemaker
systemctl enable corosync
systemctl enable pcsd

6. Synchroniser la configuration

L'installation créera un utilisateur système "hacluster". Nous devons également exécuter pcsd afin de synchroniser la configuration

systemctl start pcsd

7. Créer un mot de passe

Ensuite, créez un nouveau mot de passe pour l'utilisateur "hacluster" qui avait été créé automatiquement lors de l'installation précédente, nous devons utiliser le même mot de passe pour tous les serveurs

passwd hacluster

8. Créer des clusters

Ensuite, exécutez cette commande ci-dessous

pcs cluster auth webserver-01 webserver-02

À ce stade, nous sommes prêts à configurer le cluster.

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

rosecluster est le nom du cluster, tandis que webserver-01 et webserver-02 sont les serveurs qui feront partie de rosecluster.

Activez-le au démarrage et démarrez-le maintenant.

pcs cluster enable –all
pcs cluster start –all

Nous pouvons vérifier l'état du cluster avec cette commande :

pcs status

9. Désactiver STONITH

STONITH ou Shoot The Other Node In The Head est l'implémentation de l'escrime sur Pacemaker. Si vous êtes en production, il est préférable d'activer STONITH. Puisque nous n'utilisons pas le dispositif d'escrime, nous allons désactiver le STONITH.

Lors de l'exécution de la commande d'état pcs, vous verrez un avertissement dans la sortie indiquant qu'aucun appareil STONITH n'est configuré et que STONITH n'est pas désactivé :
AVERTISSEMENT :aucun appareil stonith et stonith-enabled n'est pas faux

Désactivez STONITH avec la commande pcs suivante.

pcs property set stonith-enabled=false

10. Ignorer la politique de quorum

Dans ce tutoriel, nous allons configurer Pacemaker pour qu'il ignore le quorum :

pcs property set no-quorum-policy=ignore

Vérifiez la liste des propriétés et assurez-vous que stonith et la politique de quorum sont désactivées.

pcs property list

11. Ajouter des ressources

L'IP flottante est l'adresse IP qui peut être migrée instantanément d'un serveur à un autre dans le même réseau, elle est utilisée pour prendre en charge le basculement dans un cluster à haute disponibilité. Dans ce didacticiel, l'adresse IP flottante pour le Pacemaker High-Availability sera "192.168.0.100". Pour l'instant, nous allons ajouter deux ressources, la ressource d'adresse IP flottante avec le nom "v_ip" et une nouvelle ressource pour le serveur Web Nginx nommée "webserver".

Ajoutez la nouvelle adresse IP flottante "v_ip" à l'aide de la commande suivante.

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

Ensuite, nous pouvons ajouter la deuxième ressource au cluster. L'agent de ressource du service est ocf:heartbeat:nginx nommé 'webserver'.

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

Assurez-vous qu'il n'y a pas d'erreur, puis vérifiez les ressources.

pcs status resources

Si vous voyez deux ressources; 'v_ip' et 'webserver', cela signifie que l'adresse IP flottante et le serveur Web Nginx ont été ajoutés.

12. Configurer les contraintes

Dans cette étape, nous dirons au serveur de faire en sorte que les deux ressources créées précédemment s'exécutent sur le même hôte. Nous allons définir une contrainte de colocalisation pour les ressources avec un score INFINITY.

pcs constraint colocation add webserver v_ip INFINITY

Définissez la ressource Nginx (serveur Web) pour qu'elle s'exécute toujours sur le même hôte où v_ip est actif.

pcs constraint order v_ip then webserver

Pour vérifier que les ressources s'exécutent sur le même hôte, nous pouvons invoquer :

pcs status

13. Testez le cluster.

Accédez à http://192.168.0.100 sur votre navigateur Web, vous verrez la page Nginx par défaut du serveur Web-01.

Ensuite, appelez la commande suivante pour arrêter le cluster sur le serveur Web-01 :

pcs cluster stop webserver-01

Maintenant, si vous actualisez la page à l'adresse http://192.168.0.100, vous obtiendrez la page Nginx par défaut du serveur Web-02.

Félicitations, vous avez configuré avec succès un cluster actif-passif Nginx High Availability avec Pacemaker. Si vous avez un site Web très fréquenté, vous pouvez envisager d'exécuter votre site Web sur un Nginx HA. De nombreux sites Web bien connus fonctionnent sur Nginx HA et ils utilisent Nginx HA pour diffuser leur contenu rapidement, de manière fiable et sécurisée.

Bien sûr, vous n'êtes pas obligé de configurer le cluster haute disponibilité Nginx à l'aide de Pacemaker sur CentOS 7, si vous utilisez l'une de nos solutions d'hébergement Nginx, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de vous aider. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS . Si vous avez aimé cet article sur la configuration du cluster haute disponibilité Nginx à l'aide de Pacemaker sur CentOS 7, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Cent OS
  1. Comment configurer l'hôte virtuel Nginx (blocs de serveur) sur CentOS 7

  2. Comment installer Nginx sur CentOS 7

  3. Comment configurer la configuration MySQL Master-Slave à l'aide des nœuds CentOS 7 ?

  4. Comment configurer les blocs de serveur Nginx sur Ubuntu et CentOS

  5. Comment définir des noms de périphériques personnalisés à l'aide d'udev dans CentOS/RHEL 7

Comment configurer un cluster Pacemaker pour Linux haute disponibilité

Comment configurer un serveur FTP sur CentOS 8 à l'aide de VSFTPD

Comment installer Nginx à l'aide de la commande Yum sur CentOS

Comment configurer WebDAV à l'aide d'Apache sur CentOS 7

Comment configurer la haute disponibilité pour Namenode – Partie 5

Comment configurer la haute disponibilité pour Resource Manager - Partie 6