Errore “503 Servizio non disponibile” su vSphere Web Client: cosa fare?
VMware vCenter Server, il punto di gestione centralizzato di VMware vSphere, viene utilizzato per gestire host ESXi, cluster, macchine virtuali e altri componenti del data center virtualizzato. Questo articolo del blog tratta l’errore 503 Servizio non disponibile che potrebbe comparire in vSphere Client quando si tenta di connettersi a vCenter. Continua a leggere per scoprire le possibili cause di questo errore e come risolverlo.
Che cos’è l’errore “503 Servizio non disponibile”?
503 Servizio non disponibile è uno dei codici di stato HTTP standard restituiti da un server quando un client invia una richiesta al server. La classe 5xx dei codici di stato HTTP viene utilizzata per segnalare agli utenti la presenza di errori del server. Pertanto, 503 Servizio non disponibile è una risposta che descrive un errore a livello di server. Di solito questo errore indica che un server non è in grado di gestire una richiesta e che è necessario individuare il problema sul server web che ospita un’applicazione.
Ecco il testo completo di questo errore per VMware vSphere Client:
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x000055615a4d7a70] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe)
Nel caso dell’errore vCenter 503 Service Unavailable , l’errore può essere causato da diversi fattori:
- Alcuni servizi non sono ancora stati caricati e non sono in esecuzione (uno dei problemi più comuni è che il servizio proxy inverso o il servizio vSphere Web Client sia inattivo).
- vCenter Server è in manutenzione
- vCenter Server è sovraccarico
- Si sono verificati problemi con il disco su vCenter Server
- Ci sono problemi con un database utilizzato da vCenter
- Impostazioni del firewall errate (per vCenter installato su Windows) e problemi di rete
È necessario individuare e risolvere l’errore sul server vCenter e non sul lato client.
I servizi non sono stati avviati
Se hai appena avviato un’istanza di vCenter e tutti i servizi necessari non sono ancora stati avviati, attendi qualche minuto e riprova.
- Prova a connetterti a vCenter da un altro client.
Se questo non risolve il problema, verifica che tutti i servizi necessari siano stati avviati.
- Aprire l’interfaccia di gestione dell’appliance (per vCenter Server Appliance) in un browser web inserendo l’indirizzo IP o il FQDN (nome di dominio completo) di vCenter e la porta 5480, ad esempio:
https://192.168.101.103:5480/ui/services - Verificare lo stato dei servizi vCenter nella sezione
Services. Ad esempio, se il servizio vSphere Web Client èStartede il servizio vCenter Server èStopped, può verificarsi l’errore VMware503 Service Unavailable.
- È possibile verificare lo stato dei servizi vCenter nella console e nell’interfaccia della riga di comando (CLI). Abilitare l’accesso SSH, la console CLI e la shell Bash nella sezione
Accessdell’interfaccia di gestione di vCenter Appliance.
- In alternativa, è possibile abilitare la shell Bash e l’accesso SSH nella DCUI (Direct Console User Interface) di vCenter Server Appliance (VCSA) nelle opzioni
Troubleshooting Mode.
-
Assicurati che vi sia una connessione tra il tuo computer e il server vCenter eseguendo il comando dal tuo computer (inserisci il nome host o l’indirizzo IP del tuo vCenter):
telnet vcenter_fqdn 9443 - Connettiti a vCenter tramite SSH oppure alla console VCSA (premi
Alt+F1nella DCUI di vCenter, effettua l’accesso, digitashell,e premiEnter). -
Verificare lo stato dei servizi vCenter eseguendo il comando sul computer su cui è in esecuzione vCenter:
service-control --status --all

