Challenge
The Hyper-V topology is discovered correctly except for the Display Names of Virtual Machines, instead you can see only VM ID like in the screenshot below:Additionally, error events 3603 are logged in the OperationsManager event log on the Hyper-V server:
"VMDiscovery.js : 'vmid' is null or not an object error number: -2146823281"
Cause
The issue is caused by "ghost" roles for the affected VMs on the Failover Cluster Manager server or the VMM server. When our script discovers the VM names, it checks the VM list in the registry of the Cluster Manager or the VMM server at HKEY_LOCAL_MACHINE\Cluster\ResourcesThe behavior may manifest itself if a VM has been manually removed from inventory. By design, Hyper-V should be updating the registry appropriately. If this does not happen, the "ghost" VM has no VmID under "Parameters". Here are two examples of invalid configuration:
[HKEY_LOCAL_MACHINE\Cluster\Resources\8ad1692b-3d65-4716-8517-e8092c469af4]
"Name"="Name of VM Configuration"
"Type"="Virtual Machine Configuration"
"SeparateMonitor"=dword:00000000
[HKEY_LOCAL_MACHINE\Cluster\Resources\8ad1692b-3d65-4716-8517-e8092c469af4\Parameters]
"DependsOnSharedVolumes"=hex(7):61,00,62,00,63,00,33,00,36,00,33,00,32,00,63,\
00,2d,00,37,00,36,00,36,00,66,00,2d,00,34,00,38,00,61,00,62,00,2d,00,39,00,\
36,00,61,00,36,00,2d,00,37,00,35,00,62,00,61,00,63,00,65,00,63,00,65,00,34,\
00,63,00,32,00,38,00,00,00,00,00
or
[HKEY_LOCAL_MACHINE\Cluster\Resources\e27f0edb-66c2-4be0-a1c9-3a8545e6e15f]
"Name"="Name of VM"
"Type"="Virtual Machine"
"SeparateMonitor"=dword:00000000
[HKEY_LOCAL_MACHINE\Cluster\Resources\e27f0edb-66c2-4be0-a1c9-3a8545e6e15f\Parameters]
Solution
The workaround is to remove the Virtual Machines with missing VmID from the registry of the Failover Cluster Manager or the VMM server.More Information
There is a side effect to the suggested workaround: the failover will no longer work for the VMs that have been removed from registry.If you have any questions, please, contact Veeam Support.