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

Effectuer un basculement manuel avec Sentinel et nettoyer la topologie

RedisSentinel

Commande

# First check quorum and an eligible replica:
redis-cli -p 26379 SENTINEL CKQUORUM mymaster
redis-cli -p 26379 SENTINEL REPLICAS mymaster
# Manual failover without waiting for agreement from other sentinels:
redis-cli -p 26379 SENTINEL FAILOVER mymaster
# Verify the new master (must be the same on all sentinels):
redis-cli -p 26379 SENTINEL GET-MASTER-ADDR-BY-NAME mymaster
# If old/removed replicas remain listed, reset sentinels one at a time, 30 s apart:
redis-cli -p 26379 SENTINEL RESET mymaster

Ce que fait la commande

Transfère le rôle de master au réplica le plus adapté même lorsque le master est sain ; vérifie ensuite le nouveau master et efface de la mémoire des sentinels les réplicas qui n'existent plus.

Quand l'utiliser

Avant une maintenance planifiée sur l'hôte du master, lors d'un exercice de basculement, ou pour déplacer le master vers un autre data center.

Attention

Une interruption des écritures de quelques secondes se produit pendant le basculement, et les données écrites sur le master mais pas encore répliquées peuvent être perdues. Les réplicas avec replica-priority 0 ne sont jamais choisis ; si aucun réplica éligible n'existe, la commande renvoie une erreur. Si SENTINEL RESET s'exécute sur tous les sentinels en même temps, les informations de topologie sont temporairement perdues ; exécutez-le sur chacun séparément et de façon espacée. Assurez-vous que les clients utilisent un driver qui demande l'adresse du master à Sentinel.

Ouvrir dans DBAtlas →

Voir aussi