• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Disclaimer & Policy

Elan Shudnow's Blog

MVP Logo
  • Azure
  • Exchange
  • Lync

Exchange 2007 Unicast NLB Issue on Hyper-V

September 12, 2008 by Elan Shudnow 10 Comments

I ran into an issue with Exchange 2007 Network Load Balancing (NLB) Unicast Mode when running on Hyper-V running on full install of Server 2008 x64.  To first understand the problem, it is useful to understand how NLB Unicast works.

When running Unicast, the NIC that has NLB enabled will have its’ MAC Address overwritten.  When you add a second NLB member to your NLB cluster, that new member’s NLB enabled NIC will have it’s MAC Address overwritten with the same MAC address as the other NLB enabled NIC.

Let’s take a look at our EXCAS1 server which contains both the Client Access Server and Hub Transport Server role.

As we can see, we have two NICs which are required when doing Unicast.  The reason you need two NICs is because, as stated, each NLB enabled NIC will have its’ MAC address overwritten and both NLB Node’s NLB enabled NICs will have the same MAC Address.  Because of this, we need a second NIC on each server so both NLB nodes can still communicate with each other.

Taking a look at our NLB NIC, we have a MAC Address of 00-15-5D-01-70-18.

How did we get this MAC Address?  Taking a look at our “Hyper-V Synthetic Network Adapter” in Hyper-V Manager, we can see we assigned our NLB NIC a dynamic MAC Address.

So let’s go ahead and enable NLB on our NLB enabled NIC.

After clicking OK, we can see that our MAC Address on our NLB NIC has changed from 00-15-5D-01-70-18 to 02-BF-CO-A8-01-FB.  Any other NLB nodes that are added to our NLB cluster will have its’ NLB enabled NIC’s MAC changed to 02-BF-C0-A8-01-FB as well.

Go into the Properties of our NLB and let’s go ahead and configure NLB.  And yes, my test lab’s domain is fark.com (will be changing back to shudnow.net once I get my new hardware and re-configure my lab environment).

The Cluster IP configuration is the IP configuration that will be used for our NLB IP.  They are not the IPs that are currently assigned to our existing NICs; although you will be adding this IP to your NLB NIC in just a bit.

On the Host Parameter’s tab, we’ll want to put in the IP Address that currently lives on the existing NLB NIC.

The Port rules are configured as such.  After configuring your port rules, Click OK to Continue.

We now have to add the Cluster IP to our NLB NIC.  This process will automatically be done for new nodes which join the NLB cluster.

Because we specified our host name for our Cluster NLB to be mail.fark.com, we will want to ensure a host record for mail.fark.com points to 192.168.1.251.

Now here’s where I ran into an issue with Hyper-V.  From our EXCAS1 server, we can ping mail.fark.com properly.

But from another machine (our DC), we cannot successfully ping mail.fark.com

Initially, I thought this may be the issue Andy Grognan ran into here.  But unfortunately, it was not.

I then tried to disable the NLB option.  I was then able to ping 192.168.1.251 which is still bound to the IPv4 settings of the NLB NIC.  This made me think it was an option with modifying the MAC Address.

I found out that a Hyper-V Synthetic Network Adapter does not allow you to dynamically modify the MAC address.  A legacy network adapter does, but a Hyper-V Legacy Network Adapter does but does not support x64.  This means we need to figure out a way to get this working with a Hyper-V Synthetic Network Adapter.

I shut down my EXCAS1 server and went into the properties of the Hyper-V Synthetic Network Adapter that was used for NLB.  I took note of the newer NLB MAC Address and modified the Hyper-V network settings to have a Static MAC Address of 02-BF-C0-A8-01-FB.

I booted my EXCAS1 server back up and went back on my DC1 server and tested a ping to mail.fark.com.  It worked!

And to test from our DC1 to our web browser to ensure OWA works through our NLB  hostname?  That works too!

Share this:

  • Twitter
  • LinkedIn
  • Reddit

Filed Under: Exchange Tagged With: Exchange, Hyper-V, NLB

Reader Interactions

Comments

  1. zara says

    April 5, 2013 at 4:50 am

    Your blog post is really informative for me. I think I have read the same kind of information somewhere else but in different manner. Thanks and keep posting new things

    Reply
  2. Kenny says

    February 9, 2011 at 5:30 am

    Nice post! I am spoofing the MAC address as have two NLB VM's on one host as was wandering if the spoofing technique was only applied on the NLB NIC's (which I guess is the right answer!) or to the Public NIC's, or both?

    Reply
  3. Per Elmsäter says

    January 26, 2010 at 6:08 pm

    Thanks a lot. Really did the trick.

    Reply
  4. matthew trotter says

    December 2, 2009 at 7:30 pm

    Had the same issue, however enabling NLB didn't overwrite the virtual machine MAC, it remained the same as it was specified on the host in Hyper-V. I created the cluster anyways, copied the mac down from the cluster parameters in NLB manager and then turned both nodes off and updated the MAC in Hyper-V with the MAC from NLB manager. Worked.

    I should mention I was using Windows 2008 Enterprise R2 guest OSes and Exchange 2010 on Window 2008 Datacenter SP2 Virtual Hosts.

    Reply
  5. Pablo says

    June 29, 2009 at 9:27 am

    Very nice topic!

    Reply
  6. Elan Shudnow says

    April 3, 2009 at 2:40 pm

    I was only using 1 VM for the NLB. I never added the second but it’s very simple to do so. MSExchange.org and Andy Grogan’s site both have excellent NLB walkthroughs.

    http://telnetport25.wordpress.com/2008/03/24/quick-tip-configuring-network-load-balancing-nlb-on-windows-2008-for-exchange-cas-servers/
    http://www.msexchange.org/articles_tutorials/exchange-server-2007/high-availability-recovery/load-balancing-exchange-2007-client-access-servers-windows-network-technology-part1.html

    Reply
  7. bluegween says

    April 1, 2009 at 9:26 pm

    hi there! nice post!

    im learning NLB for a project, can you help me out with the lab environment
    how many VMs did you use and whats the setup?

    thanks!

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

  • LinkedIn
  • RSS
  • Twitter
  • YouTube

More to See

Azure Event Grid and Serverless PowerShell Functions – Part 1

March 16, 2020 By Elan Shudnow

Retrieving Activity Log Data from Azure Log Analytics – Part 3

March 6, 2020 By Elan Shudnow

Retrieving Activity Log Data from Azure Log Analytics – Part 2

March 6, 2020 By Elan Shudnow

Retrieving Activity Log Data from Azure Log Analytics – Part 1

March 5, 2020 By Elan Shudnow

Tags

ACR Always Encrypted Ansible Azure Azure AD Connect Azure Application Gateway Azure Disk Encryption Azure Firewall Azure Key Vault Azure Load Balancer Azure Monitor Azure Web App Backup Exec CCR CDN DevOps Docker DPM Event Grid Exchange Exchange 2010 Exchange Online Forefront Function App Hyper-V ISA iSCSI Log Analytics Logic App Lync Management Groups NLB OCS Office Office 365 Personal PowerShell RBAC SCOM SQL Storage Accounts Symantec Virtual Machines Windows Server 2008 Windows Server 2008 R2

Footer

About Me

Chicagoland consultant focused on Azure IaaS, PaaS, DevOps, Ansible, Terraform, ARM and Powershell.

Previously a 6x Microsoft MVP in Exchange Server then Lync Server.

My hobbies include watching sports (Baseball, Football and Hockey) and participating in my 14 year old Stepson’s sports.

Recent

  • Azure Event Grid and Serverless PowerShell Functions – Part 2
  • Azure Event Grid and Serverless PowerShell Functions – Part 1
  • Retrieving Activity Log Data from Azure Log Analytics – Part 3
  • Retrieving Activity Log Data from Azure Log Analytics – Part 2
  • Retrieving Activity Log Data from Azure Log Analytics – Part 1

Search

Tags

ACR Always Encrypted Ansible Azure Azure AD Connect Azure Application Gateway Azure Disk Encryption Azure Firewall Azure Key Vault Azure Load Balancer Azure Monitor Azure Web App Backup Exec CCR CDN DevOps Docker DPM Event Grid Exchange Exchange 2010 Exchange Online Forefront Function App Hyper-V ISA iSCSI Log Analytics Logic App Lync Management Groups NLB OCS Office Office 365 Personal PowerShell RBAC SCOM SQL Storage Accounts Symantec Virtual Machines Windows Server 2008 Windows Server 2008 R2

Copyright © 2021 · Magazine Pro on Genesis Framework · WordPress · Log in