In my colleague’s VMware environment today, when he was initiated the live VM migration to different host he got an error as “PBM error occured during PreMigrateCheckCallBack:Invalid response code: 503 service unavailable” as mentioned in the below screenshot and I got a chance to have a look into it.

When i looked into the error (503 Service unavailable), I got a clue that the vMotion is waiting for some service to be in running state to initiate the process. But how to identify that which service is not running?

I tried to check any migration logs are captured in the vpxd.log (D:\ProgramData\VMware\vCenterServer\logs\vmware-vpx\vpxd.log), but could not find any logs captured, however i could able to see logs related the above error in the log file.

based on the log file, I tried to understand which service was not running, could not be able to. VMware KB article KB2118551 helped me to identify the actual service.

According to KB article, it was actually stating that “VMware vSphere profile-Driven Storage Service” should be running to avoid this error.

Then i logged into the vCenter server (in my case it was windows based vCenter), and opened services.msc console to check whether it’s running or not. It was not running.

I started the service, and initiated the VM migration, it worked !!! VM migration happened successfully.

Since, this service state was set automatic by default when we install vCenter sevice, it was supposed to be in running state, When I enquired about the same to my colleague, he said, during the some different troubleshooting scenario, vCenter service was started manually and it was missed to start the “VMware vSphere profile-Driven Storage Service“.

what is this service actually does? let’s understand now.

VMware vSphere profile-Driven Storage Service – This service feature was introduced with vSphere 5.0 which provides the control operations to the storage profiles. It helps administrator to properly deploy the VMs to the right storage by creating the storage profiles based on predefined storage levels, performance requirements and cost metrics. Duncan Epping from VMware explained deeply in his post here

So to avoid these kind of issues, if you are manually staring vCenter services (actually its not recommended) ensure to verify all the required services are up or not before you proceed into any configuration in the vCenter inventory.