vCenter Service Failing to Start

I recently upgraded vCenter from 5.0 U3 to 5.5 U2 which went smoothly and ran fine until our standard monthly windows patch window when we found the primary vCenter service would not start.

I initially flagged the issue with our database operations team and asked them to health check the SQL database for vCenter.

However I continued investigating and upon checking the vpxd.log file I found:

[VpxdReverseProxy] Failed to create http proxy: An attempt was made to access a socket in a way forbidden by its access permissions.

This lead me to a VMware knowledge base article listing troubleshooting steps for the vCenter service. Step four of this article suggested verification of the ports required by vCenter. Running ‘netstat –bano’ I found port 80 appeared to be in use by process id 4. Via Task Manager I found process ID 4 owned by the System which was not a conclusive identifier however it ruled out some potential suspects.

Looking at the knowledge base article again, it lists some services to specifically check for –

‘If another application, such as Microsoft Internet Information Server (IIS) (also known as Web Server (IIS) on Windows 2008 Enterprise), Routing and Remote Access Service (RAS), World Wide Web Publishing Services (W3SVC), Windows Remote Management service (WS-Management) or the Citrix Licensing Support service are utilizing any of the ports, vCenter Server cannot start.’

Reviewing the services running on the server I found the Window Remote Management service. I stopped the service and then retried vCenter. It was successful. I was then able to restart the Windows Remote Management service and vCenter continued to run.

I subsequently found a blog called The World According to Gabe that detailed a permanent solution.

Recording the key steps here for my own future reference:

If when you run winrm get winrm/config | find /I “http” you find that WinRM is listening on port 80 by default, run the following command:

winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port=”8888”}

If you want WinRM to listen on a different port, just change the “8888” to whatever port you wish, without breaking the formatting.

If you find that WinRM is not listening on port 80 by default, but is still grabbing the port, run the following command:

winrm set winrm/config/service @{EnableCompatibilityHttpListener=”false”}

Later still I found another VMware knowledge base article specific to the Window Remote Management service.

Leave a Reply

Your email address will not be published. Required fields are marked *