Erreur « 503 Service indisponible » dans vSphere Web Client : que faire ?

VMware vCenter Server, le point de gestion centralisé dans vSphere, est utilisé pour la gestion des hôtes ESXi, des clusters, des VM et d’autres composants dans votre centre de données virtualisé. Cet article de blog aborde l’erreur 503 Service Unavailable que vous pouvez rencontrer dans vSphere Client lorsque vous essayez de vous connecter à vCenter. Lisez pour en savoir plus sur les causes potentielles de cette erreur et comment la résoudre.

NAKIVO pour la sauvegarde de VMware vSphere

NAKIVO pour la sauvegarde de VMware vSphere

Protection complète des données pour les machines virtuelles VMware vSphere et options de récupération instantanée. Cibles de sauvegarde sécurisées sur site, hors site et dans le cloud. Fonctionnalités anti-ransomware.

Qu’est-ce que l’erreur « 503 Service indisponible » ?

503 Service indisponible est l’un des codes de statut HTTP standard renvoyés par un serveur lorsqu’un client lui envoie une requête. La classe 5xx des codes de statut HTTP sert à signaler aux utilisateurs les erreurs de serveur. De ce fait, 503 Service indisponible est une réponse qui décrit une erreur côté serveur. En général, cette erreur indique qu’un serveur ne peut pas traiter une requête et que vous devez rechercher le problème sur le serveur web hébergeant l’application.

Voici le texte complet de cette erreur pour VMware vSphere Client :

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x000055615a4d7a70] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe)

Dans le cas de l’erreur vCenter 503 Service Unavailable , celle-ci peut être due à différents facteurs :

  • Certains services ne se sont pas encore chargés et ne sont pas en cours d’exécution (l’un des problèmes courants est que le service de proxy inverse ou le service vSphere Web Client est hors service).
  • vCenter Server est en cours de maintenance
  • vCenter Server est surchargé
  • Des problèmes de disque sont survenus sur vCenter Server
  • Des problèmes affectent la base de données utilisée par vCenter
  • Paramètres de pare-feu incorrects (pour vCenter installé sous Windows) et problèmes réseau

Vous devez identifier et corriger l’erreur sur le serveur vCenter et non côté client.

Les services ne se sont pas lancés

Si vous venez de démarrer une instance vCenter et que tous les services requis ne se sont pas encore lancés, attendez quelques minutes puis réessayez.

  • Essayez de vous connecter à vCenter depuis un autre client.

Si cela ne résout pas le problème, vérifiez que tous les services requis se sont bien lancés.

  1. Ouvrez l’interface de gestion de l’appliance (pour vCenter Server Appliance) dans un navigateur Web en saisissant l’adresse IP ou le nom de domaine complet (FQDN) de vCenter et le port 5480, par exemple :https://192.168.101.103:5480/ui/services
  2. Vérifiez le statut des services vCenter dans la section Services . Par exemple, si le service vSphere Web Client est Startedet que le service vCenter Server est Stopped, l’erreur VMware 503 Service Unavailable peut se produire.Fixing the 503 Service Unavailable error – checking running services
  3. Vous pouvez vérifier le statut des services vCenter dans la console et l’interface de ligne de commande (CLI). Activez la connexion SSH, la console CLI et le shell Bash dans la section Access de l’interface de gestion de vCenter Appliance.SSH login and Bash Shell are enabled in VCSA management settings
  4. Vous pouvez également activer le shell Bash et l’accès SSH dans l’interface utilisateur de la console directe (DCUI) de vCenter Server Appliance (VCSA) via les options Troubleshooting Mode. Enabling SSH access in Troubleshooting Mode options in the DCUI of VCSA
  5. Assurez-vous qu’une connexion existe entre votre ordinateur et le serveur vCenter par l’exécution de la commande suivante depuis votre ordinateur (saisissez le nom d’hôte ou l’adresse IP de votre vCenter) :

    telnet vcenter_fqdn 9443

  6. Connectez-vous à vCenter via SSH, ou accédez à la console VCSA (appuyez sur « Alt+F1 » dans l’interface DCUI de vCenter, connectez-vous, saisissez « shell, » puis appuyez sur « Enter»).
  7. Vérifiez le statut des services vCenter en exécutant la commande suivante sur la machine exécutant vCenter :

    service-control --status --all
    Checking status of vCenter services to find a cause of the 503 Service Unavailable error

  8. S’il existe un Platform Service Controller (PSC) externe, vérifiez la connexion de vCenter au PSC. Vérifiez également les services sur le PSC.
  9. Si certains services ont été arrêtés, relancez-les tous à l’aide de la commande :

    service-control --start --all

  10. Essayez d’arrêter puis de redémarrer le service vSphere Client :

    service-control --stop vsphere-client
    service-control --start vsphere-client

  11. Patientez environ 10 à 15 minutes jusqu’à ce que le service démarre, puis essayez d’accéder à vCenter dans vSphere Client.

