DBAtlas · Atlas d'exploitation des bases de données

Installation d'un Redis Cluster (3 masters + 3 replicas)

RedisNiveau: IntermédiaireDurée: 45–60 min

Construit un Redis Cluster de zéro (Redis 7.2 / 8.2 ou Valkey) : les 16384 hash slots sont répartis sur trois masters (ou plus), et chaque master a un replica sur un autre serveur. Architecture à une instance par serveur (6 serveurs) ou deux instances par serveur (3 serveurs), un service systemd par instance, mot de passe, création du cluster, contrôles et test de failover sont réalisés étape par étape ; on obtient au final un cluster qui répartit les données sur les masters, bascule automatiquement en cas de perte d'un serveur et peut être agrandi en ajoutant des nœuds. Si les données tiennent sur un seul serveur et que l'application utilise des commandes multi-clés, Lua ou SELECT, une installation Sentinel est plus simple ; l'ajout de nœuds, le resharding et le remplacement d'un nœud en panne sont traités dans le guide d'exploitation Redis, la sauvegarde et le durcissement dans des guides distincts.

Topologie: 6 instances : 6 serveurs × 1 ou 3 serveurs × 2

Avant de commencer

  • Tous les serveurs ont la même version de système d'exploitation, à jour ; les horloges sont synchronisées par NTP (chrony).
  • La RAM correspond à la valeur du formulaire ; le swap est petit mais défini (contre l'OOM pendant le fork). Le disque dispose d'au moins deux fois la RAM en espace libre (pour les réécritures RDB/AOF).
  • Les serveurs se joignent par IP (la configuration Redis utilise des IP).
  • Les ports …, ……, …, …… sont ouverts entre les serveurs ; ces ports ne sont utilisés par aucun autre service.
  • ……Les serveurs peuvent joindre le dépôt AppStream du système d'exploitation (ou EPEL)…Les serveurs peuvent joindre les dépôts rpms.remirepo.net et EPEL (dl.fedoraproject.org)………Les serveurs peuvent joindre le dépôt Ubuntu universe…Les serveurs peuvent joindre le dépôt packages.redis.io……, ou un miroir interne est configuré.
  • Aucune autre installation Redis/Valkey n'est présente sur les serveurs (conflit de versions).
  • Vous êtes connecté en root ou avec les droits sudo ; la fenêtre de maintenance est validée.

Phases du guide

  • Préparation du système d'exploitation (tous les serveurs) — Hostname : … · Hostname : … · Mise à jour du système et outils · Paramètres du noyau (sysctl) · Appliquer les paramètres sysctl
  • Installation (tous les serveurs) — Ajouter les dépôts Remi et EPEL · Ajouter le dépôt packages.redis.io · Installer le logiciel … · Désactiver le service par défaut de la distribution · Définitions de ports SELinux
  • Configuration des instances — Modèle de service systemd (…@.service) · cluster-….conf : … · cluster-….conf : … · cluster-….conf : … · Répertoires de données et mot de passe · Démarrer les instances …
  • Créer le cluster — Vérifier l'accès à toutes les instances · Créer le cluster (--cluster create) · Vérifier le cluster (--cluster check) · Vérifier le placement des replicas
  • Vérification et test de failover — Test d'écriture/lecture · Failover planifié (CLUSTER FAILOVER) · Connexion de l'application
  • Post-installation — Montée en charge : ajout de nœuds et reshard (information) · Sauvegarde · Supervision
Ouvrir le plan pas à pas adapté à votre environnement →