I migrated a working Hyper-V guest server from one physical server to another by stopping the machine, copying the files manually, then importing by "registering in place".
The import completed and the newly registered machine booted fine on the new physical server.
But the newly moved machine cannot ping anything on the physical network except the host. And nothing on the physical network can ping the newly registered machine.
Yet I know the newly built physical server is accessible on the LAN as I can ping it from another machine on the LAN.
And I know the host and guest should be equally accessible from the LAN, that is to say, if one is accessible then the other certainly should be, because I made the setting in Hyper-V Virtual Network to share the "external" type virtual network with the host machine.
Firewall. I've temporarily disabled firewall on all machines mentioned, the new and old physical servers, the virtual (guest), and the remote machine on the network I'm using to test ping connectivity. I've disabled Windows firewall for all profiles on all machines mentioned!
VLANS. There aren't any. Not on the switches, not on the servers.
All hosts and guests are running Windows Server 2012 R2.
Further steps taken:
Throughout all of the below steps, I regularly checked to ensure newly created virtual NIC on new physical server has correct IP address, as did virtual NIC on guest.
- removed and re-added from scratch the virtual network on new physical server
- toggled the setting "share this connection with the host machine" in Virtual Switch settings.
- removed and re-added from scratch the guest's NIC from the Hyper-V setting and set its static IP address back to original (being careful to define the default gateway and furthermore remove the old hidden network device in guest OS Device Manager)
- repeat the above and use a "legacy network adapter" instead of the standard one
- tested by importing another virtual server due for migration. This time it's a Gen 2 Hyper V guest, as opposed to Gen 1 which I have been working on. No change: the same situation. Host and guest can talk, host and LAN can talk, guest and LAN can not talk!
- verified new Hyper-V configuration exactly mirrors old server's. Every check box in every screen double checked
- always ping IP address not hostname, to rule out DNS
- deleted stale arp records from client used to ping test from LAN
- rebooted physical and virtual repeatedly
- disabled and re-enabled virtual NIC on guest (despite also recreating virtual NIC as above)
Perhaps someone might enlighten me as to which one of the virtualisation gods I have royally enraged today, and how I might make things better?