The peculiarites of System Center Virtual Machine Manager

SCVMM is one of my favorite tools I can’t get around with too well but also can’t get around without it. The biggest flaw is probably its inability go give you even the slightest hint in which direction to look when jobs fail.

Like for example this one… Start Maintenance Mode failed because no suitable host is available

Error (10434)
No suitable host is available for migrating the existing highly available virtual machines.

No suitable host available

The recommended action tells you to improve host ratings, which of course take into account many different attributes and where one of them is the culprit. In this particular case it was the network configuration which needs to be identically configured on every Node within a Hyper-V cluster in order to be able to live migrate VMs back and forth.

Maybe you’ve already wondered what this Network Location drop-down box is for in the properties of VMs.

Well, it’s actually a criteria you can set for automatic placement on hosts when deploying new VMs from templates. If specified VMM would automatically chose which virtual switch and so physical NIC the VM gets connected to the outside world.

The thing is, these network locations are pre-populated via the network location awareness service of the host and manifest themselves as domain names its NICs are connected to. Now if you follow (Microsoft’s) best practices about separating several NICs to its own dedicated networks, you only end up with 1 connection the location awareness services is able to place, the host’s management NIC on your domain network (let’s say microtom.net). Cluster, live-migration, CSV, and maybe even iSCSI networks are all on private loops with usually no possibility of naming via DNS. Moreover the host doesn’t even have access to the NIC that has been dedicated to to VM network traffic and so has no chance to determine it’s location.

Now, if for some reason VMs were to get their Network Location property set to a domain name (microtom.net is actually selectable from the drop-down), nothing bad would happen at first. Well, you do get warnings about unsupported network configurations and host placement ratings missing when manually live-migrating VMs. Yes, that still works.

But when you don’t think anymore about it you will be gifted with the error in the beginning of the post as soon as you put a Hyper-V node with such a VM into maintenance mode. The reason live-migration doesn’t work anymore is that maintenance mode relies on host ratings to re-distribute the load to other cluster nodes. So the solution here is to get rid of all Network Location properties in your VMs.

Well, another possibility of course is to leverage this feature. But you’d have to do some preparations first by overriding and manually setting the Network Locations of all your host’s virtual switch NICs. You can find this setting in the properties of each cluster host in VMM on the hardware tab and the corresponding NIC as seen in this last screenshot.

Tick the override box and enter any location name you wish. It will be selectable in the properties of VMs afterwards.

By the way, a similar feature but purely manual is the Network Tag. It can be set an each virtual switch of the host on the very same dialog but on the Networking tab.

On further notice: Microsoft has seemed to figured out this feature has its trade offs and it looks like they left it away for SCVMM 2012 since I cannot find it anywhere in RC1. On the other hand, you do indeed get much more powerful possibilities concerning network and fabric management in the next installment of Virtual Machine Manager.

Leave a Reply