![VPN vs serveur proxy: quelle est la différence ?](/f/4730c22bdd03a9942aac46873f5692ca.png?width=100&height=100)
Redis offre une haute disponibilité via Redis Sentinelle système distribué. Sentinelle aide à surveiller Redis instances, détecter les échecs et effectuera des changements de rôles automatiquement, permettant ainsi un Redis déploiement pour résister à tout type d'échec.
Il dispose d'un suivi de Redis instances (maître et répliques), prend en charge la notification d'autres services/processus ou de l'administrateur système via un script, basculement automatique vers promouvoir une réplique en maître lorsque le maître tombe en panne et fournit une configuration aux clients pour découvrir le maître actuel offrant un service.
Cet article explique comment configurer Redis pour une haute disponibilité avec Redis Sentinelle dans CentOS 8, y compris la configuration des sentinelles, la vérification de l'état de la configuration et le test d'un Sentinelle basculement.
Serveur maître et Sentinel1: 10.42.0.247. Redis Replica1 et Sentinel2: 10.42.0.21. Redis Replica2 et Sentinel3: 10.42.0.34.
Selon le Redis Sentinelle documentation, il faut au moins trois Sentinelle instances pour un déploiement robuste. Compte tenu de notre configuration ci-dessus, si le Maître échoue, Sentinelles2 et Sentinelle3 sera d'accord sur l'échec et pourra autoriser un basculement, permettant aux opérations client de continuer.
1. Sur CentOS 8, les Redis Sentinelle service est installé à côté du Redis serveur (ce que nous avons déjà fait dans le Configuration de la réplication Redis).
Pour démarrer le Redis sentinel et activez-le pour qu'il démarre automatiquement au démarrage du système, utilisez ce qui suit systemctl commandes. Vérifiez également qu'il est opérationnel en vérifiant son statut (faites ceci sur tous les nœuds):
# systemctl démarre redis-sentinel. # systemctl active redis-sentinel. # systemctl status redis-sentinel.
2. Dans cette section, nous expliquons comment configurer Sentinelle sur tous nos nœuds. Le Sentinelle service a un format de configuration similaire à celui du Redis serveur. Pour le configurer, utilisez le /etc/redis-sentinel.conf fichier de configuration auto-documenté.
Tout d'abord, créez une sauvegarde du fichier d'origine et ouvrez-le pour le modifier.
# cp /etc/redis-sentinel.conf /etc/redis-sentinel.conf.orig. # vi /etc/redis-sentinel.conf.
3. Par défaut, Sentinel écoute sur le port 26379, vérifiez-le sur toutes les instances. Notez que vous devez quitter le lier paramètre commenté (ou mis à 0.0.0.0).
port 26379.
4. Ensuite, dites Sentinelle pour surveiller notre Maître, et de le considérer dans le «Objectivement vers le bas” n'indiquer que si au moins 2 sentinelles du quorum sont d'accord. Vous pouvez remplacer "mon maître" avec un nom personnalisé.
#Sur le serveur maître et Sentinel1. sentinel monitor mymaster 127.0.0.1 6379 2 #On Replica1 et Sentinel2. sentinel monitor mymaster 10.42.0.247 6379 2 #On Replica1 et Sentinel3. moniteur sentinelle mymaster 10.42.0.247 6379 2.
Important: La déclaration du moniteur sentinelle DOIT être placée avant la sentinelle passe authentifié instruction pour éviter l'erreur "Aucun maître de ce type avec le nom spécifié.” lors du redémarrage du service sentinelle.
5. Si la Redis maître à surveiller a un mot de passe défini (dans notre cas, le maître en a), fournissez le mot de passe afin que l'instance Sentinel puisse s'authentifier avec l'instance protégée.
sentinelle auth-pass mymaster [email protégé]
6. Définissez ensuite le nombre de millisecondes pendant lesquelles le maître (ou toute réplique ou sentinelle attachée) devrait être inaccessible pour le considérer dans le "Subjectivement vers le bas" Etat.
La configuration suivante signifie que le maître sera considéré comme défaillant dès que nous ne recevrons aucune réponse de nos pings dans les 5 secondes (1 seconde équivaut à 1000 millisecondes).
sentinelle en panne après des millisecondes mymaster 5000.
7. Ensuite, définissez le délai d'expiration du basculement en millisecondes qui définit beaucoup de choses (lisez la documentation du paramètre dans le fichier de configuration).
Sentinel failover-timeout mymaster 180000.
8. Définissez ensuite le nombre de répliques pouvant être reconfigurées pour utiliser le nouveau maître après un basculement en même temps. Puisque nous avons deux répliques, nous allons définir une réplique car l'autre sera promue au nouveau maître.
sentinel parallèle-synchronise mymaster 1.
Notez que les fichiers de configuration sur Réplique Redis1 et Sentinelle2, et Réplique Reddis1 et Sentinelle2 devrait être identique.
9. Ensuite, redémarrez le Sentinelle services sur tous les nœuds pour appliquer les changements récents.
# systemctl redémarrer redis-sentinel.
10. Ensuite, ouvrez le port 26379 dans le pare-feu sur tous les nœuds pour activer le Sentinelle instances pour commencer à parler, recevoir des connexions de l'autre Sentinelle instances, en utilisant le firewall-cmd.
# firewall-cmd --zone=public --permanent --add-port=26379/tcp. # firewall-cmd --reload.
11. Toutes les répliques seront automatiquement découvertes. Surtout, Sentinelle mettra automatiquement à jour la configuration avec des informations supplémentaires sur les répliques. Vous pouvez le confirmer en ouvrant le Sentinelle fichier de configuration pour chaque instance et parcourez-le.
Par exemple, lorsque vous regardez à la fin du fichier de configuration du maître, vous devriez voir le sentinelles-connues et réplique-connue déclarations comme indiqué dans la capture d'écran suivante.
ça devrait être le même cas sur réplique1 et réplique2.
Notez que le Sentinelle La configuration est également réécrite/mise à jour chaque fois qu'une réplique est promue au statut de maître lors d'un basculement et chaque fois qu'une nouvelle Sentinel est découverte dans la configuration.
12. Vérifiez maintenant le Sentinelle état/informations sur le maître, à l'aide du sentinelle d'informations commande comme suit.
# redis-cli -p 26379 info sentinelle.
D'après la sortie de la commande comme on le voit dans la capture d'écran suivante, nous avons deux répliques/esclaves et trois sentinelles.
13. Pour afficher des informations détaillées sur le Maître (appelé mon maître), Utilisez le maître sentinelle commander.
# redis-cli -p 26379 maître sentinelle mymaster.
14. Pour afficher des informations détaillées sur le des esclaves et sentinelles, Utilisez le esclaves sentinelles commande et sentinelles sentinelles commande respectivement.
# redis-cli -p 26379 esclaves sentinelles mymaster. # redis-cli -p 26379 sentinelles sentinelles mymaster.
15. Ensuite, demandez l'adresse du maître par son nom aux instances esclaves à l'aide de la sentinelle get-master-addr-by-name commande comme suit.
La sortie doit être l'adresse IP et le port de l'instance principale actuelle :
# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster.
16. Enfin, testons le basculement automatique dans notre Sentinelle installer. Sur le Redis/Sentinelle maître, faites le Redis master (fonctionnant sur le port 6379) dormir pour 60 secondes. Interrogez ensuite l'adresse du maître actuel sur les répliques/esclaves comme suit.
# redis-cli -p 6379. 127.0.0.1:6379> AUTH [email protégé]
127.0.0.1:6379> veille de débogage 60. # redis-cli -p 26379 sentinel get-master-addr-by-name mymaster. # redis-cli -p 26379 sentinel get-master-addr-by-name mymaster.
À partir de la sortie de la requête, le nouveau maître est maintenant réplique/esclave2 avec adresse IP 10.42.0.34 comme le montre la capture d'écran suivante.
Vous pouvez obtenir plus d'informations auprès du Documentation Redis Sentinel. Mais si vous avez des idées à partager ou des questions, le formulaire de commentaires ci-dessous est votre passerelle vers nous.
Dans la prochaine et dernière partie de cette série, nous verrons comment configurer un cluster Redis dans CentOS 8. Ce sera un article indépendant des deux premiers.