Having moved a virtual machine (VM) from a Hyper-V cluster where network optimization was available, to a cluster where it isn’t I was unable to live migrate the VM because “There currently are no network adapters with network optimization available on host”.
As network optimizations aren’t available on the host cluster, the tick box to disable virtual switch optimizations isn’t available.
On the original Hyper-V cluster where network optimization is available you can see a check box to “Enable virtual switch optimizations”.
Luckily, PowerShell can help. Running the command below from the SCVMM PowerShell console lists the properties of the VM’s network adapter.
$VM = Get-SCVirtualMachine -Name “VMNAME”
Get-SCVirtualNetworkAdapter -VM $VM
VMNetworkOptimizationEnabled is set to true.
You can use PowerShell to disable VM Network Optimization.
$VM = Get-SCVirtualMachine -Name “VMNAME”
$Adapter = Get-SCVirtualNetworkAdapter -VM $VM
Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -EnableVMNetworkOptimization $false
You can now live migrate the VM.
Hi, how do i know my host got such optimization enable??
I’ve updated the article to show the check box to enable virtual switch optimizations.
thanks … honestly, still dont see what is the benefit of this network optimization….
Hey Richard,
Thanks for the post. That saved me a lot of time!
I’ve taken your code and put it into a simple loop to iterate through all VMs:
https://luisjohnstone.blogspot.com/2018/07/powershell-virtual-machine-manager.html
Keep up the great work 🙂