locked
Hyper-V live migration failed RRS feed

  • Question

  • There is Hyper-V cluster with 2 nodes. Windows Server 2012 R2 is used as operating system.

    Trying to live migrate test VM from node 1 to node 2 and get error 21502:

    Live migration of 'Virtual Machine test' failed.
    'Virtual Machine test' failed to fixup network settings. Verify VM settings and update them as necessary.

    VM has Network Adapter connected to Virtual switch. This vSwitch has Private network as connection type.

    If I set virtual switch property to "Not connected" in Network Adapter settings of VM I get successful migration.

    All VM's that are not connected to any private networks (virtual switches with private network connection type) can be live migrated without any issues.

    Is there any official reference related to Hyper-V live migration of VM's that have "private network" connection type?

    Friday, March 28, 2014 5:34 PM

Answers

  • What Udo said is 100% correct, but if you just want Live Migration to work, then you must create private switches on each node with the same name. They still won't be able to communicate while on disparate hosts.

    Eric Siron Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.
    "Every relationship you have is in worse shape than you think."

    • Proposed as answer by Alex Lv Tuesday, April 1, 2014 6:34 AM
    • Marked as answer by Alex Lv Wednesday, April 9, 2014 1:25 AM
    Friday, March 28, 2014 7:41 PM
  • Hi,

    Are all virtual switch names required to be the same to support live migration?

    Yes, you should make sure that all virtual switch names are the same across the entire cluster.

    You can refer more about the frequently asked Live migration question in the below KB:

    Hyper-V Live Migration FAQ

    http://technet.microsoft.com/pt-pt/library/ff715313(v=ws.10).aspx

    Hope this helps.

    • Edited by Alex Lv Tuesday, April 1, 2014 6:33 AM
    • Marked as answer by Alex Lv Wednesday, April 9, 2014 1:25 AM
    Tuesday, April 1, 2014 6:32 AM
  • Hi,

    Type of Virtual switch
    External - connectes to a physical or wireless adapter
    Internal - parent and virtual machine connections only
    Private - virtual machine connections only

    Hyper-V live migration means, moving a running VMs from one HOST to another HOST with no downtime to running applications. So in this scenario, private network will not work because Private virtual switch will communicate VMs within same HOST only not on different HOSTs. For the best practice, Create separate dedicated network for Live Migration.


    Best Regards, ----Naresh Man Maharjan,Nepal---- www.msserverpro.com

    • Marked as answer by Alex Lv Tuesday, October 21, 2014 6:24 AM
    Thursday, April 3, 2014 6:55 AM
  • I can Live Migrate virtual machines with adapters on private switches without error. Aside from having the wrong name, the only way I can get it to fail is if I make the switch on one host use a different QoS minimum mode than the other and enable QoS on the virtual adapter. Even then I get a different message than what you're getting. I only get that one with differently named switches.

    There is a PowerShell cmdlet available to see why a guest won't run on another host. Here's an example of its usage. There's a way to use it to get it to Live Migrate.

    But there is no way to truly Live Migrate three virtual machines in perfect lockstep. Even if you figure out whatever is preventing you from migrating these machines, there will still be periods during Live Migration where they can't communicate across that private network. You also can't guarantee that all these guests will always be running on the same host without preventing Live Migration in the first place. This is why there really isn't anyone doing what you're trying to do. I suggest you consider another isolation solution, like VLANs.


    Eric Siron Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.
    "Every relationship you have is in worse shape than you think."

    • Marked as answer by Alex Lv Wednesday, April 9, 2014 1:25 AM
    Sunday, April 6, 2014 3:43 PM

