Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a Hyper-V server. An application running in a virtual machine on this server checks hardware (processor, motherboard, etc.) in order to verify compliance with licensing requirements.

What would happen when the virtual machine is migrated to a different Hyper-V server, with different hardware? Will this application see the difference? Can an application detect such an issue when it is running on a Hyper-V virtual machine?

What if I set up a HyperV cluster, and this application's VM may move from one node to another on a routine basis?

share|improve this question
Can you be more specific about what the application specifically checks for? – Bigbio2002 Jan 19 '12 at 18:45

Hyper-V exposes some of the hardware to the VMs. Specifically the Processor will show. Also some things, like the Network Adapters, are configured to change their MAC addresses automatically when moved to a new host; you just need to configure a static MAC address for that issue. Same applies to a cluster.

Whether the software will pick up on these differences or not will depend on the software. In my experience, I've seen some applications that do and others that don't.

share|improve this answer

Assuming you have a valid support contract for the software concerned, I would speak to their support line.

Either that or mention exactly which software you are talking about so other users of this site can let you know if they have any knowledge of doing a p2v with your s/w.

share|improve this answer

Chris S's answer is a good one. There are a few aspects of a Hyper-V VM which will show characteristics of the physical hardware. In each case, though, it's possible to make the VM look very generic. You can configure a static MAC address. You can make the virtual processor hide all of the specific features that it supports.

With the Integration Components installed, you can look at the registry key which tells you what the host machine's name is. This might help you in what you're doing.

I suspect, though, that you can't do what you're attempting with much confidence.

share|improve this answer

Here's an article from Microsoft about different processor compatibility levels for VMs. You can safely move your VMs to a different host if its processor has at least the feature set from the one you're migrating from. I think SCVMM will check this out for you before the move. As others mentioned above though, there's also issues with the MAC address of you network adapter. Overall, there shouldn't be any problems as long as you keep those two things in mind.

share|improve this answer

Having read your question, It might be helpful if you discuss the context? Do you work for a company that publishes server software that is 'tied' to a computer as part of the licence process, and who is worried about licence compliance on virtual machines? Or are you a 'new to virtualisation' sysadmin who is trying to understand certain concepts?

In any case, I don't think there's a 100% reliable way of detecting that a virtual machine has been moved to a new host, no. By and large, the guests won't care what they run on, within some broad parameters. Part of the operation of virtualisation is that it abstracts away parts of the hardware layer from the guest operating system.

As for moving from one system to another, even if you decided to measure something like, say, processor type and speed, lots of places that set up multiple virtual hosts tend to buy groups of identical or at least similar machines to build virtual server 'farms'.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.