Earlier today I was doing some work in my demonstration vSphere environment, when I had to modify some settings of one of my VMs that are setup as the latest version (which means you can only edit the settings inside of the vSphere Web Client).
To my surprise, when logging in, immediately I received an error: “ManagedObjectReference: type = Datastore, value = datastore-XXXX, serverGuid = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX refers to a managed object that no longer exists or has never existed“. Also, after clicking OK, I noticed that lots of information being presented inside of the vSphere web client was inaccurate. Some Virtual Machines were being reported as sitting on different datastores (they were at one point weeks ago, however since were moved). Also, it was reporting that some Virtual Machines were off, when in fact they were on and running.
Symptoms:
-Errors about missing datastores on log on to the vSphere Web Client.
-Virtual Machines were being reported as off (turned off) even though they were running.
-Viewing VMs in vSphere client, reporting they are being stored on a different datastore then they actually are.
-Disconnecting and (re) connecting hosts have no effect on issue.
This freaked me out, it was a true “Uhh Ohh” moment. Something was corrupt. Keep in mind that ALL information in the vSphere client was correct and accurate, it was only the vSphere Web client that was having issues.
Anyways, I tried a bunch of things to fix it, and spent hours working on the problem. FINALLY I came up with a fix. If you are running in to this issue, PLEASE take a snapshot of your vCenter Server before attempting to fix it, so that you can roll back if you screw anything up (which I had to do multiple times, lol).
The Fix:
1) Stop the “VMWare vCenter Inventory Service”.
2) Delete the “data” folder inside of “Program Files\VMware\Infrastructure\Inventory Service”.
3) Open a Command Prompt with elevated privileges. Change your working directory to “Program Files\VMware\Infrastructure\Inventory Service\scripts”.
4) Run “createDB.bat”, this will reset and create a Inventory Service database.
5) Run “is-change-sso.bat https://computername.domain.com:7444/lookupservice/sdk “[email protected]” “SSO_PASSWORD”. Change the computername.domain.com to your FQDN for your vCenter server, and change the SSO_PASSWORD to your Single Signon Admin password.
6) Start the “VMWare vCenter Inventory Service”. At this point, if you try to log on to the vSphere Web Client, it will error with: “Client is not authenticated to VMware Inventory Service”. We’ve already won half the battle.
7) We now need to register the vCenter Server with the newly reset Inventory Service. In an elevated Command Prompt (that we opened above), changed the working path to: “Program Files\VMware\Infrastructure\VirtualCenter Server\isregtool”.
8) Run “register-is.bat https://computername.domain.com:443/sdk https://computername.domain.com:10443 https://computername.domain.com:7444/lookupservice/sdk”. Change computername.domain.com to your FQDN for your vCenter server.
9) Restart the “VMware VirtualCenter Server” service. This will also restart the Management Web services.
BAM, it’s fixed! I went ahead and restarted the entire server that the vCenter server was running on. After this, all was good, and everything looked great inside of the vSphere Web Client. I’m actually noticing it’s running WAY faster, and isn’t as glitchy as it was before.
Happy Virtualizing! 🙂
[…] Original Link# http://www.stephenwagner.com/?p=765 […]
[…] http://www.stephenwagner.com/?p=765 […]
Awesome. This worked for me.
Excellent post! I was looking around for this all over. You were the only one found that wrote about fixing this issue on a windows install of VCenter.
Thanks,
Juan
all hosts and vm orphanded after this trick
Hi Joe,
With all the steps performed correctly that should not have happened. I messed up a couple times before writing the the post.
Can you confirm all proper credentials were used, and all commands were issued properly? Also did you restart the services afterwards?
Stephen
Great stuff! I had this error after reissuing certificates for InventoryService, SSO, WebClient..
Thanks Stephen!
Thank you for your post. Very helpfull.