All replies

  • Internal and private network traffic is always limited to the physical host it occurs on. This does not change in a clustered environment because the virtual switch is not a clustered resource.

    http://technet.microsoft.com/en-us/library/gg610603.aspx

    "Type private and internal allow communication between virtual machines on the SAME  host "


    • Proposed as answer by Eric SironMVP Friday, March 28, 2014 7:41 PM
    Friday, March 28, 2014 6:58 PM
  • What Udo said is 100% correct, but if you just want Live Migration to work, then you must create private switches on each node with the same name. They still won't be able to communicate while on disparate hosts.

    Eric Siron Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.
    "Every relationship you have is in worse shape than you think."

    • Proposed as answer by Alex Lv Tuesday, April 1, 2014 6:34 AM
    • Marked as answer by Alex Lv Wednesday, April 9, 2014 1:25 AM
    Friday, March 28, 2014 7:41 PM
  • thx eric for the addon, live migration only looks for Switch with the same Name, even it makes no sense :-)

    Friday, March 28, 2014 9:06 PM
  • Hi,

    Are all virtual switch names required to be the same to support live migration?

    Yes, you should make sure that all virtual switch names are the same across the entire cluster.

    You can refer more about the frequently asked Live migration question in the below KB:

    Hyper-V Live Migration FAQ

    http://technet.microsoft.com/pt-pt/library/ff715313(v=ws.10).aspx

    Hope this helps.

    • Edited by Alex Lv Tuesday, April 1, 2014 6:33 AM
    • Marked as answer by Alex Lv Wednesday, April 9, 2014 1:25 AM
    Tuesday, April 1, 2014 6:32 AM
  • I didn't mention that private switches with the same name were already created.

    Issue is that Live migration doesn't work with private connected switches.

    Any ideas?

    Wednesday, April 2, 2014 12:54 PM
  • Hi,

    Type of Virtual switch
    External - connectes to a physical or wireless adapter
    Internal - parent and virtual machine connections only
    Private - virtual machine connections only

    Hyper-V live migration means, moving a running VMs from one HOST to another HOST with no downtime to running applications. So in this scenario, private network will not work because Private virtual switch will communicate VMs within same HOST only not on different HOSTs. For the best practice, Create separate dedicated network for Live Migration.


    Best Regards, ----Naresh Man Maharjan,Nepal---- www.msserverpro.com

    • Marked as answer by Alex Lv Tuesday, October 21, 2014 6:24 AM
    Thursday, April 3, 2014 6:55 AM
  • So I have for example 2 vm's connected to each other via Private switch. I will not be able to migrate both vm's to secondary hyper-v host?

    I think it is critical issue. What if I have following scenario:

    I have 1 app server, 1 sql server - they have private connection.

    Also I have 1 RRAS server with 2 nic's - one connected to private network, another nic is connected to external network.

    This is example of implementing simple DMZ for very critical application.

    Following your ideas (and my tests) I will not be able to make these servers high-available (I mean live migration all of these 3 servers to another hyper-v host at the same time). it is very simple scenario but it doesn't work. If think logically why not to fix it with next SP?

    Thursday, April 3, 2014 1:25 PM
  • I can Live Migrate virtual machines with adapters on private switches without error. Aside from having the wrong name, the only way I can get it to fail is if I make the switch on one host use a different QoS minimum mode than the other and enable QoS on the virtual adapter. Even then I get a different message than what you're getting. I only get that one with differently named switches.

    There is a PowerShell cmdlet available to see why a guest won't run on another host. Here's an example of its usage. There's a way to use it to get it to Live Migrate.

    But there is no way to truly Live Migrate three virtual machines in perfect lockstep. Even if you figure out whatever is preventing you from migrating these machines, there will still be periods during Live Migration where they can't communicate across that private network. You also can't guarantee that all these guests will always be running on the same host without preventing Live Migration in the first place. This is why there really isn't anyone doing what you're trying to do. I suggest you consider another isolation solution, like VLANs.


    Eric Siron Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.
    "Every relationship you have is in worse shape than you think."

    • Marked as answer by Alex Lv Wednesday, April 9, 2014 1:25 AM
    Sunday, April 6, 2014 3:43 PM
  • It doesn't work. Tried with multiple clusters. VM can't be migrated with Private switch attached. I mentioned that the same switch name is used on all cluster nodes. It is not my particular case because I tried it on dev with cluster that I created from a scratch. Prod doesn't work as well.
    Tuesday, October 21, 2014 11:25 AM
  • Try Move-VM.


    Eric Siron
    Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.

    Tuesday, October 21, 2014 2:10 PM
  • It works either from command line or Hyper-V manager. It doesn't work in Failover Cluster Manager. Try to migrate VM with private switch using FCM. Does it work?
    Tuesday, October 21, 2014 5:43 PM
  • Apparently they changed the behavior of FCM. I don't use GUI tools much anymore and it's been even longer since I attempted something like this so I don't know when this change occurred. But, if you've got some use case for this, you now know how you can do it.


    Eric Siron
    Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.

    Tuesday, October 21, 2014 5:50 PM
  • Yes I agree but there is another issue. It looks like SCVMM also get the same error. Anyway thank you for your time.
    Wednesday, October 22, 2014 11:03 AM
  • I have a 2 node cluster using Server 2012 R2.  When I have VMs with private network switches I can Quick Migrate them but not Live Migrate them. The switches on both hosts have the exact same name. If I switch the VMs to an external network switch they will Live Migrate. Why can it Quick Migrate, but not Live Migrate with the private network switch?
    Friday, April 3, 2015 8:28 PM
  • Why making your live so complicated, use a normal external vSwitch and type in a VLAN ID which is not in use and everything works like expected
    Friday, April 3, 2015 10:26 PM
  • Using the VLAN ID works!  However, I'd still like to understand why I could Quick Migrate using an Internal NIC, but not Live Migrate.

    Thanks,

    Bruce

    Monday, April 6, 2015 9:24 PM
  • You can if you use PowerShell. Failover Cluster Manager has nanny-protections built in that stop it.

    Eric Siron
    Altaro Hyper-V Blog
    I am an independent blog contributor, not an Altaro employee. I am solely responsible for the content of my posts.

    Monday, April 6, 2015 9:42 PM