Récupération à partir d'un cluster de cache partiellement connecté sans aucun temps d'arrêt

Cluster partiellement connecté

Une connectivité partielle signifie que deux ou plusieurs serveurs de cache sont connectés les uns aux autres mais pas entièrement connectés. Il se peut que la partition active sur un serveur de cache ne soit plus connectée à sa réplique sur un autre serveur de cache même si la partition active sur cet autre serveur est connectée à sa réplique sur le serveur d'origine. Ou, il se peut que l'un des serveurs de cache soit totalement déconnecté des autres serveurs du cluster.

De plus, dans Partition Replica Cache, chaque serveur de cache contient une partition active et une partition de réplique. La réplique est passive et n'est accessible que par sa partition active. Mais, au niveau du cluster de cache, la partition active et la réplique sont considérées comme des "nœuds" indépendants. Ainsi, un cluster de cache de 3 serveurs dans Partition-Replica Cache aura un cluster de "6 nœuds".

Comment détecter une connectivité partielle

Utilisez Afficher la connectivité du cluster onglet NCache Gérante

  • Faites un clic droit sur le nom de votre cache dans NCache Gestionnaire, puis choisissez Afficher la connectivité du cluster option
  • Cela ouvrira une autre fenêtre avec l'état de la connectivité du cluster. Vous pouvez utiliser cet onglet pour vérifier si votre cluster de cache est entièrement connecté ou partiellement connecté.

Cluster de cache entièrement connecté :

Dans l'exemple ci-dessous, il montre un cluster de cache entièrement connecté (sain). Il y a 3 serveurs dans le cluster et 6 "nœuds". Ainsi, chaque "nœud" est censé être connecté à 5 autres "nœuds", comme indiqué dans la colonne "Connecté aux nœuds".


Adresse du nœud Connecté aux nœuds Statut
20.200.20.100 20.200.20.100, 20.200.20.101, 20.200.20.101,
20.200.20.102, 20.200.20.102
Entièrement connecté
20.200.20.101 20.200.20.101, 20.200.20.100, 20.200.20.100,
20.200.20.102, 20.200.20.102
Entièrement connecté
20.200.20.102 20.200.20.102, 20.200.20.100, 20.200.20.100,
20.200.20.101, 20.200.20.101
Entièrement connecté

Figure 1 : cluster de cache entièrement connecté

Cluster de cache partiellement connecté

Dans l'exemple ci-dessous, il s'agit d'un cluster de cache partiellement connecté où 20.200.20.101 a perdu la connectivité avec son réplica sur 20.200.20.102 et il manque une connexion au nœud 20.200.20.102. Par conséquent, il a moins de nœuds affichés dans "Connecté aux colonnes" devant lui.


Adresse du nœud Connecté aux nœuds Statut
20.200.20.100 20.200.20.100, 20.200.20.101, 20.200.20.101,
20.200.20.102, 20.200.20.102
Partiellement connecté
20.200.20.101 20.200.20.101, 20.200.20.100, 20.200.20.100,
20.200.20.102
Partiellement connecté
20.200.20.102 20.200.20.102, 20.200.20.100, 20.200.20.100,
20.200.20.101, 20.200.20.101
Partiellement connecté

Figure 2 : cluster de cache partiellement connecté

Amas partiellement connecté avec cerveau divisé

Dans l'exemple ci-dessous, il s'agit d'un autre cache partiellement connecté avec un Split Brain, où 20.200.20.102 a complètement perdu la connectivité avec les deux autres nœuds et affiche donc l'état du cluster de cache à nœud unique. De plus, 20.200.20.100 et 20.200.20.101 affichent un statut partiellement connecté et il manque 20.200.20.102 dans la colonne "connecté aux nœuds".


Adresse du nœud Connecté aux nœuds Statut
20.200.20.100 20.200.20.100, 20.200.20.101, 20.200.20.101 Partiellement connecté
20.200.20.101 20.200.20.101, 20.200.20.100, 20.200.20.100 Partiellement connecté
20.200.20.102 --- Cluster de cache à nœud unique

Figure 3 : Split brain dans un cluster de cache partiellement connecté

Comment réparer une connectivité partielle

Vous devez démarrer un ou plusieurs serveurs de cache pour corriger une connectivité partielle. Dans un cluster à 2 serveurs, il vous suffit de démarrer l'un des serveurs de cache. Dans le cas d'un cluster à 3 serveurs, vous devrez peut-être redémarrer 2 serveurs de cache.


Identifier le nœud problématique

  • Si vous remarquez que les nœuds du cluster de cache sont dans un état partiellement connecté, choisissez le serveur de cache qui indique Cluster à nœud unique comme nœud problématique. Il s'agit d'un scénario Split brain, comme illustré ci-dessus dans la figure 3.
  • OR

  • S'il n'y a pas de serveur ayant le statut de cluster à nœud unique, choisissez le nœud de serveur qui a le moins d'adresses IP affichées dans la colonne Connected to Nodes sur la fenêtre de connectivité du cluster devant lui. Il s'agit d'un scénario de cache partiellement connecté, comme illustré ci-dessus dans la figure 2.
  • ET / OU

  • Ouvrir la fenêtre d'intégrité du cluster dans NCache Outil de surveillance, puis sélectionnez le nœud qui a le moins de clients dans la colonne Clients.
  • ET / OU

  • Choisissez un nœud avec le moins de valeur de compteur de requêtes/s que les autres nœuds.

Arrêt du cache sur ce nœud uniquement

Une fois qu'un cluster de cache est dans un état partiellement connecté, il nécessite une intervention manuelle pour le récupérer. Voici les étapes pour résoudre ce problème,

  • Une fois le nœud problématique identifié, cliquez avec le bouton droit sur l'adresse IP de ce nœud dans NCache Manager sous le nom de votre cache, puis choisissez Arrêter, cela arrêtera ce cache uniquement sur ce nœud.
  • Vous pouvez également utiliser notre outil de ligne de commande cache d'arrêt pour faire la même chose comme suit en utilisant l'adresse IP du nœud :

  •    C: \ Program Files \NCache\bin\tools>stopcache CacheName /s 20.200.20.102

  • Redémarrez votre cache. Vous pouvez le faire dans NCache Manager en cliquant avec le bouton droit de la souris sur votre IP de nœud sous le nom de votre cache et en choisissant l'option Démarrer. Vous pouvez également utiliser notre outil de ligne de commande startcache en exécutant la commande suivante à l'aide de l'adresse IP du nœud.

  •    C: \ Program Files \NCache\bin\tools>startcache CacheName /s 20.200.20.102

  • Vérifiez à nouveau la connectivité du cluster et voyez si le cluster a été formulé dans un état sain.
  • Suivez les étapes ci-dessus pour tous les serveurs de cache un par un dans votre environnement si plusieurs serveurs de cache ont été trouvés dans un état partiellement connecté.

Arrêt NCache service

  • Arrêtez à nouveau tous les caches sur le nœud problématique un par un.
  • Recommencer NCache service sur le nœud problématique.
  • Redémarrez tous les caches un par un sur le nœud problématique s'ils ne sont pas configurés pour démarrer automatiquement à l'aide NCache Fonction de cache de démarrage automatique.
  • Vérifiez à nouveau la connectivité du cluster et voyez si le cluster a été formulé dans un état sain.

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.