Tuto révisé en décembre 2022
Quelques articles sur Redis et sa mise en œuvre en Haute Disponibilité.
Comme à mon habitude, c’est un peu alambiqué, mais ça fonctionne au poil (en production depuis un bail…)
I – Présentation rapide
Pour ceux qui ne connaissent pas Redis, il s’agit « grossièrement » d’un système de base de donnée NoSQL en RAM. Pratique pour stocker des données volatiles (cache de session PHP par exemple), ce peut être également utilisé pour des choses moins périssables (base de Rspamd, lockfile de Nextcloud, etc…).
Je m’en sers aussi comme tampon entre Logstash et Filebeat dans mon système de monitoring ELK.
Je ne détaille pas plus, nombre de documents sont disponibles pour expliquer à quel point c’est bien.
C’est une brique logiciel qu’on peut retrouver un peu partout, ce qui m’a conduit à réfléchir à quelque chose de plus structuré, car au final, j’ai pas mal de services utilisant un backend Redis et jusque la, j’allais au plus simple, j’installais un serveur redis par serveur où il en fallait un.
Étant dans une phase ou je travaille sur la haute disponibilité de toute mon infrastructure, un Redis central s’impose.
Avantage également, comme Redis consomme de la Ram (ha bon ?), c’est mieux d’avoir une seule instance à gérer pour mieux en monitorer l’usage. Et au passage, je peux réduire la Ram sur mes autres machines.
Au niveau « matériel », il vous faudra deux serveurs Debian, oui juste deux car avec un peu d’astuce, pas besoins de plus.
Ils prendront place dans l’architecture présentée ici : Tuto Virtualisation V 2022 : Debian 11, KVM et Openvswitch et seront dans un pool de serveurs (Création d’un pool de serveurs)
- Redis1 : 10.99.1.101, 10.250.1.101, 10.100.6.101 et 10.50.0.101
- Redis2 : 10.99.1.102, 10.250.1.102, 10.100.6.102 et 10.50.0.102
Une VIP sera créée (10.100.6.100) pour permettre aux autre VMs d’utiliser le service Redis.
Au niveau réseaux :
- 10.250.1.0/24 : réseau adm/monitoring
- 10.99.1.0/24 : communications Hyperviseur <-> VMs
Dans le tutoriel, on ne parlera que de :
- 10.100.6.0/24 : pour les communications inter-VM (hors cluster).
- 10.50.0.0/24 : pour les communications intercluster.
Bien sur, vous pouvez largement simplifier !
II – Sommaire
Envie de me soutenir et de me payer un café ? C’est sur la page Don !