Wednesday, October 28, 2009

Windows NLB on Hyper-V R2


Today I had the luxury of setting up a Unicast NLB on a couple of Windows 2008 servers (for Citrix Web Interface 5.2). The servers themselves are guest VMs running on Hyper-V R2. I noticed that when trying to create the NLB, it would not converge. The NLB wizard was erroring out, plus the entire NIC would go offline, losing its static IP association. I would also see Error 12289.


I mean, I've done NLBs plenty of times before... unicast or multicast... 2003 or 2008... really no difference... its not that hard, but it would not work!!! Arrrgggg!!! After bashing my head for a few minutes thinking I was insane, I did some digging.

I've done this on Physical Servers (check), VMWare ESX guests (check), and XenServer guests (check)... no issues. So I figured it was Hyper-V related... and viola! NLB creates a virtual MAC for the balanced servers to listen on, however the v-switch in Hyper-V does not allow it by default.

In R1, I found out, you had to statically assign the NLB MAC as the VM MAC. Luckily, in R2, they made this easier (along with a lot of other nice enhancements). In Hyper-V R2 / SCVMM R2, set the NIC of the VM to enable spoofing.

Once I set this, the NLB could properly configure, bind, and converge.

Of note: Although I could have left the MAC at dynamic, I chose to set both VMs to static, but inheriting their current MAC address. I'm just not a big fan of MACs changing. :-) Also, the VMs were OFFLINE when I made the changes through SCVMM console.

More reading:
check out Microsoft's John Howard's post on MAC spoofing.
You can also read Rob's Blog

No comments:

Post a Comment