vSphere Client direct to host show virtual machine(s) as unknown.
The vSphere Client connected to vCenter Server shows virtual machine(s) as invalid.
No errors on storage or on vmkwarning.
All the virtual machines on the host are functional and responding.
To resolve this issue:
1. Log in to the VMware ESX/ESXi host as the root user.
2. To list all running virtual machines and their corresponding VMIDs, run these commands:
#vim-cmd vmsvc/getallvms
#cdto /etc/vmware/hostd/
3. Make a copy of vmInventory.xml file by running this command:
#cp vmInventory.xml vmInventory.xml.bak
4. Stop the vpxa and hostd services by running these commands:
#/etc/init.d/vpxa stop
#/etc/init.d/hostd stop
5. Rename the vmInventory.xml file by running this command:
Note: This action unregisters all virtual machines from the host.
#mv vmInventory.xml vmInventory_xml.bak
6. Start the vpxa and hostd services by running these commands:
#/etc/init.d/vpxa start
#/etc/init.d/hostd start
7. Log in to vSphere Client and verify that the virtual machine Inventory is now displayed as blank.
8. Use this command to register every virtual machine back to Inventory on the host:
#vim-cmd solo/registervmfull_path_of_VMX
9. For Example: # vim-cmd solo/registervm /vmfs/volumes/datastore_name/VM_directory/VM_name.vmx