System Center Virtual Machine Manager (SCVMM) can be a bit less than helpful when describing reasons for failed operations.
Today I had one of my developers come to me, stating that he could not attach to his VM, nor could he ping it. Interesting, I thought. Sure enough, I could not ping it, either. A quick check of the SCVMM console shows that the machine state is Powered Off.
No big deal, I think. I right click the VM, and select Power On. It looks like it is starting, but then it fails. The only error that is visible is the below.
Error (12711)
VMM cannot complete the WMI operation on the server (machine name here) because of an error: [MSCluster_Resource.Name="machine name here"] The group or resource is not in the correct state to perform the requested operation.
The group or resource is not in the correct state to perform the requested operation (0x139F)
Recommended Action
Resolve the issue and then try the operation again.
Hmmmm. I know that the VM hasn’t been changed, hasn’t failed over, doesn’t have any snapshots (failed or otherwise). The repair option is not available. Why would the VM state be reporting as not correct. So I fire up the trusty Failover Cluster Manager, and attach to the cluster.
After attaching, I once again attempt to power on the VM via Failover Cluster Manager. The operation completely fails, as I expected, but this time with a completely different error:
'machine name here' failed to start.
'machine name here' could not initialize. (Virtual machine ID GUID here)
Not enough memory in the system to start the virtual machine machine name here with ram size 8192 megabytes. (Virtual machine ID GUID here)
Aha! Just the information I needed. I checked the resource utilization on the host the VM was currently homed on and found that indeed, the memory resources were maxed out. Using Failover Cluster Manager, I moved the problem VM to another cluster node, and I was able to start the VM with no problem.
Question is, why doesn’t SCVMM try this? If it won’t fit on the currently assigned cluster node, shouldn’t it automatically move to a host with enough resources ?