- Se è presente un Platform Service Controller (PSC) esterno, verificare la connessione di vCenter al PSC. Verificare anche i servizi sul PSC.
-
Se alcuni servizi sono stati terminati, riavviare tutti i servizi con il comando:
service-control --start --all -
Provare ad arrestare e riavviare il servizio vSphere Client:
service-control --stop vsphere-client
service-control --start vsphere-client - Attendere circa 10–15 minuti affinché il servizio si avvii, quindi provare ad accedere a vCenter in vSphere Client.
Controllare i file di log
Il controllo dei file di log può aiutare a individuare la causa degli errori, compreso l’errore vCenter 503 Service Unavailable .
Innanzitutto, esaminare il file vsphere_client_virgo.log .
- Per la versione Windows di vCenter Server, i log sono memorizzati in:
C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs - Per vCenter Server Appliance, i log di vCenter sono memorizzati in:
/var/log/vmware/vsphere-client/logs/
Controllare anche il file vpxd.log .
- Su vCenter in esecuzione su Windows, il file `
vpxd.log` è memorizzato in:
C:ProgramDataVMwarevCenterServerlogsvmware-vpx - . Su vCenter Server Appliance, il file `
vpxd.log` è memorizzato in:
/var/log/vmware/vpxd/
. Risorse hardware libere insufficienti
. Lo spazio su disco insufficiente non causa di per sé l’errore vCenter ` ` 503 Servizio non disponibile ` `. Tuttavia, alcuni servizi non possono avviarsi se non c’è spazio libero su disco, e questo può causare l’errore ` ` 503 Servizio non disponibile ` `. Anche un’elevata latenza di storage per vCenter può essere un motivo di questo errore. A partire da VCSA 6.5, l’appliance è dotata di 12 dischi virtuali (in precedenza VCSA ne aveva 2) ed è possibile che si verifichi un problema con uno dei dischi virtuali. Se vCenter Server è sovraccarico, il server occupato non è in grado di gestire la richiesta.
- Verificare lo spazio libero su disco ed eseguire il comando sul lato vCenter Server. Se si utilizza vCenter Server Appliance, eseguire questo comando:
df -h - La partizione
/storage/archive/può essere piena in VCSA 6.7, e questa è una situazione prevista (normale) in base alla progettazione di vCenter 6.7 da parte di VMware. Verificare la memoria libera e le risorse del processore:
top - Verificare il file system sulla macchina su cui è in esecuzione vCenter. Utilizzare
e2fsckper verificare il file system su VCSA ed eseguire il comandoe2fsck -y filesystem, ad esempio:
e2fsck -y /dev/sda1 - Se vengono rilevati e risolti degli errori, riavviare vCenter Server:
reboot
Problemi con il database di vCenter
Il database è un componente importante necessario per il corretto funzionamento di vCenter Server. Se il database non funziona, potrebbero verificarsi errori di vCenter, tra cui “ vCenter 503 Servizio non disponibile ”. Esaminiamo i possibili problemi relativi al database e i metodi per risolverli.
A volte nel file di log vpxd vengono visualizzati i seguenti errori:
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
- Se vCenter è installato su Windows, controllare il Visualizzatore eventi per visualizzare i log degli eventi dell’applicazione.
Si tratta di un bug dovuto a voci duplicate nel database Postgres incorporato, utilizzato per il corretto funzionamento di vCenter.
- Aprire l’interfaccia a riga di comando di vCenter Server Appliance e, ad esempio, connettersi al server tramite SSH.
- Accedere alla directory dei log di Postgres:
cd /var/log/vmware/vpostgres - Controllare i file di log. I file di log sono denominati nel formato
postgresql-“dayofmonth”.log. Ad esempio, il file di log relativo al terzo giorno del mese è denominato “postgresql-03.log”. Se oggi è il 3 maggio, controllare il contenuto del file di log corrispondente: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. - Prendere nota di
IDeDEVICE_KEY. In questo esempio, tali valori sono rispettivamente 8101 e 4002. - Connettiti al database Postgres incorporato utilizzato da vCenter:
/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres - Elimina la voce duplicata:
DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;
"DELETE 1"nell’output significa che è tutto a posto. - Esci dalla CLI del database:
q - Digita
rebootper riavviare vCenter Server. Attendi che vCenter Server e i servizi siano stati avviati, quindi prova ad aprire vSphere Client.
Potresti ricevere nuovamente lo stesso errore dopo il riavvio. Controlla nuovamente i log del database. Se le voci duplicate sono state create di nuovo, eliminale e riavvia vCenter. Potrebbe essere necessario ripetere più volte l’eliminazione delle voci duplicate e il riavvio di vCenter Server fino a quando il problema non viene risolto.
- A volte potrebbe essere necessario individuare la VM interessata, rimuoverla dall’inventario, quindi registrarla nuovamente (aggiungerla) all’inventario.
- Se questo metodo non risolve il problema in modo definitivo, provi ad upgradeare vCenter alla versione 6.7 o successive.
- Se utilizza il database SQL, verifichi di disporre di spazio libero su disco per archiviare i log del database SQL. Se non c’è spazio libero sul filesystem dei log del database SQL, è possibile che venga visualizzato l’errore.
Problemi con le autorizzazioni
Se vCenter è installato su Windows Server, a volte possono verificarsi problemi con le autorizzazioni degli account.
Controllare il criterio “ Accedere come processo batch ” nell’editor dei criteri di gruppo e assicurarsi che tutti gli account necessari siano presenti. La mancanza di autorizzazioni su Windows Server dove è installato vCenter può causare l’errore vSphere 503 Service Unavailable .
- Aprire l’editor dei criteri di gruppo locali in Windows (
Start > Run > gpedit.msc). - Nell’editor dei criteri di gruppo, andare su
Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment > Log on as a batch job. - Aggiungere questi account utente al criterio se non sono presenti:
cm
content-library
eam
imagebuilder
mbcs
netdumper
perfcharts
rbd
vapiEndpoint
vmware-vpostgres
vsan-health
vsm
vsphere-client
vsphere-ui - Fare clic su
Add User or Groupper aggiungere gli account.
- Arrestare e avviare il servizio vSphere Client utilizzando questi comandi:
service-control --stop vsphere-client
service-control --start vsphere-client - Avviare il servizio dell’interfaccia utente vSphere:
service-control --start vsphere-ui - Attendere che il servizio venga avviato.
- Riavviare vCenter Server e verificare se vCenter è attivo.
Di norma, gli account necessari dovrebbero essere aggiunti automaticamente dal programma di installazione di vCenter, a meno che questo criterio non venga configurato manualmente in un editor dei criteri di gruppo.
Problemi di rete e DNS
Assicurarsi che il nome DNS di vCenter sia impostato correttamente e che l’indirizzo IP di vCenter Server venga risolto. Se il DNS presenta una voce errata, potrebbe verificarsi l’errore 503 Service Unavailable . Durante l’installazione di vCenter, impostare il nome DNS nella configurazione al passaggio 7 (Configurazione delle impostazioni di rete) della fase 1.

