Contents

Load Balancing TFTP with Netscaler 10.5

Website Visitors:
Contents

Implementing Citrix Provisioning Services (PVS) is very common nowaday when it’s about deploying Shared Desktops (XenApp) or Pooled, Private or Personal Desktops (XenDesktop). If there are still some debate around about using TFTP+PXE vs using BDM (Boot Device Manager) I still observe a large number of deployment made using TFTP+PXE rather than BDM. Both of these two solution have Pro and Cons (Check Wilco’s website here) and this is an architectural choice you need to plan ahead the project.

Using TFTP and PXE bring several spof along the line and need to be consider and design as the most resilient as the high availability require. TFTP is not redundant by design, using the DHCP 66 options (Boot Server Host Name) allow the use of only one IP address. and there is no redundance behind that. With Citrix Netscaler, Citrix gave us the ability to bring high availability to this spof and address this issue. With Netscaler previous version (prior 10.x) that wasn’t that easy to setup and the understanding of Netscaler feature like Layer 2 Mode, DSR etc… And if you didn’t understand exactly everything what you were doing, all the PVS traffic was going through the Netscaler and believe me, that was really pain in the ass… I saw that kind of mistake a number of time…

With Netscaler 10.1 then 10.5 things are a lot more easy… So I just jump on the occasion I had at one customer’s place to load balance 4 Citrix PVS servers (TFTP + PVS) to deliver this simple and fast how to.

Information you need to gather :

  • IP Adresses and name of all PVS servers (with TFTP)
  • One IP Adress for the Virtual Server (VIP)
  • One or more Netscaler 10.5 (I made this configuration with 10.5.51.10.nc)

Here is a basic architecture overview of component we are impacting :

  1. Netscaler #1 and #2 : This is were the configuration will take place
  2. PVS Servers #1, #2, #3 and #4 : All the PVS / PXE / TFTP servers we will use in this example
  3. DHCP Servers #1 and #2 : This is where we will configure the 66 option by using the Load Balanced IP Address (VIP)
  4. VMs : All these Virtual Machines will use PXE to boot get the Load Balanced TFTP address to launch the ARDBP32.bin file. 

https://www.mediafire.com/convkey/eaf2/n421zplmp6arnq07g.jpg

Let’s got for the Netscaler configuration, first you need to login, if you’re using a multi Netscaler architecture you need to connect on the Primary one.

https://www.mediafire.com/convkey/0590/ijfjub82j0t8pwp7g.jpg

In the Traffic Management / Load Balancing / Servers menu we will add the PVS servers (4 in my case)

https://www.mediafire.com/convkey/b258/h9hz9snzrn8jt6r7g.jpg

You can add PVS servers by clicking on Add at the top of the main windows and follow the next screenshot

https://www.mediafire.com/convkey/e096/kuvr8p5evs4dxuc7g.jpg

Enter the PVS server name and its IP Address and click on create, just do the same for every PVS server

Then in the Traffic Management / Load Balancing / Monitors we will add a TFTP monitor and to do so click on Add :

https://www.mediafire.com/convkey/49e0/aek1n0f7sakzmuy7g.jpg

And fill as follow :

https://www.mediafire.com/convkey/9123/wz8zea5d64x9bkj7g.jpg

Chose a name everyone can understand like tftp_LB-IPADDRESS_monitor and change the Type to USER. Don’t forget to put everything regarding time in second (I don’t know why value on the Netscaler I use were not set)

Once you’re done click on the Special Parameters tab :

https://www.mediafire.com/convkey/3486/d6ygrp2933cfmy27g.jpg

Chose nstftp.pl and click on create

In the Traffic Management / Load Balancing / Services we will add new Services. To do so, click on Add at the top of the main window

https://www.mediafire.com/convkey/6276/owdiw1uf9hnz34r7g.jpg

And fill as follow :

https://www.mediafire.com/convkey/70a4/v7oyj80ie9tomtx7g.jpg

Chose a name everyone can understand again and chose a PVS server using the Existing Server button list. Use the TFTP Protocol with the default network port (69). Click on Continue.

When the Service is created edit it and change the monitor bind by the one we created earlier :

https://www.mediafire.com/convkey/8480/cpdo8w11hlisjxp7g.jpg

https://www.mediafire.com/convkey/abbb/rkkrd3pi8szz9lb7g.jpg

https://www.mediafire.com/convkey/1048/zwuyw4414fu3itr7g.jpg

https://www.mediafire.com/convkey/17f9/tgg7in0jgamc84r7g.jpg

And click on Save

These steps need to be repeated for each PVS servers.

https://www.mediafire.com/convkey/fb37/9nfpzuniv9asfg27g.jpg

At last, go to the Traffic Management / Load Balancing / Virtual Servers and click on Add at the top of the main windows :

https://www.mediafire.com/convkey/290d/dkm5kvuclp7yo5g7g.jpg

and fill as follow :

https://www.mediafire.com/convkey/4490/dmegyn2v2pacsl87g.jpg

Using a cool name again, TFTP protocal and the Load Balanced IP Address you chose (VIP) the click on Continue and Edit the new Virtual Server to add Services :

https://www.mediafire.com/convkey/ea94/0xyrxr8x8zbvgzl7g.jpg

https://www.mediafire.com/convkey/ead2/df6pk5baldat4qa7g.jpg

https://www.mediafire.com/convkey/b4b1/zv2mh8hvnq9ez437g.jpg

Click on Save and Continue :

https://www.mediafire.com/convkey/c754/msl6i1sa4ye2bv97g.jpg

https://www.mediafire.com/convkey/12ad/83xu3mi4x5i9waw7g.jpg

To finish click on Done.

If everything is green as shown below, then you’re good to go and modify your DHCP with option 66 and Load Balanced IP Address.

https://www.mediafire.com/convkey/ba90/t3g1qzbckd31euo7g.jpg

Go to your DHCP server (in this case, DHCP is on my PVS server) and configure option 66 with the NetScaler TFTP LBVIP. Also of course configure option 67.

https://www.mediafire.com/convkey/d041/9hnre24qzek4vyn7g.jpg

Boot your target device. I won’t go into all that PVS config stuff..I’m going to assume if know what TFTP is in relation to PVS then you already know how to get to this point.

https://www.mediafire.com/convkey/b6b6/zqdahwx0mxjxgi27g.jpg

Posted in archy.net and adamgamble

Want to learn more on Citrix Automations and solutions???

Subscribe to get our latest content by email.

If you like our content, please support us by sponsoring on GitHub below: