Here is my setup:
HyperV VM 1: Server 2008 R2 + Microsoft Network Load Balancer (NLB) + MySQL + IIS 3 NICs- LAN1 - Management 192.168.1.1 LAN2 - Web 192.168.1.2 LAN3 - SQL 192.168.1.3 HyperV VM 2: Server 2008 R2 + Microsoft Network Load Balancer (NLB) + MySQL + IIS 3 NICs- LAN1 - Management 192.168.1.4 LAN2 - Web 192.168.1.5 LAN3 - SQL 192.168.1.6
LAN2 and LAN3 are both setup with NLB so that LAN2 on each is tied to 192.168.1.7 for port 80. LAN3 and LAN3 are both setup with NLB to that LAN3 on each is tied to 192.168.1.8 for port 3306
I have setup the 192.168.1.7 to balance the load equally and 192.168.1.8 to default to VM1 and failover to VM2 if VM1 fails.
When accessing with 192.168.1.7 or 192.168.1.8 from a third party machine behavior works as it should according to the NLB rules.
However here is my problem. When I tired to access 192.168.1.7 or 192.168.1.8 from one of the VMs they only talk to their respective interface tied to NLB.
Ex. Browser on VM2 that talks to mysql (192.168.1.8) will only talk to mysql on VM2 when calling 192.168.1.8 even though 192.168.1.8 is set to go to VM1 unless VM1 is unavailable.
I imagine this has something to do with the fact that on each VM, LAN3 has it's own IP and the shared IP, and it goes to the nearest one, whereas a client outside the VM's asks which it should go to.
Any thoughts on how to make this work as it should?