Passage en mode maintenance pour des collectivités Liberty

Passez en mode maintenance avant d'effectuer des tests de diagnostic, de la maintenance ou de l'optimisation sur un hôte ou un serveur. Le mode maintenance peut empêcher l'interruption des demandes client en faisant passer le trafic client autour d'un serveur en mode maintenance à un autre serveur.

Pourquoi et quand exécuter cette tâche

Quand un serveur qui est un membre de mise à l'échelle est en mode maintenance, le contrôleur de mise à l'échelle ne peut pas démarrer ni arrêter ce serveur. Le serveur ne penche pas vers le nombre minimal ou maximal de paramètres d'instance en cours d'exécution pour le cluster.

Remarque : Pour bénéficier pleinement des avantages de l'utilisation du mode maintenance dans une collectivité Liberty, il est recommandé d'activer la fonction de routage dynamique et/ou la fonction de mise à l'échelle automatique. Pour plus d'informations sur le routage dynamique, voir Configuration de la fonction de routage dynamique pour les collectivités Liberty et Configuration de la fonction de mise à l'échelle automatique pour les collectivités Liberty.

Quand un hôte est en mode maintenance, le contrôleur de mise à l'échelle ne peut pas mettre à disposition de nouveau serveur sur cet hôte.

Vous pouvez passer en mode maintenance sur un serveur associé à une collectivité ou sur un hôte enregistré auprès d'une collectivité.

Vous pouvez utiliser le mode maintenance pour modifier le routage des demandes par un serveur Web activé pour Intelligent Management.

Le passage d'un serveur ou d'un hôte en mode maintenance est un changement permanent. Un serveur ou un hôte reste en mode maintenance tant que le mode n'est pas explicitement changé, ce même si le serveur est redémarré.

Procédure

  1. Utilisez la commande de collectivité enterMaintenanceMode pour placer un serveur ou un hôte et ses serveurs en mode maintenance.
    wlp/bin/collective enterMaintenanceMode 
      --host=controllerHostName
      --port=controllerHttpsPortNumber
      --user=adminUser
      --password=adminPassword
      --hostName=serverHostName
     [--usrDir=serverUserDirectory]
     [--server=serverName]
     [--break]
     [--force]

    [18.0.0.1 and later]Pour réduire le nombre d'options nécessaires, utilisez l'option --controller à la place de --user, --password, --host et --port.

    wlp/bin/collective enterMaintenanceMode --controller=adminUser:adminPassword@controllerHostName:controllerHttpsPortNumber --hostName=serverHostName [--usrDir=serverUserDirectory]
     [--server=serverName][--break][--force]

    Les arguments -–host et --port identifient le contrôleur de collectivité qui peut traiter la commande. Les arguments --user et --password sont les ID administrateur et mot de passe pour l'authentification avec le contrôleur.

    Les arguments --hostName, --usrDir et --server identifient le serveur à placer en mode maintenance. Si vous souhaitez placer un hôte et ses serveurs en mode maintenance, indiquez uniquement l'argument --hostName et omettez les arguments --usrDir et --server.

    Par défaut, le serveur Web continue à envoyer des demandes avec affinité à un serveur en mode maintenance. Utilisez --break pour arrêter tout trafic en cours de routage vers le serveur, y compris les demandes avec affinité vers le serveur.

    Le contrôleur de mise à l'échelle démarre un autre serveur pour remplacer chaque membre de mise à l'échelle placé en mode maintenance. Un autre serveur sera démarré pour répondre au nombre minimal d'instances du cluster ou pour répondre à la demande en charge de travail en cours. Par défaut, si le contrôleur de mise à l'échelle ne parvient pas à trouver un autre serveur pour remplacement, le serveur n'est pas placé en mode maintenance. Utilisez l'argument --force pour qu'un serveur soit placé en mode maintenance même si aucun serveur de remplacement n'est disponible.

  2. Utilisez la commande de collectivité exitMaintenanceMode pour sortir un serveur ou un hôte et ses serveurs du mode maintenance.
    wlp/bin/collective exitMaintenanceMode 
      --host=controllerHostName
      --port=controllerHttpsPortNumber
      --user=adminUser
      --password=adminPassword
      --hostName=serverHostName
     [--usrDir=serverUserDirectory]
     [--server=serverName]

    [18.0.0.1 and later]Pour réduire le nombre d'options nécessaires, utilisez l'option --controller à la place de --user, --password, --host et --port.

    wlp/bin/collective exitMaintenanceMode --controller=adminUser:adminPassword@controllerHostName:controllerHttpsPortNumber --hostName=serverHostName
    [--usrDir=serverUserDirectory][--server=serverName]
  3. Utilisez la commande de collectivité getMaintenanceMode pour afficher si un serveur ou un hôte et ses serveurs se trouvent en mode maintenance.
    wlp/bin/collective getMaintenanceMode 
      --host=controllerHostName
      --port=controllerHttpsPortNumber
      --user=adminUser
      --password=adminPassword
      --hostName=serverHostName
     [--usrDir=serverUserDirectory]
     [--server=serverName]

    [18.0.0.1 and later]Pour réduire le nombre d'options nécessaires, utilisez l'option --controller à la place de --user, --password, --host et --port.

    wlp/bin/collective getMaintenanceMode --controller=adminUser:adminPassword@controllerHostName:controllerHttpsPortNumber --hostName=serverHostName 
    [--usrDir=serverUserDirectory][--server=serverName]

