VMware vCenter Service Unreachable: Fix in 3 Steps
When vCenter won't load after a power failure or update, here's the fix. Start with the 30-second service restart, then move up.
When vCenter Won't Start
You're trying to log in to vCenter via the web client and you get that grey screen with "503 Service Unavailable". Or SSH into the appliance and you see services are down. This usually happens after a power outage, a failed update, or when someone accidentally killed a process. I've seen this about once a month with my clients running vCenter 7 and 8.
Here's the kicker: most of the time the fix takes under a minute. But if that doesn't work, we step up the effort. No need to panic. Just follow these sections in order. You can stop after each one if the problem is gone.
1. The Quick Fix: Restart Services (30 seconds)
This works about 70% of the time. The vCenter appliance has a service manager called vmon-cli. SSH into the vCenter appliance as root (or use the local admin account). Then run:
service-control --stop --all
service-control --start --all
After you hit enter, watch the output. It should list each service stopping and starting. Wait about 20 seconds after it finishes. Then try opening the vSphere Web Client again.
What you should see: After the restart command, the terminal shows "All services stopped" then "All services started". No red errors. If you see a service that fails to start (like vpxd or vmdir), skip to the moderate fix below.
2. The Moderate Fix: Check Logs and a Single Service Restart (5 minutes)
If the quick fix didn't work, one service is probably stuck. The most common culprit is vpxd (the vCenter Server service). Run this to check the service status:
service-control --status --all
Look for any service that says "STOPPED" when it should be "RUNNING". Common ones: vpxd, vmdir, vsphere-ui. If you see a service stopped, try restarting just that one:
service-control --restart vpxd
Replace vpxd with whatever service is down. After restarting, wait 30 seconds and check status again.
Still no luck? Time to check the logs. The main log file for vCenter is at /var/log/vmware/vpxd/vpxd.log. Use a command like this to see the last 50 lines:
tail -50 /var/log/vmware/vpxd/vpxd.log
Look for phrases like "FATAL", "ERROR", or "Connection refused". If you see a database connection error (like "Can't connect to PostgreSQL"), then the database service is down. Restart that:
service-control --restart vmware-vpostgres
What you should see: After the service restart, the log shows clean startup lines. The web client should load within a minute. If the error is about a missing database or corrupted data, move to the advanced fix.
3. The Advanced Fix: Reset the Database or Re-register Services (15+ minutes)
This is rare but happens when the SSL certificates are messed up or the database itself is corrupted from a bad update. You'll see errors in the logs like "DB schema mismatch" or "Cannot verify certificate".
First try: Reset the vCenter database. This doesn't delete your data – it just reinitializes the internal services. Run this command as root on the vCenter appliance:
vmon-cli -r all
Wait 2 minutes. Then restart all services again with service-control --restart --all. Check the web client.
If that still fails, you might need to re-register the vCenter services with the Platform Services Controller (PSC). On vCenter 7 and later, the PSC is embedded. Run this:
/usr/lib/vmware-vmdir/bin/vdcrepadmin -f showservers -h localhost
If you see no servers listed, the directory service is broken. You'll need to run a repair with the VAMI. Log into the VAMI at https://your-vcenter-ip:5480 (username: root). Go to Services and click Start for each service that's stopped. If nothing starts there, you're looking at a rebuild.
Last resort: If none of this works, you'll need to restore vCenter from backup. Or deploy a fresh vCenter and reconnect your hosts. That's a 30-minute job. But honestly, I've only needed to do that twice in five years.
Final Words
Most people fix this at step 1. A few need step 2. Very rarely do you hit step 3. The key is to check the logs early – they tell you exactly what's broken. Don't waste time guessing. And if you're on an older vCenter 6.x, consider upgrading to 8. Those older versions have more service crashes.
Was this solution helpful?