Se si utilizza un PSC esterno, l’indirizzo IP del PSC deve essere risolto in entrambe le direzioni: ricerca diretta e ricerca inversa.
- Verificare il nome host nel file
/etc/hostssul vCenter Server Appliance. Assicurarsi che in questo file siano presenti un nome di dominio completo (FQDN) e un nome abbreviato nel seguente formato:
vCenter_IP vCenter Server Appliance FQDN vcenter short name
Ad esempio:
192.168.101.103 vCenter6-7.vsphere.local vCenter6-7 - Dopo aver modificato la configurazione DNS, riavvia il servizio
vpxd:
service vmware-vpxd restart - Puoi verificare lo stato del servizio
vpxdcon il comando:
vpxd status service vmware-vpxd status - Sul PSC esegui questi comandi per riavviare i servizi correlati:
/etc/init.d/vmware-stsd restart
/etc/init.d/vmware-sts-idmd restart
service vmware-cm restart - Riavvia il servizio vpxd sulla macchina in cui è installato vCenter:
service vmware-vpxd restart - Attendi che tutti i servizi necessari siano stati avviati, quindi prova ad aprire VMware vSphere Client.
Si consiglia di utilizzare un modello di implementazione vCenter con un PSC incorporato per ridurre al minimo i problemi di rete. Le ultime versioni di vCenter, come vCenter 7.0, supportano solo l’installazione con un PSC integrato.
Se continua a comparire l’errore vCenter 503 Service Unavailable , prova il metodo successivo.
- Prova ad abilitare o disabilitare IPv6. Apri
/etc/sysctl.confe modifica il parametronet.ipv6.conf.eth0.disable_ipv6da1a0per abilitare IPv6:
#Disabling SLAAC/Link Local addresses
net.ipv6.conf.eth0.disable_ipv6=0 - Allo stesso modo, imposta il valore 1 per disabilitare IPv6.
- Una volta salvate le impostazioni, esegui i comandi:
sysctl -a
sysctl -p - Apri ora VMware vSphere Client. Verifica che tutto funzioni correttamente dopo il riavvio.
- Prova a disabilitare SMBv1 e ad abilitare invece SMBv2. Quindi riavvia vCenter Server e verifica se questo metodo ha risolto il problema.
Problemi relativi alla password
Verifica se la password di root per vCenter Server Appliance è scaduta. Se è scaduta, non potrai accedere a vCenter per modificare la configurazione e correggere errori, incluso l’errore relativo all’appliance vCenter 503 Service Unavailable senza una soluzione alternativa. È possibile impostare il periodo di scadenza della password di root su 0 se si desidera che la password non scada mai.
- È possibile modificare le impostazioni di scadenza della password di root nell’interfaccia grafica di vCenter Server Appliance Gestione:
https://your_vCenter_IP:5480/ui/administration
- Se si verifica una discrepanza nella password in
vmdirdper l’account specificato invmdird-syslog.log, questo fattore potrebbe essere il motivo del seguente errore:503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)" - Controllare il file
/var/log/vmware/vmdird/vmdird-syslog.logper identificare quale password dell’account non è valida e deve essere reimpostata.
Nota: Eseguire il backup di vCenter prima di effettuare una modifica alla configurazione o, almeno, creare un snapshot se vCenter Server è in esecuzione su una VM. Procedere allo stesso modo per il Platform Service Controller esterno, se ne si utilizza uno. - Accedere a vCenter Server Appliance come
roottramite SSH. Digitareshell.set --enabled truee poiShellper accedere alla console Bash. - Aprire lo strumento vdcadmintool eseguendo il comando:
/usr/lib/vmware-vmdir/bin/vdcadmintool - Selezionare la terza opzione:
Reset account password - Inserire il nome dell’account di cui si desidera reimpostare la password, in base alle informazioni contenute nel file
vmdird-syslog.log. - Viene generata automaticamente una nuova password. Copiare e prendere nota di questa password.
Nota: Se nella password è presente un carattere vuoto, generare una nuova password tornando al passaggio precedente. Questo problema si verifica se una password contiene caratteri speciali, che vengono visualizzati come caratteri mancanti (vuoti). - Connettersi a vCenter Server tramite SSH come spiegato sopra (se si utilizza un PSC esterno). Se si utilizza il PSC integrato, passare al passaggio avanti.
- Eseguire il comando per aggiornare la nuova password:
/opt/likewise/bin/lwregshell
cd HKEY_THIS_MACHINEservicesvmdir
set_value dcAccountPassword "new password"
quit - Riavviare i servizi di vCenter Server Appliance utilizzando i comandi:
service-control --stop --all
service-control --start --all
Eseguire il backup di vCenter
In genere si consiglia di eseguire il backup di vCenter al termine della configurazione. È opportuno farlo dopo essersi assicurati che vCenter sia attivo e prima di modificare la configurazione, in modo da poter ripristinare vCenter qualora si verifichino problemi. L’approccio migliore consiste nel creare backup regolari di vCenter, poiché la configurazione di vCenter può subire modifiche durante il funzionamento e alcune voci potrebbero essere aggiunte all’inventario di vCenter. Non è possibile prevedere quando si verificherà un guasto.
NAKIVO Backup & Replication è una soluzione universale per la protezione dei dati in grado di eseguire il backup di macchine virtuali VMware vSphere e macchine fisiche con sistemi operativi Windows e Linux, inclusi i database SQL. Proteggete le vostre macchine vCenter Server con NAKIVO Backup & Replication e, in caso di problemi con vCenter, potrete ripristinare la configurazione funzionante in breve tempo. Il supporto per il backup incrementale e il criterio di conservazione GFS contribuisce a eseguire il backup di VMware vCenter in modo più razionale. Il prodotto supporta il troncamento dei registri SQL per risparmiare spazio di storage e ridurre la probabilità di errori causati da spazio su disco insufficiente in presenza di log di database di grandi dimensioni.