Hyper-V Guest - Unidentified Network
-
As soon as I remove the virtual switch, NIC2 comes back online, and can be pinged from the network. It appears this issue is on the host level.
-
Is it a Broadcom NIC? Is the firmware up to date? There are issues that are now resolved with Broadcom NICs if you update the firmware, if not, (on the host) you'll need to go in to the advanced properties of the NIC and disable Virtual Machine Queues:
Set-NetAdapterAdvancedProperty NIC1 -DisplayName “Virtual Machine Queues” -DisplayValue Disabled
Set-NetAdapterAdvancedProperty NIC2 -DisplayName “Virtual Machine Queues” -DisplayValue Disabled
Set-NetAdapterAdvancedProperty NIC3 -DisplayName “Virtual Machine Queues” -DisplayValue Disabled
Set-NetAdapterAdvancedProperty NIC4 -DisplayName “Virtual Machine Queues” -DisplayValue DisabledIf the above is all good or doesn't apply to you, have you:
- Set up the 3-NIC team FIRST
- Assign a static IP to the team
- Create a vSwitch in Hyper-V Manager, select the team NIC, UN-CHECK "Allow management operating system to share this network adapter".
- Assign above vSwitch (in #3 above) as the "Virtual Switch:" in your virtual machine's settings. You can reassign a VM's vNIC while it's running.
-
Disabling VMQ is much simpler and should always be disabled with Broadcom NICs.
Get-NetAdapterVmq | Disable-NetAdapterVmq
-
VMQ has already been disabled. That was a standard when I loaded these boxes.
-
What was the last patch installed on the hypervisor?
-
@JaredBusch said in Hyper-V Guest - Unidentified Network:
Disabling VMQ is much simpler and should always be disabled with Broadcom NICs.
Get-NetAdapterVmq | Disable-NetAdapterVmq
Generally, you DO want to have VMQ enabled on your VM's Network Adapter, under Hardware Acceleration: "Enable virtual machine queue", and enabled on the HOST's network adapter. VMQ is not the issue. With VMQ enabled, you get even better performance (well, at least with 10gb speeds... probably not noticeable with 1gb). With VMQ disabled, the network load is on the Hosts CPU. VMQ off-loads it to the NIC, where it should be.
Where the problem lies, is with a select number of Broadcom NICs... specifically with the 57xx based chipsets. If you have one of the effected NICs, you should update the drivers, as it has now been resolved. If you can't update, then disable VMQ.
Here's the latest official Microsoft article regarding it:
-
I'm back to this problem. I moved the load from this server to another server so I could further investigate. I think I found the issue, but not a resolution.
In Device Manager, I still have two rogue entries:
Hyper-V Virtual Ethernet Adapter
Microsoft Hyper-V Network Switch Default MiniportBoth of these have the following error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
An object ID was not found in the file
In PS the Get-VMNetworkAdapter - ManagementOS and Get-VMSwitch both come back with no results, yet they are listed in Device Manager. I can disable them in DM, but it does not resolve the issue. DM does not let me remove them, and Remove-VMSwitch and Remove-VMNetworkAdapter have no effect.
Any ideas?
-
@pchiodo said in Hyper-V Guest - Unidentified Network:
I'm back to this problem. I moved the load from this server to another server so I could further investigate. I think I found the issue, but not a resolution.
In Device Manager, I still have two rogue entries:
Hyper-V Virtual Ethernet Adapter
Microsoft Hyper-V Network Switch Default MiniportBoth of these have the following error:
This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)
An object ID was not found in the file
In PS the Get-VMNetworkAdapter - ManagementOS and Get-VMSwitch both come back with no results, yet they are listed in Device Manager. I can disable them in DM, but it does not resolve the issue. DM does not let me remove them, and Remove-VMSwitch and Remove-VMNetworkAdapter have no effect.
Any ideas?
Reinstall Hyper-V Server. Something is hosed. Well I guess in your case it is Server 2012 DataCenter?
-
@JaredBusch That's really using a sledgehammer when a scalpel should be sufficient. I'd really like to find a resolution in case this comes up again. nuke and reload is a last resort IMHO.
-
@pchiodo said in Hyper-V Guest - Unidentified Network:
@JaredBusch That's really using a sledgehammer when a scalpel should be sufficient. I'd really like to find a resolution in case this comes up again. nuke and reload is a last resort IMHO.
Thanks for posting this - and while your hopefully found solution is a bit more useful considering that 2012 is still supported and sorta current, my wanting to fix my booting 2003 issue is along the same guise.
Sadly for both of us, it might not be worth the expense to our companies (in our time not working on other issues, if not in direct billing) versus just wiping and reinstalling.
-
@Dashrender I totally agree, and if this was a required production server, I'd be right on board. This particular server is not required for production, and I have moved its load to another Hyper-V server. Yes, I would like it back in the mix for load balancing and as a backup, but I still would like to take a little time to try and nail down the exact issue and solution before I just wipe it and reload.
-
@pchiodo said in Hyper-V Guest - Unidentified Network:
@Dashrender I totally agree, and if this was a required production server, I'd be right on board. This particular server is not required for production, and I have moved its load to another Hyper-V server. Yes, I would like it back in the mix for load balancing and as a backup, but I still would like to take a little time to try and nail down the exact issue and solution before I just wipe it and reload.
Right - but you missed the part about how this is possibly not beneficial to your company.
Like you, my 2003 server isn't in production either, I'm trying to make a CYA fully working/tested backup to put into the safety deposit box. Fixing the boot problem fully doesn't really help my company in any way since I have a usable solution for the boot issue. Fixing it takes me away from doing something of real value for my company, the same goes for you and solving this issue.
In the end, you and I both personally gain by having additional knowledge we didn't have before, but what we don't know is if that knowledge will have any outward value in the future. While your situation has a higher likeliness of having future value, people are still deploying Hyper-V 2012, and it's likely a very similar setup probably exists in Hyper-V 2016. My situation is completely different in that 2003 is old, does booting in a completely old manner - using P2V that's a mostly dead situation (very little P2Ving done anymore, most of it was already done), so I have very little chance of ever using this knowledge in the future.
-
@Dashrender said in Hyper-V Guest - Unidentified Network:
@pchiodo said in Hyper-V Guest - Unidentified Network:
@Dashrender I totally agree, and if this was a required production server, I'd be right on board. This particular server is not required for production, and I have moved its load to another Hyper-V server. Yes, I would like it back in the mix for load balancing and as a backup, but I still would like to take a little time to try and nail down the exact issue and solution before I just wipe it and reload.
Right - but you missed the part about how this is possibly not beneficial to your company.
Like you, my 2003 server isn't in production either, I'm trying to make a CYA fully working/tested backup to put into the safety deposit box. Fixing the boot problem fully doesn't really help my company in any way since I have a usable solution for the boot issue. Fixing it takes me away from doing something of real value for my company, the same goes for you and solving this issue.
In the end, you and I both personally gain by having additional knowledge we didn't have before, but what we don't know is if that knowledge will have any outward value in the future. While your situation has a higher likeliness of having future value, people are still deploying Hyper-V 2012, and it's likely a very similar setup probably exists in Hyper-V 2016. My situation is completely different in that 2003 is old, does booting in a completely old manner - using P2V that's a mostly dead situation (very little P2Ving done anymore, most of it was already done), so I have very little chance of ever using this knowledge in the future.
Agreed! In my particular case, I can see this happening again. We will likely not move off Server 2012 for the next 2-3 years depending on how fast our 3rd party apps adopt server 2016. This being the case, having a solution that takes minutes vs hours would be very valuable.
-
@pchiodo Your situation sounds similar to an issue I had a while back. I could not figure out what cause was but my workaround was to disable and then enable the network card in the VM. I use a schedule task to run at start up. Below is the script I use.
netsh interface set interface "Ethernet 2" DISABLED
netsh interface set interface "Ethernet 2" ENABLED -
Obviously use your Ethernet adapter's name
-
@syko24 said in Hyper-V Guest - Unidentified Network:
@pchiodo Your situation sounds similar to an issue I had a while back. I could not figure out what cause was but my workaround was to disable and then enable the network card in the VM. I use a schedule task to run at start up. Below is the script I use.
netsh interface set interface "Ethernet 2" DISABLED
netsh interface set interface "Ethernet 2" ENABLEDHe is not dealing at the VM level right now. He is on the host with no VM's
-
Sorry missed the part where you said you moved the VMs to another system.
Here is another possible solution. - http://www.wintips.org/fix-network-adapter-code-31-device-is-not-working-properly/
- Go into the registry (On the host) and export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network
- Delete the subkey Config if it exists
- If Config doesn't exist, look at the keys below Network and identify the rogue nics and delete the keys
- Go into device manager and try to uninstall the rogue nics
- Reboot
-
The solution to removing them and re-establishing the vSwitch and VM Adapters was to remove the Hyper-V Role and then reinstall the role.
Specifically the following steps:- Remove the network connections to the VMs
- Remove the vSwitch
- Dissolve the NIC Team
- Remove the Hyper-V Role
- Reboot
- Create new NIC Team
- Reinstall Hyper-V Role (Create vSwitch during role installation)
- Reboot
- Reattach the VMs and assign IPs if necessary
Everything appears to work as normal now. Unsure of what caused the issue, but may have been related to a hard shutdown caused by a power outage and failure of the backup generator.
-
-
@pchiodo said in Hyper-V Guest - Unidentified Network:
The solution to removing them and re-establishing the vSwitch and VM Adapters was to remove the Hyper-V Role and then reinstall the role.
Specifically the following steps:Where you using a Full server install that you added the role to? or are you actually able to remove the Hyper-V role from Hyper-V server 2012 (or whatever version you were on?)