How to Load Balance Citrix Web Interface with NLB

0 Shares

Every Citrix Web Interface Server (WI) without any form of load balancing is a potential single point of failure in your environment. Network Load Balancing is available in both the Standard and Enterprise Editions of Windows 2008 so there shouldn’t be to many excuses for not implementing. This picture tutorial will take you through the process of creating a Network Load Balancing Cluster for your Citrix Web Interface Servers.

IP Address Overview :

winlb1.ctxlab.local    10.0.10.40
winlb2.ctxlab.local    10.0.10.41
nlb.ctxlab.local         10.0.10.42

Configure Citrix Web Interface :

  1. Assign static IP Address to both nodes in the NLB Cluster
  2. Install and create a Site on Citrix WI on Node A
  3. Install and create a Site on Citrix WI on Node B
  4. Customize, test and replicate WI Site from Node A to Node B
  5. RoboCopy c:\inetpub\wwwroot\Citrix \winlb2\c$\inetpub\wwwroot\Citrix /MIR

Configure Network Load Balancing :

0 Shares

Automation Framework Community Edition

The fastest way to build your lab environment.

Virtual Expo

Friday 30th of September 2022

26 thoughts on “How to Load Balance Citrix Web Interface with NLB”

  1. Check ‘Retain suspended state …’ to avoid a webserver kicking in after rebooting during controlled maintenance

    Reply
    • Thanks Tom, that’s correct, but this can easily be set in the Cluster Properties after if somebody missed it.

      Eric

      Reply
  2. Yes, but if you for example also are running CSG on the boxes, and are just ‘looking’ on these settings afterwards, you’ll end up disconnecting the CSG sessioms.
    That’s why its a good idea to set it up first, before we are getting user sessions in.
    Anyway, nice documented feature of the NLB setup.
    People are not always aware that this is available.

    Reply
    • Hi Joshua,

      When you have the WI working on node A and Node B separately, you should make a DNS entry e.g. nlb.ctxlab.local

      Eric

      Reply
  3. Well, i am on VMware virtual machine. I have tried with both unicast and multicast options but both fails. The two nodes in NLB can talk to each other in muticast mode but not any other clients. In unicast mode only one node in the NLB works not the other node. However, all the clients can talk to this one node.

    Reply
    • Hi,

      Seems like you have routing problems. I have seen this before and I fixed this by using 5 instead of 3 IP-addresses. Which means ProdA, NLBA, ProdB, NLBB and NLBCluster IP. Then I needed to set the GW on NLBA & NLBB Nic’s.

      For more information check out this resources :
      Configuring Network Load Balancing (NLB) on Windows 2008 for Exchange CAS Servers
      Emulating a Redirecting Load Balancer for WI and PNAgent

      Eric

      Reply
  4. I already have the 5 IP scenario in multicast mode but clients are not able to talk to NLB. Any client machine can talk to the NLB in unicast mode but the two nodes in the cluster are not able to talk to each other so I am not sure clients are talking to which node in the cluster.

    We are planning to do some switch reconfiguration next week and see if it helps.

    Reply
  5. For NLB to work on VMWare , you should have NLB in Multicast mode and ARP entry into router switch for the NLB IP. I have implemented this at many place and it works like a charm.

    Thanks,
    Vikash Kumar Roy

    Reply
  6. Some tips:

    When using VMWare, vmware will do a reverse ARP. You have to publish the MAC address of the cluster in the switches.

    Use IGMP Multicast, this is more efficient.

    Check the clustersettings for Affinety settings.
    If you are using, for example, the secure gateway also in NLB mode, be sure which host is talking to your NLB. If that’s a shared IP, the NLB mchanism will not work if your affinety settings is not right. Really check out your network design!

    Also keep in mind: NLB will only redirect NEW sessions to another host if one of the nodes fails! Exisiting session will not be reidrected! Also note that NLB only saves you from hostfailures, not application failures.

    Reply
    • Hi Suchith,

      If you use Round Robin this will fail every second time and the user experience would not be any good.

      Reply
      • Trond,
        I have experienced the round robin failure every second time issue as you mentioned. What is the recommended way to configure WI load balancing? Thanks, Dave G.

        Reply
        • Hi Dave,

          If you are only using Round Robin you will experience this. The best free solution is to use Microsoft Network Load Balancing (NLB) as described in the article above.

          Reply
    • Hi, what we’re discussing is this article is using Microsoft Load Balancing to provide DR/HA for our Citrix Web Interface Servers.

      Reply
  7. I see this setup discussed here in relation to VMware/vSphere and the resolution to that particular hypervisor. I am wondering if there is any solution to a similar setup based on Citrix XenServer.

    Reply
  8. Hello Trond Eirik Haavarstein,

    Your article is very good. i have a virtual setup on citrix xenserver and i have a same problem. i am not able to ping casarray virtual ip from other vm as well as from lan. all other settings are fine. i have made manually arp entry on my layer 3 switch but the problem is not resolved. i will be very appriciated if you can help me in this regards.

    thanking you,

    sincerly,

    Vasant Hadial

    Reply
  9. I was recently troubleshooting issues with our Windows NLB not working ideally with StoreFront. I found that Windows NLB is too slow to know when a server is offline, so it keeps sending traffic to the offline server and causes page load errors.

    To resolve this, I now use a simple PowerShell command that can be used during shutdown/reboot:
    Stop-NLBClusterNode -Drain

    Save that command to a .ps1 file on the host, then (on the host) open gpedit.msc -> Computer Config -> Windows Settings -> Scripts (Startup/Shutdown) -> Shutdown -> PowerShell Scripts

    Point it to the PowerShell script, apply, and test away. You may notice that it takes ~30 seconds longer to shutdown/restart Windows, that’s because it’s moving traffic away from the host. When the host boots back into Windows, it will automatically rejoin the cluster if the default state is ‘Started’.

    The fastest test will be rebooting your #1 host and seeing if you get any page load errors. You should be able to refresh NLB from another host and notice the ‘draining’ status of the #1 host during shutdown.

    Reply

Leave a Comment