Enable NLB in a Hyper-V Guest

If you work with Exchange 2007 or Terminal Services/Remote Desktop Services in any anger, you’ve probably had to use Network Load Balancing (NLB) to balance services. For example I use it for the Client Access and Hub Transport roles in Exchange 2007, and to balance requests across my Terminal Services (Remote Desktop) Gateway servers. However, when virtualising these services, I found that Hyper-V doesn’t always play nice with NLB.

Ok, first things first. The method differs between Hyper-V (the current release) and Hyper-V R2 (Microsoft’s future release, currently a Release Candidate). I’ll describe both here. Also please note this article assumes you’re also running Windows Server 2008 guests too; I don’t have any experience with earlier OS’s so your mileage may vary.

Hyper-V (Hyper-V Server 2008 and Windows Server 2008)

First up, you’ll need a hotfix from Microsoft. You can grab it here. Although the hotfix itself doesn’t require a reboot, one of the following steps will so be warned.

Once you’ve done this, build your NLB cluster as normal and as you go through, make sure you take a note of the Cluster IP MAC address when you get to the “Cluster Parameters” screen, after adding an IP address.

You’ll notice though that your cluster doesn’t converge. No worries! It’s meant to do that.

Now you’ll need to reboot your Hyper-V guest. So, shut it down (or, if you’re in a failover cluster, use Failover Cluster Manager to shut down the guest) and edit the settings of the Hyper-V Guest. You’ll need to change the MAC address of your guest from Dynamic (the default) to static, putting in the Cluster IP MAC address you noted earlier. You did note it down, right?

Hyper-V R2 (Hyper-V Server 2008 R2 and Windows Server 2008 R2)

With Hyper-V R2 things are a little easier – although contrary to Microsoft’s current documentation you’ll still need to reboot your guest OS. First up, unless your Guest OS is also R2, you’ll need to install the hotfix noted above. However, rather than having to note the cluster’s MAC address, you’ll simply need to change the Hyper-V guest settings to enable MAC Spoofing:

Please note that, although the documentation says that you can do this whilst the guest is online, I wasn’t able to do this – it required me shutting down the guest and changing the settings whilst it was off. Hopefully this will be changed in the RTM release!






This entry was posted on Monday, April 27th, 2009 at 11:08 am and is filed under Virtualisation. Find similar posts by selecting any of the following tags: , , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

1 Comment so far

  1. [...] 1. Enabling NLB on a VM Follow this procedure in case you need to enable NLB on a VM running under Hyper-V 2008. http://support.microsoft.com/kb/953828 Note that when your VM is running under Hyper-V 2008 R2, you will no longer need to specify a certain MAC. You will only need to check the option to “Enable MAC spoofing”. Follow this link for detailed steps: http://robwhitehouse.com/virtualisation/enable-nlb-in-a-hyper-v-guest/ [...]

Have your say

Fields in bold are required. Email addresses are never published or distributed.

Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URIs must be fully qualified (eg: http://www.domainname.com) and all tags must be properly closed.

Line breaks and paragraphs are automatically converted.

Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.






  1. Tags



  2. Recent Comments