Exemple

Dans cet exemple, hostc possède un contrôleur de collectivité. Le contrôleur de collectivité possède les fonctions de contrôleur de mise à l'échelle et de routage dynamique activées. Dans le fichier server.xml du contrôleur de mise à l'échelle, le nombre minimal de membres de cluster actifs est défini sur 1. Host1 possède deux membres de cluster démarrés, memberA1 pour cluster A et memberB1 pour cluster B. Host2 possède un membre de cluster arrêté, memberA2 pour cluster A. La fonction de membre de mise à l'échelle est activée pour tous les membres de cluster. Il existe aussi un serveur Web activé pour Intelligent Management, qui route les demandes vers les membres de cluster.

Pour placer host1 en mode maintenance, entrez la commande suivante :
wlp/bin/collective enterMaintenanceMode 
  --host=hostc 
  --port=controller1HttpsPortNumber
  --user=adminUser
  --password=adminPassword
  --hostName=host1 

[18.0.0.1 and later]Pour réduire le nombre d'options nécessaires, utilisez l'option --controller à la place de --user, --password, --host et --port.

wlp/bin/collective enterMaintenanceMode --controller=adminUser:adminPassword@hostc:controller1HttpsPortNumber --hostName=host1
La commande émet la réponse suivante :
Successfully enter maintenance mode for host1.
An alternate server must be started. Maintenance mode will be set for memberA1 when the alternate server is started.
Could not enter maintenance mode for memberB1 because an alternate server is not available.

Le contrôleur de mise à l'échelle démarre memberA2 en tant que remplaçant pour memberA1. Après que memberA2 a été démarré, memberA1 est placé en mode maintenance. Le serveur Web ne route plus les demandes HTTP vers memberA1.

Le contrôleur de mise à l'échelle ne peut pas remplacer memberB1 ; c'est pourquoi le membre n'est pas placé en mode maintenance. Vous pouvez exécuter à nouveau la commande en utilisant l'argument --force pour forcer memberB1 à être placé en mode maintenance, ce qui peut affecter les performances des demandes s'exécutant dans clusterB.

Que faire ensuite

Le contrôleur de santé utilise également le mode maintenance de serveur lorsque la stratégie de santé n'est pas respectée. Par exemple, si vous utilisez une condition de temps de réponse excessive, et que le temps de réponse dépasse le seuil de temps de réponse moyen spécifié pour un serveur, le serveur peut passer en mode maintenance.


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_wve_maintmode.html