Skip to main content

NetScaler 10 Load Balancing Web Servers

By June 14, 2013September 12th, 2022No Comments

I think it is always easier to demonstrate some of the Citrix NetScaler features early on. Now that we have configured the NSIP, NetScaler IP and the MIP, Mapped IP and added licenses to the NetScaler appliance we can now show features. We could also spend more time in the initial configuration such as delegating rights to users in LDAP and much more,  but often, like me people are impatient so it is easy to show something simple like load balancing at this stage so we have some idea of what NetScaler can do.

For the demonstration  I have two web servers configured on the addresses and These are on the same network as the MIP we assigned to the NetScaler These addresses often would represent private address ranges on your secure network. We will assign a single IP address to the NetScaler and the appliance then will load balance incoming HTTP requests across the two web servers.

Enable Load Balancing Feature

Load Balancing is included with the Standard Edition of NetScaler and NetScaler Express, the free Licenses for the VPX, so long as you have a valid license installed then you will be able to use the load balancing feature. The feature though will need to enabled. This can be done through the GUI or from the command line. Where possible we use the CLI, command line interface, as it tends to be quicker and and easier to demonstrate in the videos.

enable feature LB
show feature | grep LB

If we are not sure on the feature name to enable then use the show feaure command first and review the output

With load balancing now enabled we can move onto creating the necessary elements to load balance

Three Elements of Load Balancing

1. Create entries for backend servers : First we need to create entries for the backend servers that we will be load balanicing across. We have two web servers on our private network so we will crate records for them first.

add server www1
add server www2
show server

2. Now we need to create entries for the services to load balance: With the servers created we now need to create records for the services, in this case HTTP and the servers they are linked to

add service w1-web www1 HTTP 80
add service w2-web www2 HTTP 80 
show service

3. Finally, we create the virtual; server for load balancing: The virtual server will be assigned an IP Address, often this would be a public address and the DNS record for the website would point to this address. The load balancing method can be Round Robin as in the entry, valid entries include LEASTCONNECTION, LEASTRESPONSETIME, URLHASH, DOMAINHASH. The default is LEASTCONNECTION.

add lb vserver lbvswww HTTP 80 -lbmethod ROUNDROBIN
show vserver lbvswww

Part of the output of the show vserver command will show the  current state of the laod balanced services, this way we can check which services are available to load balance across

Now when we access the virtual server with the a web browser, are connection will be assigned to each server in turn as set with ROUNDROBIN. The DNS record for the website that we need to access shold be pointing to this address, the address of the vserver and not the individual web server records.