Vérifiez les fichiers journaux

La vérification des fichiers journaux peut vous aider à identifier la cause des erreurs, y compris l’erreur vCenter 503 Service Unavailable .

Commencez par examiner le fichier vsphere_client_virgo.log .

  • Pour la version Windows de vCenter Server, les journaux sont stockés à l’emplacement suivant :
    C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs
  • Pour vCenter Server Appliance, les journaux vCenter sont stockés à l’emplacement suivant :
    /var/log/vmware/vsphere-client/logs/

Vérifiez également le fichier vpxd.log .

  • Sur vCenter fonctionnant sous Windows, le fichier vpxd.log est stocké à l’emplacement suivant :
    C:ProgramDataVMwarevCenterServerlogsvmware-vpx
  • Sur vCenter Server Appliance, le fichier vpxd.log est stocké à l’emplacement suivant :
    /var/log/vmware/vpxd/

Ressources matérielles libres insuffisantes

Un espace disque insuffisant ne provoque pas à lui seul l’erreur vCenter 503 Service indisponible . Cependant, certains services ne peuvent pas démarrer s’il n’y a pas d’espace disque libre, ce qui peut entraîner l’erreur 503 Service indisponible . Une latence de stockage élevée pour vCenter peut également être la raison de cette erreur. À partir de la version 6.5 de VCSA, l’appliance est fournie avec 12 disques virtuels (contre 2 auparavant), et il est possible qu’un dysfonctionnement survienne sur l’un d’entre eux. Si vCenter Server est surchargé, le serveur, trop sollicité, ne peut pas traiter votre requête.

  • Vérifiez l’espace disque disponible et exécutez la commande côté vCenter Server. Si vous utilisez vCenter Server Appliance, exécutez cette commande :
    df -h
  • La partition /storage/archive/ peut être pleine dans VCSA 6.7 ; il s’agit d’une situation attendue (normale) compte tenu de la conception de vCenter 6.7 par VMware. Vérifiez la mémoire libre et les ressources du processeur :
    top
  • Vérifiez le système de fichiers sur la machine exécutant vCenter. Utilisez e2fsck pour vérifier le système de fichiers sur VCSA, puis exécutez la commande e2fsck -y filesystem, par exemple :
    e2fsck -y /dev/sda1
  • Si des erreurs sont détectées et corrigées, redémarrez vCenter Server :
    reboot

Problèmes liés à la base de données vCenter

La base de données est un composant essentiel au bon fonctionnement de vCenter Server. Si la base de données ne fonctionne pas, des erreurs vCenter peuvent survenir, notamment « vCenter 503 Service indisponible ». Examinons les problèmes de base de données possibles et les méthodes pour les résoudre.

Parfois, les erreurs suivantes s’affichent dans le vpxd fichier journal :

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (23505) - ERROR: duplicate key value violates unique constraint "pk_vpx_vm_virtual_device";

