XenServer

Dépanner l’équilibrage de charge de travail

Bien que l’équilibrage de charge de travail fonctionne généralement sans problème, cette série de sections fournit des conseils au cas où vous rencontreriez des problèmes.

Remarques :

  • L’équilibrage de charge de travail est disponible pour les clients de XenServer® Premium Edition. Pour plus d’informations sur les licences XenServer consultez Licences. Pour mettre à niveau ou obtenir une licence XenServer, visitez le site Web de Citrix.
  • L’équilibrage de charge de travail 8.4.1 est compatible avec XenServer 8.4 et XenServer 9.

Déterminer l’état de l’appliance virtuelle d’équilibrage de charge de travail

Exécutez la commande systemctl status workloadbalancing. Pour plus d’informations, consultez Commandes d’équilibrage de charge de travail.

Conseils généraux de dépannage

  • Commencez le dépannage en examinant les fichiers journaux d’équilibrage de charge de travail (LogFile.log et wlb_install_log.log). Vous pouvez trouver ces journaux dans l’appliance virtuelle d’équilibrage de charge de travail à cet emplacement (par défaut) :

    /var/log/wlb

    Le niveau de détail de ces fichiers journaux peut être configuré à l’aide du fichier wlb.conf. Pour plus d’informations, consultez Augmenter le niveau de détail dans le journal d’équilibrage de charge de travail.

  • Vérifiez les journaux dans la vue Notifications > Événements de XenCenter® pour plus d’informations.

  • Pour vérifier le numéro de build de l’appliance virtuelle d’équilibrage de charge de travail, exécutez la commande suivante sur un hôte d’un pool que l’appliance virtuelle surveille :

     xe pool-retrieve-wlb-diagnostics | more
     <!--NeedCopy-->
    

    Le numéro de version de l’équilibrage de charge de travail apparaît en haut de la sortie.

  • L’appliance virtuelle d’équilibrage de charge de travail est basée sur le système d’exploitation CentOS. Si vous rencontrez des problèmes liés au processeur, à la mémoire ou au disque dans l’appliance virtuelle, vous pouvez utiliser les journaux Linux standard dans /var/log/* pour analyser le problème.

  • Utilisez les commandes standard de débogage et d’optimisation des performances Linux pour comprendre le comportement de l’appliance virtuelle. Par exemple, top, ps, free, sar, et netstat.

Messages d’erreur

Workload Balancing affiche les erreurs à l’écran sous forme de boîtes de dialogue et de messages d’erreur dans la vue Notifications > Événements de XenCenter.

Si un message d’erreur apparaît, consultez le journal des événements de XenCenter pour des informations supplémentaires. Pour plus d’informations, consultez la documentation produit XenCenter.

Problèmes de saisie des informations d’identification de Workload Balancing

Si vous ne parvenez pas à saisir correctement le compte utilisateur et le mot de passe de l’appliance virtuelle lors de la configuration de la boîte de dialogue Se connecter au serveur WLB, essayez ce qui suit :

  • Assurez-vous que l’appliance virtuelle Workload Balancing est importée et configurée correctement, et que tous ses services sont en cours d’exécution.

  • Vérifiez que vous saisissez les informations d’identification correctes. La boîte de dialogue Se connecter au serveur WLB demande deux informations d’identification différentes :

    • Informations d’identification du serveur WLB : XenServer utilise ce compte pour communiquer avec Workload Balancing. Vous avez créé ce compte sur l’appliance virtuelle Workload Balancing lors de la configuration de Workload Balancing. Par défaut, le nom d’utilisateur de ce compte est wlbuser.
    • Informations d’identification XenServer : Ce compte est utilisé par l’appliance virtuelle Workload Balancing pour se connecter au pool XenServer. Ce compte est créé sur le coordinateur de pool XenServer et possède le rôle pool-admin ou pool-operator.
  • Vous pouvez saisir le nom d’hôte ou le FQDN de l’appliance virtuelle Workload Balancing dans la zone Adresse, mais cette adresse doit être une adresse que le système Windows exécutant XenCenter peut résoudre et accéder. Ne saisissez pas le nom d’hôte du serveur physique hébergeant l’appliance. Si vous n’avez pas d’entrée DNS pour le FQDN, vous devez vous connecter en utilisant l’adresse IP de l’appliance Workload Balancing à la place.

  • Vérifiez que l’hôte utilise le bon serveur DNS et que l’hôte XenServer peut contacter le serveur Workload Balancing en utilisant son FQDN. Pour effectuer cette vérification, faites un ping de l’appliance Workload Balancing en utilisant son FQDN depuis l’hôte XenServer. Par exemple, saisissez ce qui suit dans la console de l’hôte XenServer :

     ping wlb-vpx-1.mydomain.net
     <!--NeedCopy-->
    

Problèmes de certificats

La vérification des certificats est activée par défaut dans XenServer 8.4 et versions ultérieures. Pour connecter l’appliance virtuelle Workload Balancing à XenServer, vous devez importer le certificat Workload Balancing dans votre pool XenServer.

Si votre pool ne peut pas se connecter à Workload Balancing, vérifiez si votre configuration de certificat en est la cause en désactivant la vérification des certificats pour Workload Balancing :

  1. Obtenez l’UUID du pool :

    xe pool-list
    <!--NeedCopy-->
    
  2. Désactivez la vérification des certificats :

    xe pool-param-set wlb-verify-cert=false uuid=<uuid_of_pool>
    <!--NeedCopy-->
    

Si votre pool peut se connecter à Workload Balancing avec la vérification des certificats désactivée, le problème vient de votre configuration de certificat. S’il ne peut pas se connecter, le problème vient de vos informations d’identification Workload Balancing ou de votre connexion réseau. Contactez le support ou consultez Dépanner l’équilibrage de charge pour plus d’informations.

Assurez-vous de réactiver la vérification des certificats après avoir résolu votre problème :

  1. Obtenez l’UUID du pool :

    xe pool-list
    <!--NeedCopy-->
    
  2. Activez la vérification des certificats :

    xe pool-param-set wlb-verify-cert=true uuid=<uuid_of_pool>
    <!--NeedCopy-->
    

Problèmes avec les pare-feu

L’erreur suivante apparaît si l’appliance virtuelle Workload Balancing se trouve derrière un pare-feu matériel et que vous n’avez pas configuré les paramètres de pare-feu appropriés : « Une erreur s’est produite lors de la connexion au serveur Workload Balancing : <nom du pool> Cliquez sur Initialiser WLB pour réinitialiser les paramètres de connexion. » Cette erreur peut également apparaître si l’ appliance Workload Balancing est autrement inaccessible.

Si l’appliance virtuelle Workload Balancing se trouve derrière un pare-feu, ouvrez le port 8012.

De même, le port que XenServer utilise pour contacter Workload Balancing (8012 par défaut) doit correspondre au numéro de port spécifié lors de l’exécution de l’assistant de configuration Workload Balancing.

Erreurs de connexion Workload Balancing

Si vous recevez une erreur de connexion après avoir configuré et vous être connecté à Workload Balancing, les informations d’identification pourraient ne plus être valides. Pour isoler ce problème :

  1. Vérifiez que les informations d’identification que vous avez saisies dans la boîte de dialogue Se connecter au serveur WLB sont correctes. Pour plus d’informations, consultez les scénarios 1 et 2.

  2. Vérifiez que l’adresse IP ou le FQDN de l’appliance virtuelle Workload Balancing que vous avez saisie dans la boîte de dialogue Se connecter au serveur WLB est correct.

  3. Vérifiez que le nom d’utilisateur que vous avez créé lors de la configuration de Workload Balancing correspond aux informations d’identification que vous avez saisies dans la boîte de dialogue Se connecter au serveur WLB.

  4. Si vous recevez une erreur de connexion dans la ligne d’état de l’équilibrage de charge sur l’onglet WLB, vous devrez peut-être reconfigurer l’équilibrage de charge sur ce pool. Cliquez sur le bouton Connecter sur l’onglet WLB et saisissez à nouveau les informations d’identification de l’hôte.

Vous pouvez rencontrer l’un des scénarios suivants lorsque vous tentez d’établir une connexion entre XenCenter et l’appliance virtuelle d’équilibrage de charge.

Scénario 1

Scénario 1 - Erreur : WLB n'a pas pu se connecter à XenServer. Cela peut être dû à des informations d'identification non valides. Vérifiez vos paramètres et réessayez.

Cela signifie que les informations d’identification saisies dans le champ Informations d’identification XenServer de la boîte de dialogue Se connecter au serveur WLB sont incorrectes. Pour résoudre ce problème, vérifiez les informations d’identification ou cochez la case Utiliser les informations d’identification XenCenter actuelles case.

Scénario 2

Scénario 2 - Erreur : WLB a rejeté nos détails d'authentification configurés. Vérifiez vos paramètres et réessayez.

Cela signifie qu’il y a un problème avec les informations d’identification saisies dans le champ Informations d’identification du serveur WLB de la boîte de dialogue Se connecter au serveur WLB lors de la tentative de connexion à l’appliance virtuelle d’équilibrage de charge (soit le nom d’utilisateur ou le mot de passe est incorrect). Cependant, cela peut également signifier que le service d’équilibrage de charge n’est pas en cours d’exécution ou qu’il y a un problème avec le fichier de configuration de la base de données.

Pour résoudre les problèmes d’informations d’identification, assurez-vous d’utiliser le nom d’utilisateur et le mot de passe corrects. Le nom d’utilisateur par défaut pour le champ Informations d’identification du serveur WLB est wlbuser (pas root). Root est le nom d’utilisateur administrateur par défaut. Notez que wlbuser n’est pas un utilisateur réel avec des privilèges de connexion dans l’appliance (il n’existe pas sous /etc/passwd) et que ces informations d’identification ne sont donc utilisées que pour se connecter à l’équilibrage de charge lui-même. À ce titre, elles peuvent être facilement réinitialisées en exécutant la commande wlbconfig. Pour modifier vos informations d’identification, consultez Modifier les informations d’identification de l’équilibrage de charge. Pour exécuter la commande wlbconfig, vous devez pouvoir vous connecter à l’appliance en tant que root. Si le mot de passe root est inconnu, il peut être réinitialisé en utilisant la procédure de récupération de mot de passe CentOS/RHEL standard.

Si vous avez réinitialisé vos informations d’identification mais que l’erreur persiste :

  1. Vérifiez si le processus d’équilibrage de charge est en cours d’exécution en utilisant la commande systemctl status workloadbalancing.
  2. Assurez-vous que le fichier wlb.conf existe et se trouve dans le bon répertoire en exécutant cette commande : cat /opt/vpx/wlb/wlb.conf

Scénario 3

Scénario 3 - Erreur : Le nom du serveur WLB configuré n'a pas pu être résolu dans le DNS. Vérifiez vos paramètres et réessayez.

Cela indique qu’il y a un problème de connexion au port spécifié dans les options d’adresse du serveur lors de la connexion à l’équilibrage de charge depuis XenCenter (soit le port incorrect a été saisi, soit le port n’écoute pas). Pour résoudre ce problème :

  1. Assurez-vous que l’appliance cible est opérationnelle.
  2. Vérifiez à nouveau le port saisi dans la fenêtre des détails de connexion de l’équilibrage de charge (par défaut : 8012).
  3. Assurez-vous que ce port est activé dans l’appliance et qu’il est en écoute. Utilisez des commandes comme telnet <host> <port> ou iptables -L pour déterminer si le port est en écoute ou si le trafic est refusé sur ce port.

Scénario 4

Scénario 4 - Erreur : WLB a refusé une connexion au serveur. Vérifiez vos paramètres et réessayez.

Cette erreur se produit lorsqu’il y a un problème avec stunnel (soit il n’est pas en cours d’exécution, soit la paire certificat/clé est incorrecte). Pour résoudre ce problème, vérifiez d’abord le certificat et la clé :

  1. Confirmez que le certificat n’a pas expiré en exécutant la commande suivante :

    openssl x509 -dates -in $(grep cert\ = /etc/stunnel/stunnel.conf |cut -d '=' -f2) -noout
    <!--NeedCopy-->
    
  2. Comparez le format hexadécimal de la sortie des 2 commandes suivantes. Si la sortie ne correspond pas, la mauvaise clé est utilisée.

    openssl x509 -modulus -in $(grep cert\ = /etc/stunnel/stunnel.conf |cut -d '=' -f2) -noout | openssl md5
    <!--NeedCopy-->
    

    et

    openssl rsa -modulus -in $(grep key\ = /etc/stunnel/stunnel.conf | cut -d '=' -f2) -noout | openssl md5
    <!--NeedCopy-->
    

S’il n’y a aucun problème avec le certificat et la clé, assurez-vous que stunnel est en cours d’exécution et qu’il est lié au port 8012 (ou au port configuré) :

  1. Exécutez la commande suivante dans l’interface de ligne de commande de l’appliance WLB :

    netstat -tulpn
    <!--NeedCopy-->
    

    Dans la sortie, 8012 (ou le port personnalisé) devrait afficher status: LISTEN.

  2. Si l’appliance est à court d’espace, stunnel ne fonctionnera pas. Utilisez des commandes comme df -h ou du -hs /* pour voir si vous disposez de suffisamment d’espace sur votre appliance. Pour augmenter l’espace disque, consultez Étendre le disque de l’appliance virtuelle.

Scénario 5

Scénario 5 - Erreur : La connexion au serveur WLB a été réinitialisée. Vérifiez vos paramètres et réessayez.

Cette erreur peut se produire parce que le processus stunnel a été arrêté. Si le redémarrage du processus donne les mêmes résultats, redémarrez l’appliance virtuelle Workload Balancing.

Toute autre erreur

Si vous rencontrez d’autres erreurs lors de la tentative de connexion à Workload Balancing ou si vous avez besoin d’une assistance supplémentaire pour effectuer les étapes ci-dessus, collectez les journaux Workload Balancing qui se trouvent dans le répertoire /var/log/wlb de l’appliance Workload Balancing.

Contactez le support pour une assistance supplémentaire.

Workload Balancing ne fonctionne plus

Si Workload Balancing ne fonctionne pas (par exemple, il ne vous permet pas d’enregistrer les modifications de paramètres), vérifiez le fichier journal de Workload Balancing pour le message d’erreur suivant :

dwmdatacolsvc.exe: Don't have a valid pool. Trying again in 10 minutes.
<!--NeedCopy-->

Cette erreur se produit généralement dans les pools qui contiennent une ou plusieurs machines virtuelles problématiques. Lorsque les machines virtuelles sont problématiques, vous pouvez observer le comportement suivant :

  • Windows. La machine virtuelle Windows plante en raison d’une erreur d’arrêt (“écran bleu”).
  • Linux. La machine virtuelle Linux peut ne pas répondre dans la console et ne s’arrête généralement pas.

Pour contourner ce problème :

  1. Forcez l’arrêt de la machine virtuelle. Pour ce faire, vous pouvez effectuer l’une des opérations suivantes sur l’hôte hébergeant la machine virtuelle problématique :

    • Dans XenCenter, sélectionnez la machine virtuelle, puis dans le menu VM, cliquez sur Arrêt forcé.
    • Exécutez la commande xe vm-shutdown avec le paramètre force défini sur true. Par exemple :

       xe vm-shutdown  force=true  uuid=vm_uuid
       <!--NeedCopy-->
      

      Vous pouvez trouver l’UUID de l’hôte sous l’onglet Général de cet hôte (dans XenCenter) ou en exécutant la commande xe host-list. Vous pouvez trouver l’UUID de la machine virtuelle dans l’onglet Général de la machine virtuelle ou en exécutant la commande xe vm-list. Pour plus d’informations, consultez Interface de ligne de commande.

  2. Dans le xsconsole du XenServer hébergeant la machine virtuelle plantée ou dans XenCenter, migrez toutes les machines virtuelles vers un autre hôte, puis exécutez la commande xe-toolstack-restart. (Ne redémarrez pas la pile d’outils tant que la haute disponibilité est activée. Si possible, désactivez temporairement la haute disponibilité avant de redémarrer la pile d’outils.)

Problèmes liés à la modification des serveurs d’équilibrage de charge

Si vous connectez un pool à un autre serveur d’équilibrage de charge sans vous déconnecter de l’équilibrage de charge, les anciens et les nouveaux serveurs d’équilibrage de charge surveillent le pool.

Pour résoudre ce problème, vous pouvez effectuer l’une des actions suivantes :

  • Arrêtez et supprimez l’ancienne appliance virtuelle d’équilibrage de charge.
  • Arrêtez manuellement les services d’équilibrage de charge. Ces services sont l’analyse, le collecteur de données et le service Web.

Remarque :

N’utilisez pas la commande xe pool-deconfigure-wlb pour déconnecter un pool de l’appliance virtuelle d’équilibrage de charge ni la commande xe pool-initialize-wlb pour spécifier une autre appliance.