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.
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.
- 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 - Vérifiez le statut des services vCenter dans la section
Services. Par exemple, si le service vSphere Web Client estStartedet que le service vCenter Server estStopped, l’erreur VMware503 Service Unavailablepeut se produire.
- 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
Accessde l’interface de gestion de vCenter Appliance.
- 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.
-
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 - 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»). -
Vérifiez le statut des services vCenter en exécutant la commande suivante sur la machine exécutant vCenter :
service-control --status --all

- 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.
-
Si certains services ont été arrêtés, relancez-les tous à l’aide de la commande :
service-control --start --all -
Essayez d’arrêter puis de redémarrer le service vSphere Client :
service-control --stop vsphere-client
service-control --start vsphere-client - 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.logest stocké à l’emplacement suivant :
C:ProgramDataVMwarevCenterServerlogsvmware-vpx - Sur vCenter Server Appliance, le fichier
vpxd.logest 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
e2fsckpour vérifier le système de fichiers sur VCSA, puis exécutez la commandee2fsck -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.
- Ouvrez l’interface en ligne de commande de vCenter Server Appliance et, par exemple, connectez-vous au serveur via SSH.
- Accédez au répertoire des journaux Postgres :
cd /var/log/vmware/vpostgres - 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. - Notez les valeurs
IDetDEVICE_KEY. Dans cet exemple, ces valeurs sont respectivement 8101 et 4002. - 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 - 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. - Quittez l’interface CLI de la base de données :
q - Tapez
rebootpour 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
- Ouvrez l’éditeur de politique de groupe local sous Windows (
Start > Run > gpedit.msc). - 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. - 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 - Cliquez sur
Add User or Grouppour ajouter des comptes.
- Arrêtez puis redémarrez le service vSphere Client par ces commandes :
service-control --stop vsphere-client
service-control --start vsphere-client - Démarrez le service d’interface utilisateur vSphere :
service-control --start vsphere-ui - Wartez jusqu’à ce que le service soit démarré.
- 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.

Si vous utilisez un PSC externe, l’adresse IP du PSC doit être résolue dans les deux sens : recherche directe et recherche inverse.
- Vérifiez le nom d’hôte dans le fichier
/etc/hostssur 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 - Après avoir modifié la configuration DNS, redémarrez le service
vpxd:
service vmware-vpxd restart - Vous pouvez vérifier le statut du service
vpxdà l’aide de la commande :
vpxd status service vmware-vpxd status - 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 - Redémarrez le service vpxd sur la machine où vCenter est installé :
service vmware-vpxd restart - 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.
- Essayez d’activer ou de désactiver IPv6. Ouvrez
/etc/sysctl.confet remplacez la valeurnet.ipv6.conf.eth0.disable_ipv6de1par0pour activer IPv6 :
#Disabling SLAAC/Link Local addresses
net.ipv6.conf.eth0.disable_ipv6=0 - De même, définissez la valeur sur 1 pour désactiver IPv6.
- Une fois les paramètres enregistrés, exécutez les commandes suivantes :
sysctl -a
sysctl -p - Ouvrez maintenant VMware vSphere Client. Vérifiez que tout fonctionne correctement après le redémarrage.
- 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.
- 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/administration
- En cas de non-correspondance des mots de passe dans
vmdirdpour le compte spécifié dansvmdird-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)" - Vérifiez le fichier
/var/log/vmware/vmdird/vmdird-syslog.logpour 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. - Connectez-vous à vCenter Server Appliance en tant que
rootvia SSH. Tapezshell.set --enabled truepuisShellpour accéder à la console Bash. - Ouvrez l’outil vdcadmintool en exécutant la commande :
/usr/lib/vmware-vmdir/bin/vdcadmintool - Sélectionnez la troisième option :
Reset account password - 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. - 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). - 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.
- 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 - 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.