Error while executing the query" is returned when executing SQL statement "INSERT INTO VPX_VM_VIRTUAL_DEVICE

  • Si votre vCenter est installé sous Windows, consultez l’ Observateur d’événements pour consulter les journaux d’événements de l’application.

Il s’agit d’un bug dû à des entrées en double dans la base de données Postgres intégrée, utilisée pour le bon fonctionnement de vCenter.

  1. Ouvrez l’interface en ligne de commande de vCenter Server Appliance et, par exemple, connectez-vous au serveur via SSH.
  2. Accédez au répertoire des journaux Postgres :
    cd /var/log/vmware/vpostgres
  3. Vérifiez les fichiers journaux. Les fichiers journaux sont nommés selon le format postgresql-“dayofmonth”.log . Par exemple, le fichier journal correspondant au troisième jour du mois s’appelle «postgresql-03.log». Si nous sommes le 3 mai, vérifiez le contenu du fichier journal correspondant : cat postgresql-03.log
    2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc ERROR:  duplicate key value violates unique constraint “pk_vpx_vm_virtual_device”

    2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc DETAIL:  Key (id, device_key)=(8101, 4002) already exists.
  4. Notez les valeurs ID et DEVICE_KEY. Dans cet exemple, ces valeurs sont respectivement 8101 et 4002.
  5. Connectez-vous à la base de données Postgres intégrée utilisée par vCenter :
    /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
  6. Supprimez l’entrée en double :
    DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;
    "DELETE 1" dans la sortie signifie que tout est en ordre.
  7. Quittez l’interface CLI de la base de données :
    q
  8. Tapez reboot pour redémarrer votre vCenter Server. Warten jusqu’à ce que le vCenter Server et les services aient démarré, puis essayez d’ouvrir vSphere Client.

Il se peut que la même erreur réapparaisse après le redémarrage. Vérifiez à nouveau les journaux de la base de données. Si des entrées en double ont été recréées, supprimez-les et redémarrez vCenter. Vous devrez peut-être répéter plusieurs fois la suppression des entrées en double et le redémarrage de vCenter Server jusqu’à ce que le problème soit résolu.

  • Il peut parfois être nécessaire d’identifier la machine virtuelle concernée, d’enlever la machine virtuelle de l’inventaire, puis de la réenregistrer (ajouter) dans l’inventaire.
  • Si cette méthode ne permet pas de résoudre définitivement le problème, essayez de mettre à niveau votre vCenter vers la version 6.7 ou une version plus récente.
  • Si vous utilisez une base de données SQL, vérifiez que vous disposez d’espace disque libre pour stocker les journaux de la base de données SQL. Si l’espace libre est insuffisant sur le système de fichiers des journaux de la base de données SQL, vous risquez d’obtenir l’erreur suivante :

Problèmes liés aux autorisations

Si votre vCenter est installé sur Windows Server, des problèmes liés aux autorisations des comptes peuvent parfois survenir.

Vérifiez la politique « Se connecter en tant que tâche batch » dans l’éditeur de stratégies de groupe, et assurez-vous que tous les comptes nécessaires y figurent. Un manque d’autorisations sur le serveur Windows Server où vCenter est installé peut provoquer l’erreur vSphere 503 Service Unavailable

  1. Ouvrez l’éditeur de politique de groupe local sous Windows (Start > Run > gpedit.msc).
  2. Dans l’éditeur de politique de groupe, accédez à Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment > Log on as a batch job.
  3. Ajoutez ces comptes utilisateur à cette politique s’ils sont manquants :
    cm
    content-library
    eam
    imagebuilder
    mbcs
    netdumper
    perfcharts
    rbd
    vapiEndpoint
    vmware-vpostgres
    vsan-health
    vsm
    vsphere-client
    vsphere-ui
  4. Cliquez sur Add User or Group pour ajouter des comptes.Editing permissions in the group policy editor
  5. Arrêtez puis redémarrez le service vSphere Client par ces commandes :
    service-control --stop vsphere-client
    service-control --start vsphere-client
  6. Démarrez le service d’interface utilisateur vSphere :
    service-control --start vsphere-ui
  7. Wartez jusqu’à ce que le service soit démarré.
  8. Redémarrez vCenter Server, puis vérifiez si vCenter fonctionne correctement.

En règle générale, les comptes nécessaires devraient être ajoutés automatiquement par le programme d’installation de vCenter jusqu’à ce que cette politique soit définie manuellement dans un éditeur de stratégie de groupe.

Problèmes de réseau et de DNS

Assurez-vous que le nom DNS de vCenter est correctement défini et que l’adresse IP de vCenter Server est résolue. Si le DNS contient une entrée erronée, vous risquez d’obtenir l’erreur 503 Service Unavailable . Lors de l’installation de vCenter, définissez le nom DNS dans la configuration à l’étape 7 (Configurer les paramètres réseau) de la phase 1.

Set the FQDN when you install vCenter to avoid 503 service unavailable (failed to connect to endpoint

Si vous utilisez un PSC externe, l’adresse IP du PSC doit être résolue dans les deux sens : recherche directe et recherche inverse.

  1. Vérifiez le nom d’hôte dans le fichier /etc/hosts sur l’appliance vCenter Server. Assurez-vous qu’un nom de domaine complet (FQDN) et un nom court figurent dans ce fichier au format suivant :
    vCenter_IP vCenter Server Appliance FQDN vcenter short name
    Par exemple :
    192.168.101.103 vCenter6-7.vsphere.local vCenter6-7
  2. Après avoir modifié la configuration DNS, redémarrez le service vpxd :
    service vmware-vpxd restart
  3. Vous pouvez vérifier le statut du service vpxd à l’aide de la commande :
    vpxd status service vmware-vpxd status
  4. Sur le PSC, exécutez ces commandes pour redémarrer les services associés :
    /etc/init.d/vmware-stsd restart
    /etc/init.d/vmware-sts-idmd restart
    service vmware-cm restart
  5. Redémarrez le service vpxd sur la machine où vCenter est installé :
    service vmware-vpxd restart
  6. Attendez que tous les services nécessaires aient démarré, puis essayez d’ouvrir VMware vSphere Client.
    Il est recommandé d’utiliser un modèle de déploiement vCenter avec un PSC intégré afin de réduire les problèmes réseau. Les dernières versions de vCenter, telles que vCenter 7.0, ne prennent en charge que l’installation avec un PSC intégré.

Si vous obtenez toujours l’erreur vCenter 503 Service Unavailable , essayez la méthode suivante.

  1. Essayez d’activer ou de désactiver IPv6. Ouvrez /etc/sysctl.conf et remplacez la valeur net.ipv6.conf.eth0.disable_ipv6 de 1 par 0 pour activer IPv6 :
    #Disabling SLAAC/Link Local addresses
    net.ipv6.conf.eth0.disable_ipv6=0
  2. De même, définissez la valeur sur 1 pour désactiver IPv6.
  3. Une fois les paramètres enregistrés, exécutez les commandes suivantes :
    sysctl -a
    sysctl -p
  4. Ouvrez maintenant VMware vSphere Client. Vérifiez que tout fonctionne correctement après le redémarrage.
  5. Essayez de désactiver SMBv1 et d’activer SMBv2 à la place. Redémarrez ensuite vCenter Server et vérifiez si cette méthode a résolu le problème.

Problèmes de mot de passe

Vérifiez si le mot de passe root de votre appliance vCenter Server a expiré. S’il a expiré, vous ne pourrez pas vous connecter à vCenter pour modifier la configuration et corriger les erreurs, y compris l’erreur de l’appliance vCenter 503 Service Unavailable sans solution de contournement. Vous pouvez définir la durée de validité du mot de passe root sur 0 si vous souhaitez qu’il n’expire jamais.

  1. Vous pouvez modifier les paramètres d’expiration du mot de passe root dans l’interface graphique de gestion de vCenter Server Appliance :
    https://your_vCenter_IP:5480/ui/administrationThe root password expiration settings in vCenter Server Appliance Management configuration
  2. En cas de non-correspondance des mots de passe dans vmdird pour le compte spécifié dans vmdird-syslog.log, cela peut être la raison de l’erreur suivante :

    503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)"

  3. Vérifiez le fichier /var/log/vmware/vmdird/vmdird-syslog.log pour identifier le mot de passe du compte qui n’est pas valide et qui doit être réinitialisé.
    Remarque : Sauvegardez votre vCenter avant de modifier la configuration ou, à défaut, effectuez au moins un instantané si votre vCenter Server s’exécute sur une machine virtuelle. Procédez de même pour le Platform Service Controller externe si vous en utilisez un.
  4. Connectez-vous à vCenter Server Appliance en tant que root via SSH. Tapez shell.set --enabled true puis Shell pour accéder à la console Bash.
  5. Ouvrez l’outil vdcadmintool en exécutant la commande :
    /usr/lib/vmware-vmdir/bin/vdcadmintool
  6. Sélectionnez la troisième option :
    Reset account password
  7. Saisissez le nom du compte dont vous souhaitez réinitialiser le mot de passe, conformément aux informations contenues dans le fichier vmdird-syslog.log .
  8. Un nouveau mot de passe est généré automatiquement. Copiez et notez ce mot de passe.
    Remarque : Si vous voyez un caractère vide dans le mot de passe, générez un nouveau mot de passe en revenant à l’étape précédente. Ce problème se produit si un mot de passe contient des caractères spéciaux, qui s’affichent alors comme des caractères manquants (vides).
  9. Connectez-vous à vCenter Server via SSH comme expliqué ci-dessus (si vous utilisez un PSC externe). Si vous utilisez le PSC intégré, passez à l’étape suivante.
  10. Exécutez la commande suivante pour mettre à jour le nouveau mot de passe :
    /opt/likewise/bin/lwregshell
    cd HKEY_THIS_MACHINEservicesvmdir
    set_value dcAccountPassword "new password"
    quit
  11. Redémarrez les services de vCenter Server Appliance par les commandes suivantes :
    service-control --stop --all
    service-control --start --all

Effectuez une sauvegarde de vCenter

Il est généralement recommandé de sauvegarder vCenter une fois la configuration terminée. Vous devez le faire après vous être assuré que vCenter fonctionne correctement et avant de modifier la configuration, afin de pouvoir restaurer vCenter en cas de problème. La meilleure approche consiste à créer régulièrement des sauvegardes de vCenter, car la configuration de vCenter peut évoluer en cours de fonctionnement et certains éléments peuvent être ajoutés à l’inventaire de vCenter. Il est impossible de prévoir quand une panne se produira.

NAKIVO Backup & Replication est une solution universelle de protection des données capable de sauvegarder les machines virtuelles VMware vSphere et les machines physiques fonctionnant sous Windows et Linux, y compris les bases de données SQL. Protégez vos machines vCenter Server avec NAKIVO Backup & Replication ; ainsi, en cas de problème avec votre vCenter, vous pourrez restaurer la configuration opérationnelle en peu de temps. La prise en charge des sauvegardes incrémentielles et de la politique de rétention GFS permet d’effectuer les sauvegardes de VMware vCenter de manière plus rationnelle. Le produit prend en charge la troncature de journaux SQL afin d’économiser de l’espace de stockage et de réduire le risque d’erreurs causées par un espace disque insuffisant en présence de journaux de base de données volumineux.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte bancaire requise.

Les gens qui ont consulté cet article ont également lu